diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..db41433ec --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,197 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in library 'gl_bindings'", + "cargo": { + "args": [ + "test", + "--no-run", + "--lib", + "--package=gl-bindings" + ], + "filter": { + "name": "gl_bindings", + "kind": "lib" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in library 'canvas_core'", + "cargo": { + "args": [ + "test", + "--no-run", + "--lib", + "--package=canvas-core" + ], + "filter": { + "name": "canvas_core", + "kind": "lib" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in library 'canvas_2d'", + "cargo": { + "args": [ + "test", + "--no-run", + "--lib", + "--package=canvas-2d" + ], + "filter": { + "name": "canvas_2d", + "kind": "lib" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in library 'canvas_webgl'", + "cargo": { + "args": [ + "test", + "--no-run", + "--lib", + "--package=canvas-webgl" + ], + "filter": { + "name": "canvas_webgl", + "kind": "lib" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in library 'canvas_c'", + "cargo": { + "args": [ + "test", + "--no-run", + "--lib", + "--package=canvas-c" + ], + "filter": { + "name": "canvas_c", + "kind": "lib" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in library 'canvasnative'", + "cargo": { + "args": [ + "test", + "--no-run", + "--lib", + "--package=canvas-ios" + ], + "filter": { + "name": "canvasnative", + "kind": "lib" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug executable 'playground'", + "cargo": { + "args": [ + "build", + "--bin=playground", + "--package=playground" + ], + "filter": { + "name": "playground", + "kind": "bin" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in executable 'playground'", + "cargo": { + "args": [ + "test", + "--no-run", + "--bin=playground", + "--package=playground" + ], + "filter": { + "name": "playground", + "kind": "bin" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in library 'canvas_cxx'", + "cargo": { + "args": [ + "test", + "--no-run", + "--lib", + "--package=canvas-cxx" + ], + "filter": { + "name": "canvas_cxx", + "kind": "lib" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in library 'canvassvg'", + "cargo": { + "args": [ + "test", + "--no-run", + "--lib", + "--package=canvas-svg" + ], + "filter": { + "name": "canvassvg", + "kind": "lib" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + } + ] +} \ No newline at end of file diff --git a/crates/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvas.rs b/crates/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvas.rs index 8918f93f3..6ca3549c2 100644 --- a/crates/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvas.rs +++ b/crates/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvas.rs @@ -1,5 +1,6 @@ use std::ffi::c_void; +use canvas_c::webgpu::gpu::CanvasWebGPUInstance; use jni::objects::{JClass, JObject}; use jni::sys::{jboolean, jfloat, jint, jlong, jobject, JNI_FALSE, JNI_TRUE}; use jni::JNIEnv; @@ -18,6 +19,33 @@ pub(crate) struct AndroidGLContext { android_window: Option, } +#[no_mangle] +pub extern "system" fn nativeInitWebGPU( + mut env: JNIEnv, + _: JClass, + instance: jlong, + surface: jobject, + width: jint, + height: jint, +) -> jlong { + unsafe { + let interface = env.get_native_interface(); + if let Some(window) = NativeWindow::from_surface(interface, surface) { + let ptr = window.ptr().as_ptr(); + let instance: *mut CanvasWebGPUInstance = instance as _; + let ret = canvas_c::webgpu::gpu_canvas_context::canvas_native_webgpu_context_create( + instance, + ptr as *mut c_void, + width as u32, + height as u32, + ); + + return ret as jlong; + } + } + 0 +} + #[no_mangle] pub extern "system" fn nativeInitGL( mut env: JNIEnv, diff --git a/crates/canvas-android/src/lib.rs b/crates/canvas-android/src/lib.rs index 78877789a..c1dc7f489 100644 --- a/crates/canvas-android/src/lib.rs +++ b/crates/canvas-android/src/lib.rs @@ -27,7 +27,7 @@ use crate::jni_compat::org_nativescript_canvas_NSCCanvas::{ nativeReleaseGLNormal, nativeReleaseGLPointer, nativeReleaseGLPointerNormal, nativeUpdate2DSurface, nativeUpdate2DSurfaceNoSurface, nativeUpdate2DSurfaceNoSurfaceNormal, nativeUpdateGLNoSurface, nativeUpdateGLNoSurfaceNormal, nativeUpdateGLSurface, - nativeWebGLC2DRender, nativeWriteCurrentGLContextToBitmap, + nativeWebGLC2DRender, nativeWriteCurrentGLContextToBitmap, nativeInitWebGPU }; use crate::jni_compat::org_nativescript_canvas_NSCCanvasRenderingContext2D::{ nativeCreatePattern, nativeDrawAtlasWithBitmap, nativeDrawImageDxDyDwDhWithAsset, @@ -102,6 +102,7 @@ pub extern "system" fn JNI_OnLoad(vm: JavaVM, _reserved: *const c_void) -> jint "nativeContext2DPathTest", "nativeContext2DRender", "nativeWebGLC2DRender", + "nativeInitWebGPU" ]; let canvas_signatures = if ret >= ANDROID_O { @@ -126,6 +127,7 @@ pub extern "system" fn JNI_OnLoad(vm: JavaVM, _reserved: *const c_void) -> jint "(J)V", "(J)V", "(JJII)V", + "(JLandroid/view/Surface;II)J", ] } else { [ @@ -149,6 +151,7 @@ pub extern "system" fn JNI_OnLoad(vm: JavaVM, _reserved: *const c_void) -> jint "!(J)V", "!(J)V", "!(JJII)V", + "!(JLandroid/view/Surface;II)J", ] }; @@ -174,6 +177,7 @@ pub extern "system" fn JNI_OnLoad(vm: JavaVM, _reserved: *const c_void) -> jint nativeContext2DPathTest as *mut c_void, nativeContext2DRender as *mut c_void, nativeWebGLC2DRender as *mut c_void, + nativeInitWebGPU as *mut c_void, ] } else { [ @@ -197,6 +201,7 @@ pub extern "system" fn JNI_OnLoad(vm: JavaVM, _reserved: *const c_void) -> jint nativeContext2DPathTestNormal as *mut c_void, nativeContext2DRender as *mut c_void, nativeWebGLC2DRender as *mut c_void, + nativeInitWebGPU as *mut c_void, ] }; diff --git a/crates/canvas-c/Cargo.toml b/crates/canvas-c/Cargo.toml index 7afb98d25..7f1a7eb6f 100644 --- a/crates/canvas-c/Cargo.toml +++ b/crates/canvas-c/Cargo.toml @@ -16,15 +16,20 @@ parking_lot = "0.12.0" ureq = { version = "2.9.6", features = ["gzip"] } bytes = "1.5.0" log = { version = "0.4.20"} -wgpu-core = {version = "0.21.0", features = ["wgsl", "metal"]} wgpu-types = "0.20.0" futures = "0.3" -raw-window-handle = "0.5.2" +raw-window-handle = "0.6.2" -[target.'cfg(target_vendor="apple")'.dependencies] -display-link = "0.2.0" +[target.'cfg(target_os="ios")'.dependencies] +display-link = {version = "0.2.0"} +wgpu-core = {version = "0.21.0", features = ["wgsl", "metal","raw-window-handle"]} +# [target.'cfg(target_os="macos")'.dependencies] +# display-link = { git = "https://github.com/servo/display-link", branch = "no-transmute" } +# wgpu-core = {version = "0.21.0", features = ["wgsl", "metal","raw-window-handle"]} + [target.'cfg(target_os="android")'.dependencies] ndk = { version = "0.7.0", features = ["bitmap"] } -once_cell = "1.14.0" \ No newline at end of file +once_cell = "1.14.0" +wgpu-core = {version = "0.21.0", features = ["wgsl","vulkan","raw-window-handle"]} \ No newline at end of file diff --git a/crates/canvas-c/cbindgen.toml b/crates/canvas-c/cbindgen.toml index c17c72762..a93e0e211 100644 --- a/crates/canvas-c/cbindgen.toml +++ b/crates/canvas-c/cbindgen.toml @@ -15,9 +15,12 @@ crates = ["wgpu_types"] [export] include = ["GLConstants", "InvalidateState","CanvasGPUTextureFormat"] exclude = ["AChoreographer", "AChoreographer_frameCallback", "AChoreographer_frameCallback64", "AChoreographer_getInstance", "AChoreographer_postFrameCallback", "AChoreographer_postFrameCallbackDelayed", "AChoreographer_postFrameCallback64", "AChoreographer_postFrameCallbackDelayed64"] - +mangle.remove_underscores = true [defines] "target_os = ios" = "TARGET_OS_IOS" "target_os = macos" = "TARGET_OS_MACOS" -"target_os = android" = "TARGET_OS_ANDROID" \ No newline at end of file +"target_os = android" = "TARGET_OS_ANDROID" + +[enum] +prefix_with_name = true \ No newline at end of file diff --git a/crates/canvas-c/src/impl_test.rs b/crates/canvas-c/src/impl_test.rs index b9ac0903b..75054a91a 100644 --- a/crates/canvas-c/src/impl_test.rs +++ b/crates/canvas-c/src/impl_test.rs @@ -78,7 +78,7 @@ pub fn draw_image_space_test( crate::canvas_native_webgl_active_texture(gl_bindings::TEXTURE0, state); crate::canvas_native_webgl_bind_texture(gl_bindings::TEXTURE_2D, texture, state); crate::canvas_native_webgl_pixel_storei( - crate::GLConstants::UNPACK_FLIP_Y_WEBGL as u32, + crate::GLConstants::UnPackFlipYWebGL as u32, 0, state, ); diff --git a/crates/canvas-c/src/lib.rs b/crates/canvas-c/src/lib.rs index 6713ed365..ab1f6b158 100644 --- a/crates/canvas-c/src/lib.rs +++ b/crates/canvas-c/src/lib.rs @@ -116,67 +116,67 @@ pub struct Raf(raf::Raf); #[derive(Copy, Clone, Debug, PartialOrd, PartialEq)] #[repr(C)] pub enum GLConstants { - UNPACK_FLIP_Y_WEBGL = 0x9240, - UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241, - UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243, + UnPackFlipYWebGL = 0x9240, + UnpackPremultiplyAlphaWebGL = 0x9241, + UnpackColorSpaceConversionWebGL = 0x9243, } #[repr(C)] pub enum InvalidateState { - InvalidateStateNone, - InvalidateStatePending, - InvalidateStateInvalidating, + None, + Pending, + Invalidating, } #[repr(C)] pub enum PaintStyleType { - PaintStyleTypeNone, - PaintStyleTypeColor, - PaintStyleTypeGradient, - PaintStyleTypePattern, + None, + Color, + Gradient, + Pattern, } #[allow(non_camel_case_types)] #[derive(Copy, Clone, Debug, PartialOrd, PartialEq)] #[repr(C)] pub enum ImageBitmapPremultiplyAlpha { - ImageBitmapPremultiplyAlphaDefault, - ImageBitmapPremultiplyAlphaPremultiply, - ImageBitmapPremultiplyAlphaNone, + Default, + Premultiply, + AlphaNone, } #[allow(non_camel_case_types)] #[derive(Copy, Clone, Debug, PartialOrd, PartialEq)] #[repr(C)] pub enum ImageBitmapColorSpaceConversion { - ImageBitmapColorSpaceConversionDefault, - ImageBitmapColorSpaceConversionNone, + Default, + None, } #[allow(non_camel_case_types)] #[derive(Copy, Clone, Debug, PartialOrd, PartialEq)] #[repr(C)] pub enum ImageBitmapResizeQuality { - ImageBitmapResizeQualityLow, - ImageBitmapResizeQualityMedium, - ImageBitmapResizeQualityHigh, - ImageBitmapResizeQualityPixelated, + Low, + Medium, + High, + Pixelated, } #[allow(non_camel_case_types)] #[derive(Copy, Clone, Debug, PartialOrd, PartialEq)] #[repr(C)] pub enum WebGLResultType { - WebGLResultTypeBoolean, - WebGLResultTypeI32Array, - WebGLResultTypeU32Array, - WebGLResultTypeF32Array, - WebGLResultTypeBooleanArray, - WebGLResultTypeU32, - WebGLResultTypeI32, - WebGLResultTypeF32, - WebGLResultTypeString, - WebGLResultTypeNone, + Boolean, + I32Array, + U32Array, + F32Array, + BooleanArray, + U32, + I32, + F32, + String, + None, } #[derive(Clone)] @@ -439,17 +439,17 @@ impl PaintStyle { if let Some(style) = self.0.as_ref() { return match style { canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Color(_) => { - PaintStyleType::PaintStyleTypeColor + PaintStyleType::Color } canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Gradient(_) => { - PaintStyleType::PaintStyleTypeGradient + PaintStyleType::Gradient } canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Pattern(_) => { - PaintStyleType::PaintStyleTypePattern + PaintStyleType::Pattern } }; } - return PaintStyleType::PaintStyleTypeNone; + return PaintStyleType::None; } } @@ -528,9 +528,9 @@ pub extern "C" fn canvas_native_raf_get_started(raf: *const Raf) -> bool { impl Into for ImageBitmapPremultiplyAlpha { fn into(self) -> i32 { - if self == ImageBitmapPremultiplyAlpha::ImageBitmapPremultiplyAlphaPremultiply { + if self == ImageBitmapPremultiplyAlpha::Premultiply { return 1; - } else if self == ImageBitmapPremultiplyAlpha::ImageBitmapPremultiplyAlphaNone { + } else if self == ImageBitmapPremultiplyAlpha::AlphaNone { return 2; } return 0; @@ -539,7 +539,7 @@ impl Into for ImageBitmapPremultiplyAlpha { impl Into for ImageBitmapColorSpaceConversion { fn into(self) -> i32 { - if self == ImageBitmapColorSpaceConversion::ImageBitmapColorSpaceConversionNone { + if self == ImageBitmapColorSpaceConversion::None { return 1; } 0 @@ -548,11 +548,11 @@ impl Into for ImageBitmapColorSpaceConversion { impl Into for ImageBitmapResizeQuality { fn into(self) -> i32 { - if self == ImageBitmapResizeQuality::ImageBitmapResizeQualityMedium { + if self == ImageBitmapResizeQuality::Medium { return 1; - } else if self == ImageBitmapResizeQuality::ImageBitmapResizeQualityHigh { + } else if self == ImageBitmapResizeQuality::High { return 2; - } else if self == ImageBitmapResizeQuality::ImageBitmapResizeQualityPixelated { + } else if self == ImageBitmapResizeQuality::Pixelated { return 3; } 0 @@ -1482,13 +1482,13 @@ pub extern "C" fn canvas_native_context_get_current_fill_style_type( let lock = context.get_context(); return match lock.fill_style() { canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Color(_) => { - PaintStyleType::PaintStyleTypeColor + PaintStyleType::Color } canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Gradient(_) => { - PaintStyleType::PaintStyleTypeGradient + PaintStyleType::Gradient } canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Pattern(_) => { - PaintStyleType::PaintStyleTypePattern + PaintStyleType::Pattern } }; } @@ -1502,13 +1502,13 @@ pub extern "C" fn canvas_native_context_get_current_stroke_style_type( let lock = context.get_context(); return match lock.fill_style() { canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Color(_) => { - PaintStyleType::PaintStyleTypeColor + PaintStyleType::Color } canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Gradient(_) => { - PaintStyleType::PaintStyleTypeGradient + PaintStyleType::Gradient } canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Pattern(_) => { - PaintStyleType::PaintStyleTypePattern + PaintStyleType::Pattern } }; } @@ -6101,18 +6101,16 @@ pub extern "C" fn canvas_native_webgl_result_get_type( assert!(!result.is_null()); let result = unsafe { &*result }; match result.0 { - canvas_webgl::prelude::WebGLResult::Boolean(_) => WebGLResultType::WebGLResultTypeBoolean, - canvas_webgl::prelude::WebGLResult::I32Array(_) => WebGLResultType::WebGLResultTypeI32Array, - canvas_webgl::prelude::WebGLResult::U32Array(_) => WebGLResultType::WebGLResultTypeU32Array, - canvas_webgl::prelude::WebGLResult::F32Array(_) => WebGLResultType::WebGLResultTypeF32Array, - canvas_webgl::prelude::WebGLResult::BooleanArray(_) => { - WebGLResultType::WebGLResultTypeBooleanArray - } - canvas_webgl::prelude::WebGLResult::U32(_) => WebGLResultType::WebGLResultTypeU32, - canvas_webgl::prelude::WebGLResult::I32(_) => WebGLResultType::WebGLResultTypeI32, - canvas_webgl::prelude::WebGLResult::F32(_) => WebGLResultType::WebGLResultTypeF32, - canvas_webgl::prelude::WebGLResult::String(_) => WebGLResultType::WebGLResultTypeString, - canvas_webgl::prelude::WebGLResult::None => WebGLResultType::WebGLResultTypeNone, + canvas_webgl::prelude::WebGLResult::Boolean(_) => WebGLResultType::Boolean, + canvas_webgl::prelude::WebGLResult::I32Array(_) => WebGLResultType::I32Array, + canvas_webgl::prelude::WebGLResult::U32Array(_) => WebGLResultType::U32Array, + canvas_webgl::prelude::WebGLResult::F32Array(_) => WebGLResultType::F32Array, + canvas_webgl::prelude::WebGLResult::BooleanArray(_) => WebGLResultType::BooleanArray, + canvas_webgl::prelude::WebGLResult::U32(_) => WebGLResultType::U32, + canvas_webgl::prelude::WebGLResult::I32(_) => WebGLResultType::I32, + canvas_webgl::prelude::WebGLResult::F32(_) => WebGLResultType::F32, + canvas_webgl::prelude::WebGLResult::String(_) => WebGLResultType::String, + canvas_webgl::prelude::WebGLResult::None => WebGLResultType::None, } } diff --git a/crates/canvas-c/src/webgpu/enums.rs b/crates/canvas-c/src/webgpu/enums.rs index ea7618f3b..2e524ac95 100644 --- a/crates/canvas-c/src/webgpu/enums.rs +++ b/crates/canvas-c/src/webgpu/enums.rs @@ -1,4 +1,7 @@ -use std::{ffi::CString, os::raw::c_char}; +use std::{ + ffi::{CStr, CString}, + os::raw::c_char, +}; #[repr(C)] #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] @@ -28,6 +31,138 @@ impl Into for CanvasTextureDimension { } } +#[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +pub enum CanvasOptionalTextureDimension { + None, + D1, + D2, + D3, +} + +impl From> for CanvasOptionalTextureDimension { + fn from(value: Option) -> Self { + match value { + Some(value) => match value { + wgpu_types::TextureDimension::D1 => Self::D1, + wgpu_types::TextureDimension::D2 => Self::D2, + wgpu_types::TextureDimension::D3 => Self::D3, + }, + None => Self::None, + } + } +} + +impl Into> for CanvasOptionalTextureDimension { + fn into(self) -> Option { + match self { + CanvasOptionalTextureDimension::None => None, + CanvasOptionalTextureDimension::D1 => Some(wgpu_types::TextureDimension::D1), + CanvasOptionalTextureDimension::D2 => Some(wgpu_types::TextureDimension::D2), + CanvasOptionalTextureDimension::D3 => Some(wgpu_types::TextureDimension::D3), + } + } +} + +#[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +pub enum CanvasTextureViewDimension { + D1, + D2, + D2Array, + Cube, + CubeArray, + D3, +} + +impl CanvasTextureViewDimension { + /// Get the texture dimension required of this texture view dimension. + pub fn compatible_texture_dimension(self) -> CanvasTextureViewDimension { + match self { + Self::D1 => CanvasTextureViewDimension::D1, + Self::D2 | Self::D2Array | Self::Cube | Self::CubeArray => { + CanvasTextureViewDimension::D2 + } + Self::D3 => CanvasTextureViewDimension::D3, + } + } +} + +impl From for CanvasTextureViewDimension { + fn from(value: wgpu_types::TextureViewDimension) -> Self { + match value { + wgpu_types::TextureViewDimension::D1 => Self::D1, + wgpu_types::TextureViewDimension::D2 => Self::D2, + wgpu_types::TextureViewDimension::D2Array => Self::D2Array, + wgpu_types::TextureViewDimension::Cube => Self::Cube, + wgpu_types::TextureViewDimension::CubeArray => Self::CubeArray, + wgpu_types::TextureViewDimension::D3 => Self::D3, + } + } +} + +impl Into for CanvasTextureViewDimension { + fn into(self) -> wgpu_types::TextureViewDimension { + match self { + CanvasTextureViewDimension::D1 => wgpu_types::TextureViewDimension::D1, + CanvasTextureViewDimension::D2 => wgpu_types::TextureViewDimension::D2, + CanvasTextureViewDimension::D2Array => wgpu_types::TextureViewDimension::D2Array, + CanvasTextureViewDimension::Cube => wgpu_types::TextureViewDimension::Cube, + CanvasTextureViewDimension::CubeArray => wgpu_types::TextureViewDimension::CubeArray, + CanvasTextureViewDimension::D3 => wgpu_types::TextureViewDimension::D3, + } + } +} + +#[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +pub enum CanvasOptionalTextureViewDimension { + None, + D1, + + D2, + D2Array, + Cube, + CubeArray, + D3, +} + +impl From> for CanvasOptionalTextureViewDimension { + fn from(value: Option) -> Self { + match value { + Some(value) => match value { + wgpu_types::TextureViewDimension::D1 => Self::D1, + wgpu_types::TextureViewDimension::D2 => Self::D2, + wgpu_types::TextureViewDimension::D2Array => Self::D2Array, + wgpu_types::TextureViewDimension::Cube => Self::Cube, + wgpu_types::TextureViewDimension::CubeArray => Self::CubeArray, + wgpu_types::TextureViewDimension::D3 => Self::D3, + }, + None => Self::None, + } + } +} + +impl Into> for CanvasOptionalTextureViewDimension { + fn into(self) -> Option { + match self { + CanvasOptionalTextureViewDimension::None => None, + CanvasOptionalTextureViewDimension::D1 => Some(wgpu_types::TextureViewDimension::D1), + CanvasOptionalTextureViewDimension::D2 => Some(wgpu_types::TextureViewDimension::D2), + CanvasOptionalTextureViewDimension::D2Array => { + Some(wgpu_types::TextureViewDimension::D2Array) + } + CanvasOptionalTextureViewDimension::Cube => { + Some(wgpu_types::TextureViewDimension::Cube) + } + CanvasOptionalTextureViewDimension::CubeArray => { + Some(wgpu_types::TextureViewDimension::CubeArray) + } + CanvasOptionalTextureViewDimension::D3 => Some(wgpu_types::TextureViewDimension::D3), + } + } +} + #[repr(C)] #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasGPUTextureFormat { @@ -528,6 +663,37 @@ impl Into for CanvasGPUTextureFormat { } } +#[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +pub enum CanvasOptionsGPUTextureFormat { + None, + Some(CanvasGPUTextureFormat), +} + +impl From> for CanvasOptionsGPUTextureFormat { + fn from(value: Option) -> Self { + match value { + Some(value) => { + let value: CanvasGPUTextureFormat = value.into(); + Self::Some(value) + } + None => Self::None, + } + } +} + +impl Into> for CanvasOptionsGPUTextureFormat { + fn into(self) -> Option { + match self { + CanvasOptionsGPUTextureFormat::None => None, + CanvasOptionsGPUTextureFormat::Some(value) => { + let value: wgpu_types::TextureFormat = value.into(); + Some(value) + } + } + } +} + #[no_mangle] pub extern "C" fn canvas_native_webgpu_enum_gpu_texture_to_string( value: CanvasGPUTextureFormat, @@ -639,6 +805,195 @@ pub extern "C" fn canvas_native_webgpu_enum_gpu_texture_to_string( CString::new(name).unwrap().into_raw() } +#[repr(C)] +pub enum CanvasOptionalGPUTextureFormat { + None, + Some(CanvasGPUTextureFormat), +} + +#[no_mangle] +pub unsafe extern "C" fn canvas_native_webgpu_string_to_gpu_texture_enum( + format: *const c_char, +) -> CanvasOptionalGPUTextureFormat { + let format = CStr::from_ptr(format); + let format = format.to_string_lossy(); + let format = match format.as_ref() { + "r8unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R8Unorm), + "r8snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R8Snorm), + "r8uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R8Uint), + "r8sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R8Sint), + "r16uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R16Uint), + "r16sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R16Sint), + "r16unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R16Unorm), + "r16snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R16Snorm), + "r16float" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R16Float), + "rg8unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg8Unorm), + "rg8snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg8Snorm), + "rg8uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg8Uint), + "rg8sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg8Sint), + "r32uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R32Uint), + "r32sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R32Sint), + "r32float" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::R32Float), + "rg16uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg16Uint), + "rg16sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg16Sint), + "rg16unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg16Unorm), + "rg16snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg16Snorm), + "rg16float" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg16Float), + "rgba8unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba8Unorm), + "rgba8unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba8UnormSrgb) + } + "rgba8snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba8Snorm), + "rgba8uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba8Uint), + "rgba8sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba8Sint), + "bgra8unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bgra8Unorm), + "bgra8unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bgra8UnormSrgb) + } + "rgb10a2uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgb10a2Uint), + "rgb10a2unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgb10a2Unorm) + } + "rg11b10ufloat" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg11b10Float) + } + "rg32uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg32Uint), + "rg32sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg32Sint), + "rg32float" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rg32Float), + "rgba16uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba16Uint), + "rgba16sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba16Sint), + "rgba16unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba16Unorm), + "rgba16snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba16Snorm), + "rgba16float" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba16Float), + "rgba32uint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba32Uint), + "rgba32sint" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba32Sint), + "rgba32float" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgba32Float), + "stencil8" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Stencil8), + "depth32float" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Depth32Float) + } + "depth32float-stencil8" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Depth32FloatStencil8) + } + "depth16unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Depth16Unorm) + } + "depth24plus" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Depth24Plus), + "depth24plus-stencil8" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Depth24PlusStencil8) + } + "nv12" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::NV12), + "rgb9e5ufloat" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Rgb9e5Ufloat) + } + "bc1-rgba-unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc1RgbaUnorm) + } + "bc1-rgba-unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc1RgbaUnormSrgb) + } + "bc2-rgba-unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc2RgbaUnorm) + } + "bc2-rgba-unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc2RgbaUnormSrgb) + } + "bc3-rgba-unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc3RgbaUnorm) + } + "bc3-rgba-unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc3RgbaUnormSrgb) + } + "bc4-r-unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc4RUnorm), + "bc4-r-snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc4RSnorm), + "bc5-rg-unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc5RgUnorm), + "bc5-rg-snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc5RgSnorm), + "bc6h-rgb-ufloat" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc6hRgbUfloat) + } + "bc6h-rgb-float" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc6hRgbFloat) + } + "bc7-rgba-unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc7RgbaUnorm) + } + "bc7-rgba-unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Bc7RgbaUnormSrgb) + } + "etc2-rgb8unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Etc2Rgb8Unorm) + } + "etc2-rgb8unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Etc2Rgb8UnormSrgb) + } + "etc2-rgb8a1unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Etc2Rgb8A1Unorm) + } + "etc2-rgb8a1unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Etc2Rgb8A1UnormSrgb) + } + "etc2-rgba8unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Etc2Rgba8Unorm) + } + "etc2-rgba8unorm-srgb" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Etc2Rgba8UnormSrgb) + } + "eac-r11unorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::EacR11Unorm), + "eac-r11snorm" => CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::EacR11Snorm), + "eac-rg11unorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::EacRg11Unorm) + } + "eac-rg11snorm" => { + CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::EacRg11Snorm) + } + other => { + if let Some(parts) = other.strip_prefix("astc-") { + if let Some((block, channel)) = parts.split_once('-') { + let block = match block { + "4x4" => CanvasAstcBlock::B4x4, + "5x4" => CanvasAstcBlock::B5x4, + "5x5" => CanvasAstcBlock::B5x5, + "6x5" => CanvasAstcBlock::B6x5, + "6x6" => CanvasAstcBlock::B6x6, + "8x5" => CanvasAstcBlock::B8x5, + "8x6" => CanvasAstcBlock::B8x6, + "8x8" => CanvasAstcBlock::B8x8, + "10x5" => CanvasAstcBlock::B10x5, + "10x6" => CanvasAstcBlock::B10x6, + "10x8" => CanvasAstcBlock::B10x8, + "10x10" => CanvasAstcBlock::B10x10, + "12x10" => CanvasAstcBlock::B12x10, + "12x12" => CanvasAstcBlock::B12x12, + _ => { + return CanvasOptionalGPUTextureFormat::None; + } + }; + + let channel = match channel { + "unorm" => CanvasAstcChannel::Unorm, + "unorm-srgb" => CanvasAstcChannel::UnormSrgb, + "hdr" => CanvasAstcChannel::Hdr, + _ => { + return CanvasOptionalGPUTextureFormat::None; + } + }; + + return CanvasOptionalGPUTextureFormat::Some(CanvasGPUTextureFormat::Astc { + block, + channel, + }) + } + + CanvasOptionalGPUTextureFormat::None + } else { + CanvasOptionalGPUTextureFormat::None + } + } + }; + + return format +} + /// ASTC block dimensions #[repr(C)] #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] @@ -754,10 +1109,9 @@ impl Into for CanvasAstcBlock { } #[repr(C)] -#[derive(Copy, Clone, Debug, Default, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasTextureAspect { /// Depth, Stencil, and Color. - #[default] All, /// Stencil. StencilOnly, @@ -798,12 +1152,11 @@ impl Into for CanvasTextureAspect { } #[repr(C)] -#[derive(Copy, Clone, Debug, Default, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasIndexFormat { /// Indices are 16 bit unsigned integers. Uint16 = 0, /// Indices are 32 bit unsigned integers. - #[default] Uint32 = 1, } @@ -826,9 +1179,39 @@ impl Into for CanvasIndexFormat { } #[repr(C)] -#[derive(Copy, Clone, Debug, Default, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +pub enum CanvasOptionalIndexFormat { + None, + Some(CanvasIndexFormat), +} + +impl From> for CanvasOptionalIndexFormat { + fn from(value: Option) -> Self { + match value { + Some(value) => Self::Some(match value { + wgpu_types::IndexFormat::Uint16 => CanvasIndexFormat::Uint16, + wgpu_types::IndexFormat::Uint32 => CanvasIndexFormat::Uint32, + }), + None => Self::None, + } + } +} + +impl Into> for CanvasOptionalIndexFormat { + fn into(self) -> Option { + match self { + CanvasOptionalIndexFormat::None => None, + CanvasOptionalIndexFormat::Some(value) => Some(match value { + CanvasIndexFormat::Uint16 => wgpu_types::IndexFormat::Uint16, + CanvasIndexFormat::Uint32 => wgpu_types::IndexFormat::Uint32, + }), + } + } +} + +#[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasVertexStepMode { - #[default] Vertex = 0, Instance = 1, } @@ -842,6 +1225,15 @@ impl From for CanvasVertexStepMode { } } +impl Into for CanvasVertexStepMode { + fn into(self) -> wgpu_types::VertexStepMode { + match self { + CanvasVertexStepMode::Vertex => wgpu_types::VertexStepMode::Vertex, + CanvasVertexStepMode::Instance => wgpu_types::VertexStepMode::Instance, + } + } +} + #[repr(C)] #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasVertexFormat { @@ -958,6 +1350,48 @@ impl From for CanvasVertexFormat { } } +impl Into for CanvasVertexFormat { + fn into(self) -> wgpu_types::VertexFormat { + match self { + Self::Uint8x2 => wgpu_types::VertexFormat::Uint8x2, + Self::Uint8x4 => wgpu_types::VertexFormat::Uint8x4, + Self::Sint8x2 => wgpu_types::VertexFormat::Sint8x2, + Self::Sint8x4 => wgpu_types::VertexFormat::Sint8x4, + Self::Unorm8x2 => wgpu_types::VertexFormat::Unorm8x2, + Self::Unorm8x4 => wgpu_types::VertexFormat::Unorm8x4, + Self::Snorm8x2 => wgpu_types::VertexFormat::Snorm8x2, + Self::Snorm8x4 => wgpu_types::VertexFormat::Snorm8x4, + Self::Uint16x2 => wgpu_types::VertexFormat::Uint16x2, + Self::Uint16x4 => wgpu_types::VertexFormat::Uint16x4, + Self::Sint16x2 => wgpu_types::VertexFormat::Sint16x2, + Self::Sint16x4 => wgpu_types::VertexFormat::Sint16x4, + Self::Unorm16x2 => wgpu_types::VertexFormat::Unorm16x2, + Self::Unorm16x4 => wgpu_types::VertexFormat::Unorm16x4, + Self::Snorm16x2 => wgpu_types::VertexFormat::Snorm16x2, + Self::Snorm16x4 => wgpu_types::VertexFormat::Snorm16x4, + Self::Float16x2 => wgpu_types::VertexFormat::Float16x2, + Self::Float16x4 => wgpu_types::VertexFormat::Float16x4, + Self::Float32 => wgpu_types::VertexFormat::Float32, + Self::Float32x2 => wgpu_types::VertexFormat::Float32x2, + Self::Float32x3 => wgpu_types::VertexFormat::Float32x3, + Self::Float32x4 => wgpu_types::VertexFormat::Float32x4, + Self::Uint32 => wgpu_types::VertexFormat::Uint32, + Self::Uint32x2 => wgpu_types::VertexFormat::Uint32x2, + Self::Uint32x3 => wgpu_types::VertexFormat::Uint32x3, + Self::Uint32x4 => wgpu_types::VertexFormat::Uint32x4, + Self::Sint32 => wgpu_types::VertexFormat::Sint32, + Self::Sint32x2 => wgpu_types::VertexFormat::Sint32x2, + Self::Sint32x3 => wgpu_types::VertexFormat::Sint32x3, + Self::Sint32x4 => wgpu_types::VertexFormat::Sint32x4, + Self::Float64 => wgpu_types::VertexFormat::Float64, + Self::Float64x2 => wgpu_types::VertexFormat::Float64x2, + Self::Float64x3 => wgpu_types::VertexFormat::Float64x3, + Self::Float64x4 => wgpu_types::VertexFormat::Float64x4, + Self::Unorm10_10_10_2 => wgpu_types::VertexFormat::Unorm10_10_10_2, + } + } +} + #[repr(C)] #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasCompareFunction { @@ -995,6 +1429,21 @@ impl From for CanvasCompareFunction { } } +impl Into for CanvasCompareFunction { + fn into(self) -> wgpu_types::CompareFunction { + match self { + CanvasCompareFunction::Never => wgpu_types::CompareFunction::Never, + CanvasCompareFunction::Less => wgpu_types::CompareFunction::Less, + CanvasCompareFunction::Equal => wgpu_types::CompareFunction::Equal, + CanvasCompareFunction::LessEqual => wgpu_types::CompareFunction::LessEqual, + CanvasCompareFunction::Greater => wgpu_types::CompareFunction::Greater, + CanvasCompareFunction::NotEqual => wgpu_types::CompareFunction::NotEqual, + CanvasCompareFunction::GreaterEqual => wgpu_types::CompareFunction::GreaterEqual, + CanvasCompareFunction::Always => wgpu_types::CompareFunction::Always, + } + } +} + #[repr(C)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] pub struct CanvasStencilFaceState { @@ -1038,7 +1487,7 @@ impl Default for CanvasStencilFaceState { impl From for CanvasStencilFaceState { fn from(value: wgpu_types::StencilFaceState) -> Self { Self { - compare: value.compare.info(), + compare: value.compare.into(), fail_op: value.fail_op.into(), depth_fail_op: value.depth_fail_op.into(), pass_op: value.pass_op.into(), @@ -1046,10 +1495,20 @@ impl From for CanvasStencilFaceState { } } +impl Into for CanvasStencilFaceState { + fn into(self) -> wgpu_types::StencilFaceState { + wgpu_types::StencilFaceState { + compare: self.compare.into(), + fail_op: self.fail_op.into(), + depth_fail_op: self.depth_fail_op.into(), + pass_op: self.pass_op.into(), + } + } +} + #[repr(C)] -#[derive(Copy, Clone, Debug, Default, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasStencilOperation { - #[default] Keep = 0, Zero = 1, Replace = 2, @@ -1075,7 +1534,23 @@ impl From for CanvasStencilOperation { } } +impl Into for CanvasStencilOperation { + fn into(self) -> wgpu_types::StencilOperation { + match self { + CanvasStencilOperation::Keep => wgpu_types::StencilOperation::Keep, + CanvasStencilOperation::Zero => wgpu_types::StencilOperation::Zero, + CanvasStencilOperation::Replace => wgpu_types::StencilOperation::Replace, + CanvasStencilOperation::Invert => wgpu_types::StencilOperation::Invert, + CanvasStencilOperation::IncrementClamp => wgpu_types::StencilOperation::IncrementClamp, + CanvasStencilOperation::DecrementClamp => wgpu_types::StencilOperation::DecrementClamp, + CanvasStencilOperation::IncrementWrap => wgpu_types::StencilOperation::IncrementWrap, + CanvasStencilOperation::DecrementWrap => wgpu_types::StencilOperation::DecrementWrap, + } + } +} + #[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasCullMode { None, Front, @@ -1092,13 +1567,25 @@ impl From for Option { } } +impl Into for Option { + fn into(self) -> CanvasCullMode { + match self { + Some(value) => match value { + wgpu_types::Face::Front => CanvasCullMode::Front, + wgpu_types::Face::Back => CanvasCullMode::Back, + }, + None => CanvasCullMode::None, + } + } +} + #[repr(C)] -#[derive(Copy, Clone, Debug, Default, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasPrimitiveTopology { PointList = 0, LineList = 1, LineStrip = 2, - #[default] + TriangleList = 3, TriangleStrip = 4, } @@ -1115,10 +1602,66 @@ impl From for CanvasPrimitiveTopology { } } +impl Into for CanvasPrimitiveTopology { + fn into(self) -> wgpu_types::PrimitiveTopology { + match self { + CanvasPrimitiveTopology::PointList => wgpu_types::PrimitiveTopology::PointList, + CanvasPrimitiveTopology::LineList => wgpu_types::PrimitiveTopology::LineList, + CanvasPrimitiveTopology::LineStrip => wgpu_types::PrimitiveTopology::LineStrip, + CanvasPrimitiveTopology::TriangleList => wgpu_types::PrimitiveTopology::TriangleList, + CanvasPrimitiveTopology::TriangleStrip => wgpu_types::PrimitiveTopology::TriangleStrip, + } + } +} + #[repr(C)] -#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Hash)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +pub enum CanvasOptionalPrimitiveTopology { + None, + Some(CanvasPrimitiveTopology), +} + +impl From> for CanvasOptionalPrimitiveTopology { + fn from(value: Option) -> Self { + match value { + Some(value) => Self::Some(match value { + wgpu_types::PrimitiveTopology::PointList => CanvasPrimitiveTopology::PointList, + wgpu_types::PrimitiveTopology::LineList => CanvasPrimitiveTopology::LineList, + wgpu_types::PrimitiveTopology::LineStrip => CanvasPrimitiveTopology::LineStrip, + wgpu_types::PrimitiveTopology::TriangleList => { + CanvasPrimitiveTopology::TriangleList + } + wgpu_types::PrimitiveTopology::TriangleStrip => { + CanvasPrimitiveTopology::TriangleStrip + } + }), + None => Self::None, + } + } +} + +impl Into> for CanvasOptionalPrimitiveTopology { + fn into(self) -> Option { + match self { + CanvasOptionalPrimitiveTopology::None => None, + CanvasOptionalPrimitiveTopology::Some(value) => Some(match value { + CanvasPrimitiveTopology::PointList => wgpu_types::PrimitiveTopology::PointList, + CanvasPrimitiveTopology::LineList => wgpu_types::PrimitiveTopology::LineList, + CanvasPrimitiveTopology::LineStrip => wgpu_types::PrimitiveTopology::LineStrip, + CanvasPrimitiveTopology::TriangleList => { + wgpu_types::PrimitiveTopology::TriangleList + } + CanvasPrimitiveTopology::TriangleStrip => { + wgpu_types::PrimitiveTopology::TriangleStrip + } + }), + } + } +} + +#[repr(C)] +#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] pub enum CanvasFrontFace { - #[default] Ccw = 0, Cw = 1, } @@ -1131,3 +1674,43 @@ impl From for CanvasFrontFace { } } } + +impl Into for CanvasFrontFace { + fn into(self) -> wgpu_types::FrontFace { + match self { + CanvasFrontFace::Ccw => wgpu_types::FrontFace::Ccw, + CanvasFrontFace::Cw => wgpu_types::FrontFace::Cw, + } + } +} + +#[repr(C)] +#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] +pub enum CanvasOptionalFrontFace { + None, + Some(CanvasFrontFace), +} + +impl From> for CanvasOptionalFrontFace { + fn from(value: Option) -> Self { + match value { + Some(value) => Self::Some(match value { + wgpu_types::FrontFace::Ccw => CanvasFrontFace::Ccw, + wgpu_types::FrontFace::Cw => CanvasFrontFace::Cw, + }), + None => Self::None, + } + } +} + +impl Into> for CanvasOptionalFrontFace { + fn into(self) -> Option { + match self { + CanvasOptionalFrontFace::None => None, + CanvasOptionalFrontFace::Some(value) => match value { + CanvasFrontFace::Ccw => Some(wgpu_types::FrontFace::Ccw), + CanvasFrontFace::Cw => Some(wgpu_types::FrontFace::Cw), + }, + } + } +} diff --git a/crates/canvas-c/src/webgpu/gpu.rs b/crates/canvas-c/src/webgpu/gpu.rs index 323840a8f..1317f6a3d 100644 --- a/crates/canvas-c/src/webgpu/gpu.rs +++ b/crates/canvas-c/src/webgpu/gpu.rs @@ -26,8 +26,8 @@ impl Into for CanvasGPUPowerPreference { #[repr(C)] #[derive(Debug, Clone, Copy)] pub struct CanvasGPURequestAdapterOptions { - power_preference: CanvasGPUPowerPreference, - force_fallback_adapter: bool, + pub power_preference: CanvasGPUPowerPreference, + pub force_fallback_adapter: bool, } impl Default for CanvasGPURequestAdapterOptions { @@ -82,6 +82,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_request_adapter( callback_data: *mut c_void, ) { use super::prelude::build_features; + let instance = (&*instance).clone(); let options = if options.is_null() { @@ -108,8 +109,6 @@ pub unsafe extern "C" fn canvas_native_webgpu_request_adapter( #[cfg(target_os = "windows")] let backends = wgpu_types::Backends::DX12; - println!("spawn"); - let instance = instance; let global = &instance.0; @@ -119,20 +118,14 @@ pub unsafe extern "C" fn canvas_native_webgpu_request_adapter( wgpu_core::instance::AdapterInputs::Mask(backends, |_| None), ); - println!("adapter {:?}", &adapter); - let adapter = adapter.map(|adapter_id| { let features = gfx_select!(adapter_id => global.adapter_features(adapter_id)) .map(build_features) .unwrap_or_default(); - println!("features {:?}", &features); - let limits = gfx_select!(adapter_id => global.adapter_limits(adapter_id)).unwrap_or_default(); - println!("limits {:?}", &limits); - let ret = CanvasGPUAdapter { instance: instance.clone(), adapter: adapter_id, diff --git a/crates/canvas-c/src/webgpu/gpu_adapter.rs b/crates/canvas-c/src/webgpu/gpu_adapter.rs index 7e168a819..136aeb2e7 100644 --- a/crates/canvas-c/src/webgpu/gpu_adapter.rs +++ b/crates/canvas-c/src/webgpu/gpu_adapter.rs @@ -103,6 +103,7 @@ pub extern "C" fn canvas_native_webgpu_request_device( let callback = callback as i64; let callback_data = callback_data as i64; + let adapter_id = adapter.adapter; let instance = adapter.instance.clone(); std::thread::spawn(move || { let descriptor = wgpu_types::DeviceDescriptor { @@ -110,9 +111,12 @@ pub extern "C" fn canvas_native_webgpu_request_device( required_features: features, required_limits: limits, }; + + + let instance_copy = instance.clone(); - let adapter_id = adapter.adapter; - let global = &adapter.instance.0; + + let global = &instance.0; let (device, queue, error) = gfx_select!(adapter_id => global.adapter_request_device( adapter_id, @@ -135,13 +139,13 @@ pub extern "C" fn canvas_native_webgpu_request_device( callback(ret, std::ptr::null_mut(), callback_data); } else { let queue = CanvasGPUQueue { - instance: instance.clone(), + instance: instance_copy.clone(), queue, }; let ret = Box::into_raw(Box::new(CanvasGPUDevice { device, queue, - instance, + instance: instance_copy, })); callback(std::ptr::null_mut(), ret, callback_data); } diff --git a/crates/canvas-c/src/webgpu/gpu_canvas_context.rs b/crates/canvas-c/src/webgpu/gpu_canvas_context.rs index d75f28195..7ea4698be 100644 --- a/crates/canvas-c/src/webgpu/gpu_canvas_context.rs +++ b/crates/canvas-c/src/webgpu/gpu_canvas_context.rs @@ -16,6 +16,49 @@ pub struct CanvasGPUCanvasContext { pub(crate) usage: u32, } +#[cfg(any(target_os = "android"))] +#[no_mangle] +pub unsafe extern "C" fn canvas_native_webgpu_context_create( + instance: *mut CanvasWebGPUInstance, + window: *mut c_void, + width: u32, + height: u32, +) -> *mut CanvasGPUCanvasContext { + if instance.is_null() { + return std::ptr::null_mut(); + } + let instance = unsafe { &*instance }; + let global = &instance.0; + + let display_handle = raw_window_handle::RawDisplayHandle::Android( + raw_window_handle::AndroidDisplayHandle::new(), + ); + + let mut handle = + raw_window_handle::AndroidNdkWindowHandle::new(std::ptr::NonNull::new_unchecked(window)); + let window_handle = raw_window_handle::RawWindowHandle::AndroidNdk(handle); + + match global.instance_create_surface(display_handle, window_handle, None) { + Ok(surface_id) => { + let ctx = CanvasGPUCanvasContext { + instance: instance.clone(), + surface: surface_id, + width, + height, + format: wgpu_types::TextureFormat::Rgba8Unorm, + usage: wgpu_types::TextureUsages::RENDER_ATTACHMENT.bits(), + }; + + Box::into_raw(Box::new(ctx)) + } + Err(err) => { + // todo handle error + std::ptr::null_mut() + } + } +} + +#[cfg(any(target_os = "ios", target_os = "macos"))] #[no_mangle] pub unsafe extern "C" fn canvas_native_webgpu_context_create( instance: *mut CanvasWebGPUInstance, @@ -42,7 +85,88 @@ pub unsafe extern "C" fn canvas_native_webgpu_context_create( Box::into_raw(Box::new(ctx)) } - Err(_) => { + Err(err) => { + // todo handle error + std::ptr::null_mut() + } + } +} + +#[cfg(any(target_os = "ios"))] +#[no_mangle] +pub unsafe extern "C" fn canvas_native_webgpu_context_create_uiview( + instance: *mut CanvasWebGPUInstance, + view: *mut c_void, + width: u32, + height: u32, +) -> *mut CanvasGPUCanvasContext { + if instance.is_null() { + return std::ptr::null_mut(); + } + let instance = unsafe { &*instance }; + let global = &instance.0; + + let display_handle = + raw_window_handle::RawDisplayHandle::UiKit(raw_window_handle::UiKitDisplayHandle::new()); + + let mut handle = + raw_window_handle::UiKitWindowHandle::new(std::ptr::NonNull::new_unchecked(view)); + let window_handle = raw_window_handle::RawWindowHandle::UiKit(handle); + + match global.instance_create_surface(display_handle, window_handle, None) { + Ok(surface_id) => { + let ctx = CanvasGPUCanvasContext { + instance: instance.clone(), + surface: surface_id, + width, + height, + format: wgpu_types::TextureFormat::Bgra8Unorm, + usage: wgpu_types::TextureUsages::RENDER_ATTACHMENT.bits(), + }; + + Box::into_raw(Box::new(ctx)) + } + Err(err) => { + // todo handle error + std::ptr::null_mut() + } + } +} + +#[cfg(any(target_os = "macos"))] +#[no_mangle] +pub unsafe extern "C" fn canvas_native_webgpu_context_create_nsview( + instance: *mut CanvasWebGPUInstance, + view: *mut c_void, + width: u32, + height: u32, +) -> *mut CanvasGPUCanvasContext { + if instance.is_null() { + return std::ptr::null_mut(); + } + let instance = unsafe { &*instance }; + let global = &instance.0; + + let display_handle = + raw_window_handle::RawDisplayHandle::AppKit(raw_window_handle::AppKitDisplayHandle::new()); + + let handle = raw_window_handle::AppKitWindowHandle::new(std::ptr::NonNull::new_unchecked(view)); + let window_handle = raw_window_handle::RawWindowHandle::AppKit(handle); + + match global.instance_create_surface(display_handle, window_handle, None) { + Ok(surface_id) => { + let ctx = CanvasGPUCanvasContext { + instance: instance.clone(), + surface: surface_id, + width, + height, + format: wgpu_types::TextureFormat::Bgra8Unorm, + usage: wgpu_types::TextureUsages::RENDER_ATTACHMENT.bits(), + }; + + Box::into_raw(Box::new(ctx)) + } + Err(err) => { // todo handle error std::ptr::null_mut() } @@ -127,11 +251,11 @@ impl From for CanvasGPUPresentMode { #[repr(C)] #[derive(Debug)] pub struct CanvasGPUSurfaceConfiguration { - alphaMode: CanvasGPUSurfaceAlphaMode, - usage: u32, - presentMode: CanvasGPUPresentMode, - view_formats: *const CanvasGPUTextureFormat, - view_formats_size: usize, + pub alphaMode: CanvasGPUSurfaceAlphaMode, + pub usage: u32, + pub presentMode: CanvasGPUPresentMode, + pub view_formats: *const CanvasGPUTextureFormat, + pub view_formats_size: usize, } #[no_mangle] @@ -176,7 +300,7 @@ pub extern "C" fn canvas_native_webgpu_context_configure( // todo handle error if let Some(err) = - gfx_select!(device_id => global.surface_configure(surface_id, device_id, &config)) + gfx_select!(surface_id => global.surface_configure(surface_id, device_id, &config)) {} } @@ -205,33 +329,34 @@ pub extern "C" fn canvas_native_webgpu_context_get_current_texture( return std::ptr::null_mut(); } - let context = unsafe { &*context }; - let surface_id = context.surface; let global = &context.instance.0; - match gfx_select!(surface_id => global.surface_get_current_texture(surface_id, None)) { - Ok(texture) => { - match texture.status { - wgpu_types::SurfaceStatus::Good | wgpu_types::SurfaceStatus::Suboptimal => { - Box::into_raw(Box::new(CanvasGPUTexture { - instance: context.instance.clone(), - texture: texture.texture_id.unwrap(), - owned: false, - depth_or_array_layers: 1, - dimension: super::enums::CanvasTextureDimension::D2, - format: context.format.into(), - mipLevelCount: 1, - sampleCount: 1, - width: context.width, - height: context.height, - usage: context.usage, - })) - } - _ => std::ptr::null_mut(), + let surface_id = context.surface; + + let result = gfx_select!(surface_id => global.surface_get_current_texture(surface_id, None)); + + match result { + Ok(texture) => match texture.status { + wgpu_types::SurfaceStatus::Good | wgpu_types::SurfaceStatus::Suboptimal => { + Box::into_raw(Box::new(CanvasGPUTexture { + instance: context.instance.clone(), + texture: texture.texture_id.unwrap(), + owned: false, + depth_or_array_layers: 1, + dimension: super::enums::CanvasTextureDimension::D2, + format: context.format.into(), + mipLevelCount: 1, + sampleCount: 1, + width: context.width, + height: context.height, + usage: context.usage, + })) } + _ => std::ptr::null_mut(), }, Err(error) => { + println!("error: {:?}", error.to_string()); // todo handle error std::ptr::null_mut() } diff --git a/crates/canvas-c/src/webgpu/gpu_command_encoder.rs b/crates/canvas-c/src/webgpu/gpu_command_encoder.rs index c0d84f494..dd4c90265 100644 --- a/crates/canvas-c/src/webgpu/gpu_command_encoder.rs +++ b/crates/canvas-c/src/webgpu/gpu_command_encoder.rs @@ -9,7 +9,10 @@ use super::{ gpu_query_set::CanvasGPUQuerySet, gpu_render_pass::CanvasGPURenderPass, gpu_texture::CanvasGPUTexture, - structs::{CanvasExtent3d, CanvasOrigin3d}, + structs::{ + CanvasExtent3d, CanvasOrigin3d, CanvasRenderPassColorAttachment, + CanvasRenderPassDepthStencilAttachment, + }, }; pub struct CanvasGPUCommandEncoder { @@ -83,10 +86,14 @@ pub extern "C" fn canvas_native_webgpu_command_encoder_begin_compute_pass( } #[no_mangle] -pub extern "C" fn canvas_native_webgpu_command_encoder_begin_render_pass( +pub unsafe extern "C" fn canvas_native_webgpu_command_encoder_begin_render_pass( command_encoder: *mut CanvasGPUCommandEncoder, - query_set: *const CanvasGPUQuerySet, label: *const c_char, + color_attachments: *const CanvasRenderPassColorAttachment, + color_attachments_size: usize, + depth_stencil_attachment: *const CanvasRenderPassDepthStencilAttachment, + occlusion_query_set: *const CanvasGPUQuerySet, + query_set: *const CanvasGPUQuerySet, beginning_of_pass_write_index: i32, end_of_pass_write_index: i32, ) -> *mut CanvasGPURenderPass { @@ -99,6 +106,37 @@ pub extern "C" fn canvas_native_webgpu_command_encoder_begin_render_pass( None }; + let color_attachments = if !color_attachments.is_null() && color_attachments_size > 0 { + let color_attachments = + std::slice::from_raw_parts(color_attachments, color_attachments_size); + color_attachments + .iter() + .map(|value| { + let resolve_target = if !value.resolve_target.is_null() { + let resolve_target = unsafe { &*value.resolve_target }; + Some(resolve_target.texture_view) + } else { + None + }; + + let view = unsafe { &*value.view }; + Some(wgpu_core::command::RenderPassColorAttachment { + view: view.texture_view, + resolve_target: resolve_target, + channel: wgpu_core::command::PassChannel { + load_op: value.channel.load_op.into(), + store_op: value.channel.store_op.into(), + clear_value: value.channel.clear_value.into(), + read_only: value.channel.read_only, + }, + }) + }) + .collect::>() + } else { + vec![] + }; + + let timestamp_writes = if !query_set.is_null() { let query_set = unsafe { &*query_set }; let beginning_of_pass_write_index = if beginning_of_pass_write_index < 0 { @@ -126,14 +164,46 @@ pub extern "C" fn canvas_native_webgpu_command_encoder_begin_render_pass( let command_encoder = unsafe { &mut *command_encoder }; let command_encoder_id = command_encoder.encoder; + let depth_stencil_attachment = if !depth_stencil_attachment.is_null() { + let depth_stencil_attachment = &*depth_stencil_attachment; + let view = &*depth_stencil_attachment.view; + let depth = wgpu_core::command::PassChannel { + load_op: depth_stencil_attachment.depth_load_op.into(), + store_op: depth_stencil_attachment.depth_store_op.into(), + clear_value: depth_stencil_attachment.depth_clear_value, + read_only: depth_stencil_attachment.depth_read_only, + }; + let stencil = wgpu_core::command::PassChannel { + load_op: depth_stencil_attachment.stencil_load_op.into(), + store_op: depth_stencil_attachment.stencil_store_op.into(), + clear_value: depth_stencil_attachment.stencil_clear_value, + read_only: depth_stencil_attachment.stencil_read_only, + }; + Some(wgpu_core::command::RenderPassDepthStencilAttachment { + view: view.texture_view, + depth: depth, + stencil: stencil, + }) + } else { + None + }; + + let occlusion_query_set = if !occlusion_query_set.is_null() { + let occlusion_query_set = &*occlusion_query_set; + Some(occlusion_query_set.query) + } else { + None + }; + let desc = wgpu_core::command::RenderPassDescriptor { label, - color_attachments: todo!(), - depth_stencil_attachment: todo!(), + color_attachments: std::borrow::Cow::Owned(color_attachments), + depth_stencil_attachment: depth_stencil_attachment.as_ref(), timestamp_writes: timestamp_writes.as_ref(), - occlusion_query_set: todo!(), + occlusion_query_set: occlusion_query_set, }; let pass = wgpu_core::command::RenderPass::new(command_encoder_id, &desc); + let pass_encoder = CanvasGPURenderPass { instance: command_encoder.instance.clone(), pass, @@ -391,7 +461,8 @@ pub unsafe extern "C" fn canvas_native_webgpu_command_encoder_finish( let (id, err) = gfx_select!(command_encoder_id => global.command_encoder_finish(command_encoder_id, &desc)); - if let Some(_) = err { + if let Some(error) = err { + println!("canvas_native_webgpu_command_encoder_finish: error {:?}", error.to_string()); // todo handle error return std::ptr::null_mut(); } diff --git a/crates/canvas-c/src/webgpu/gpu_device.rs b/crates/canvas-c/src/webgpu/gpu_device.rs index 352a490e9..b7b55b44e 100644 --- a/crates/canvas-c/src/webgpu/gpu_device.rs +++ b/crates/canvas-c/src/webgpu/gpu_device.rs @@ -1,5 +1,5 @@ use std::{ - borrow::Cow, + borrow::{Borrow, Cow}, collections::HashMap, ffi::{CStr, CString}, os::raw::{c_char, c_void}, @@ -10,8 +10,9 @@ use crate::buffers::StringBuffer; use super::{ enums::{ CanvasCompareFunction, CanvasCullMode, CanvasFrontFace, CanvasGPUTextureFormat, - CanvasIndexFormat, CanvasPrimitiveTopology, CanvasStencilFaceState, CanvasTextureDimension, - CanvasVertexStepMode, + CanvasIndexFormat, CanvasOptionalFrontFace, CanvasOptionalIndexFormat, + CanvasOptionalPrimitiveTopology, CanvasPrimitiveTopology, CanvasStencilFaceState, + CanvasTextureDimension, CanvasVertexStepMode, }, gpu::CanvasWebGPUInstance, gpu_buffer::CanvasGPUBuffer, @@ -26,6 +27,8 @@ use super::{ structs::{CanvasColorTargetState, CanvasMultisampleState, CanvasVertexAttribute}, }; +const MAX_BIND_GROUPS: usize = 8; + pub struct CanvasGPUDevice { pub(crate) instance: CanvasWebGPUInstance, pub(crate) device: wgpu_core::id::DeviceId, @@ -218,13 +221,16 @@ pub extern "C" fn canvas_native_webgpu_device_create_command_encoder( // Arc::new(parking_lot::RwLock::new(device.device.create_command_encoder(&desc))) // ); + let device_id = device.device; let global = &device.instance.0; + let (encoder, error) = gfx_select!(device_id => global.device_create_command_encoder(device_id, &desc, None)); // todo handle error if let Some(error) = error { + println!("canvas_native_webgpu_device_create_command_encoder: error {:?}", error.to_string()); std::ptr::null_mut() } else { let encoder = CanvasGPUCommandEncoder { @@ -294,7 +300,7 @@ pub extern "C" fn canvas_native_webgpu_device_create_buffer( device.create_buffer(label, size, usage, mapped_at_creation, error) } -struct CanvasConstants(HashMap); +pub struct CanvasConstants(HashMap); #[no_mangle] pub extern "C" fn canvas_native_webgpu_constants_create() -> *mut CanvasConstants { @@ -319,9 +325,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_constants_insert( } #[no_mangle] -pub unsafe extern "C" fn canvas_native_webgpu_constants_destroy( - constants: *mut CanvasConstants, -) { +pub unsafe extern "C" fn canvas_native_webgpu_constants_destroy(constants: *mut CanvasConstants) { if constants.is_null() { return; } @@ -330,6 +334,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_constants_destroy( } #[repr(C)] +#[derive(Copy, Clone, Debug, PartialEq)] pub struct CanvasDepthStencilState { format: CanvasGPUTextureFormat, depth_write_enabled: bool, @@ -343,40 +348,104 @@ pub struct CanvasDepthStencilState { depth_bias_clamp: f32, } +impl From for CanvasDepthStencilState { + fn from(value: wgpu_types::DepthStencilState) -> Self { + Self { + format: value.format.into(), + depth_write_enabled: value.depth_write_enabled, + depth_compare: value.depth_compare.into(), + stencil_front: value.stencil.front.into(), + stencil_back: value.stencil.back.into(), + stencil_read_mask: value.stencil.read_mask, + stencil_write_mask: value.stencil.write_mask, + depth_bias: value.bias.constant, + depth_bias_slope_scale: value.bias.slope_scale, + depth_bias_clamp: value.bias.clamp, + } + } +} + +impl Into for CanvasDepthStencilState { + fn into(self) -> wgpu_types::DepthStencilState { + wgpu_types::DepthStencilState { + format: self.format.into(), + depth_write_enabled: self.depth_write_enabled, + depth_compare: self.depth_compare.into(), + stencil: wgpu_types::StencilState { + front: self.stencil_front.into(), + back: self.stencil_back.into(), + read_mask: self.stencil_read_mask, + write_mask: self.stencil_write_mask, + }, + bias: wgpu_types::DepthBiasState { + constant: self.depth_bias, + slope_scale: self.depth_bias_slope_scale, + clamp: self.depth_bias_clamp, + }, + } + } +} + #[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub struct CanvasPrimitiveState { - topology: CanvasPrimitiveTopology, - strip_index_format: CanvasIndexFormat, - front_face: CanvasFrontFace, - cull_mode: CanvasCullMode, - unclipped_depth: bool, + pub topology: CanvasPrimitiveTopology, + pub strip_index_format: CanvasOptionalIndexFormat, + pub front_face: CanvasFrontFace, + pub cull_mode: CanvasCullMode, + pub unclipped_depth: bool, +} + +impl From for CanvasPrimitiveState { + fn from(value: wgpu_types::PrimitiveState) -> Self { + Self { + topology: value.topology.into(), + strip_index_format: value.strip_index_format.into(), + front_face: value.front_face.into(), + cull_mode: value.cull_mode.into(), + unclipped_depth: value.unclipped_depth, + } + } +} + +impl Into for CanvasPrimitiveState { + fn into(self) -> wgpu_types::PrimitiveState { + wgpu_types::PrimitiveState { + topology: self.topology.into(), + strip_index_format: self.strip_index_format.into(), + front_face: self.front_face.into(), + cull_mode: self.cull_mode.into(), + unclipped_depth: self.unclipped_depth, + polygon_mode: Default::default(), // native + conservative: false, // native + } + } } #[repr(C)] pub struct CanvasVertexBufferLayout { - array_stride: u64, - step_mode: CanvasVertexStepMode, - attributes: *const CanvasVertexAttribute, - attributes_size: usize, + pub array_stride: u64, + pub step_mode: CanvasVertexStepMode, + pub attributes: *const CanvasVertexAttribute, + pub attributes_size: usize, } #[repr(C)] pub struct CanvasVertexState { - module: *const CanvasGPUShaderModule, - entry_point: *const c_char, - constants: *const CanvasConstants, - constants_size: usize, - buffers: *const CanvasVertexBufferLayout, - buffers_size: usize, + pub module: *const CanvasGPUShaderModule, + pub entry_point: *const c_char, + pub constants: *const CanvasConstants, + pub buffers: *const CanvasVertexBufferLayout, + pub buffers_size: usize, } #[repr(C)] -struct CanvasFragmentState { - targets: *const CanvasColorTargetState, - targets_size: usize, - module: *const CanvasGPUShaderModule, - entry_point: *const c_char, - constants: *const CanvasConstants, +pub struct CanvasFragmentState { + pub targets: *const CanvasColorTargetState, + pub targets_size: usize, + pub module: *const CanvasGPUShaderModule, + pub entry_point: *const c_char, + pub constants: *const CanvasConstants, } #[repr(C)] @@ -393,20 +462,20 @@ pub enum CanvasGPUPipelineLayoutOrGPUAutoLayoutMode { #[repr(C)] pub struct CanvasCreateRenderPipelineDescriptor { - label: *const c_char, - layout: CanvasGPUPipelineLayoutOrGPUAutoLayoutMode, - vertex: *const CanvasVertexState, - primitive: *const CanvasPrimitiveState, - depth_stencil: *const CanvasDepthStencilState, - multisample: *const CanvasMultisampleState, - fragment: *const CanvasFragmentState, + pub label: *const c_char, + pub layout: CanvasGPUPipelineLayoutOrGPUAutoLayoutMode, + pub vertex: *const CanvasVertexState, + pub primitive: *const CanvasPrimitiveState, + pub depth_stencil: *const CanvasDepthStencilState, + pub multisample: *const CanvasMultisampleState, + pub fragment: *const CanvasFragmentState, } #[no_mangle] pub unsafe extern "C" fn canvas_native_webgpu_device_create_render_pipeline( device: *const CanvasGPUDevice, descriptor: *const CanvasCreateRenderPipelineDescriptor, -) -> *mut CanvasGPUBuffer { +) -> *mut CanvasGPURenderPipeline { if device.is_null() || descriptor.is_null() { return std::ptr::null_mut(); } @@ -457,13 +526,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_device_create_render_pipeline( let targets = if !frag.targets.is_null() { std::slice::from_raw_parts(frag.targets, frag.targets_size) .iter() - .map(|target| { - Some(wgpu_types::ColorTargetState { - format: target.format.into(), - blend: target.blend.into(), - write_mask: wgpu_types::ColorWrites::from_bits_retain(target.write_mask,) - }) - }) + .map(|target| Some((*target).into())) .collect::>>() } else { vec![] @@ -483,7 +546,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_device_create_render_pipeline( }) } else { let constants = &*frag.constants; - let constants = Cow::from(&constants.0); + let constants = Cow::Borrowed(&constants.0); Some(wgpu_core::pipeline::FragmentState { stage: wgpu_core::pipeline::ProgrammableStageDescriptor { module: module_id, @@ -499,20 +562,27 @@ pub unsafe extern "C" fn canvas_native_webgpu_device_create_render_pipeline( None }; - let primitive = &*descriptor.primitive; - let primitive: wgpu_types::PrimitiveState = primitive.into(); + let primitive: wgpu_types::PrimitiveState = if !descriptor.primitive.is_null() { + let primitive = *descriptor.primitive; + primitive.into() + } else { + wgpu_types::PrimitiveState::default() + }; let depth_stencil = if !descriptor.depth_stencil.is_null() { - let depth_stencil = &*descriptor.depth_stencil; + let depth_stencil = *descriptor.depth_stencil; let depth_stencil: wgpu_types::DepthStencilState = depth_stencil.into(); Some(depth_stencil) } else { None }; - let multisample = &*descriptor.multisample; - - let multisample: wgpu_types::MultisampleState = multisample.into(); + let multisample: wgpu_types::MultisampleState = if !descriptor.multisample.is_null() { + let multisample = *descriptor.multisample; + multisample.into() + } else { + wgpu_types::MultisampleState::default() + }; let vertex_buffers = if !vertex.buffers.is_null() { let buffers = std::slice::from_raw_parts(vertex.buffers, vertex.buffers_size); @@ -522,14 +592,14 @@ pub unsafe extern "C" fn canvas_native_webgpu_device_create_render_pipeline( let attributes = if !layout.attributes.is_null() { std::slice::from_raw_parts(layout.attributes, layout.attributes_size) .iter() - .map(|attr| attr.into()) + .map(|attr| (*attr).into()) .collect::>() } else { vec![] }; wgpu_core::pipeline::VertexBufferLayout { array_stride: layout.array_stride, - attributes: Cow::Owned((attributes)), + attributes: Cow::Owned(attributes), step_mode: layout.step_mode.into(), } }) @@ -548,14 +618,14 @@ pub unsafe extern "C" fn canvas_native_webgpu_device_create_render_pipeline( let constants = &*vertex.constants; Cow::Borrowed(&constants.0) } else { - HashMap::default() + Cow::Owned(HashMap::default()) }; let vertex = wgpu_core::pipeline::VertexState { stage: wgpu_core::pipeline::ProgrammableStageDescriptor { module: vertex_shader_module_id, entry_point: entry_point, - constants: Cow::Owned(constants), + constants: constants, // Required to be true for WebGPU zero_initialize_workgroup_memory: true, }, @@ -573,7 +643,17 @@ pub unsafe extern "C" fn canvas_native_webgpu_device_create_render_pipeline( multiview: None, }; - let (pipeline, error) = gfx_select!(device_id => global.device_create_render_pipeline(device_id, &desc, None, None)); + let implicit_pipelines = match descriptor.layout { + CanvasGPUPipelineLayoutOrGPUAutoLayoutMode::Layout(_) => None, + CanvasGPUPipelineLayoutOrGPUAutoLayoutMode::Auto(CanvasGPUAutoLayoutMode::Auto) => { + Some(wgpu_core::device::ImplicitPipelineIds { + root_id: None, + group_ids: &[None; MAX_BIND_GROUPS], + }) + } + }; + + let (pipeline, error) = gfx_select!(device_id => global.device_create_render_pipeline(device_id, &desc,None, implicit_pipelines)); if let Some(error) = error { // todo handle error diff --git a/crates/canvas-c/src/webgpu/gpu_queue.rs b/crates/canvas-c/src/webgpu/gpu_queue.rs index 0534266db..af63eac2c 100644 --- a/crates/canvas-c/src/webgpu/gpu_queue.rs +++ b/crates/canvas-c/src/webgpu/gpu_queue.rs @@ -54,7 +54,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_copy_external_image_to_textu } let queue = &mut *queue; - let queue_id = &mut queue.queue; + let queue_id = queue.queue; let global = &queue.instance.0; @@ -75,6 +75,8 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_copy_external_image_to_textu let destination_texture_id = destination_texture.texture; + let size = *size; + let size: wgpu_types::Extent3d = size.into(); let data = std::slice::from_raw_parts(source.source, source.source_size); @@ -98,12 +100,12 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_copy_external_image_to_textu { let data = get_offset_image( data, - source.width.into(), - source.height.into(), - source.origin.x.into(), - source.origin.y.into(), - size.width.into(), - size.height.into(), + source.width as usize, + source.height as usize, + source.origin.x as usize, + source.origin.y as usize, + size.width as usize, + size.height as usize, ); gfx_select!(queue_id => global.queue_write_texture(queue_id, &destination, data.as_slice(), &data_layout, &size)) } else { @@ -126,19 +128,19 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_on_submitted_work_done( } let queue = &mut *queue; - let queue_id = &mut queue.queue; + let queue_id = queue.queue; let global = &queue.instance.0; let func = callback as i64; let data = callback_data as i64; - let func = wgpu_core::device::queue::SubmittedWorkDoneClosure::from_rust(Box::new(|| { - let callback: fn(*mut c_char, *mut c_void) = std::mem::transmute(func); + let done = wgpu_core::device::queue::SubmittedWorkDoneClosure::from_rust(Box::new(move || { + let callback: fn(*mut c_char, *mut c_void) = std::mem::transmute(func as *mut c_void); let callback_data = data as *mut c_void; callback(std::ptr::null_mut(), callback_data); })); - if let Err(error) = gfx_select!(queue_id => global.queue_on_submitted_work_done(queue_id, func)) + if let Err(error) = gfx_select!(queue_id => global.queue_on_submitted_work_done(queue_id, done)) { let error = error.to_string(); let error = CString::new(error).unwrap().into_raw(); @@ -149,7 +151,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_on_submitted_work_done( #[no_mangle] pub unsafe extern "C" fn canvas_native_webgpu_queue_submit( queue: *mut CanvasGPUQueue, - command_buffers: *mut CanvasGPUCommandBuffer, + command_buffers: *const *const CanvasGPUCommandBuffer, command_buffers_size: usize, ) { if queue.is_null() || command_buffers.is_null() || command_buffers_size == 0 { @@ -157,20 +159,25 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_submit( } let queue = &mut *queue; - let queue_id = &mut queue.queue; + let queue_id = queue.queue; let global = &queue.instance.0; - let command_buffer_ids = std::slice::from_raw_parts_mut(command_buffers, command_buffers_size) + let command_buffer_ids = std::slice::from_raw_parts(command_buffers, command_buffers_size) .iter() - .map(|buffer| buffer.command_buffer) + .map(|buffer| { + let buffer = &**buffer; + buffer.command_buffer + }) .collect::>(); match gfx_select!(queue_id => global.queue_submit(queue_id, command_buffer_ids.as_slice())) { - Ok(_) => { + Ok(sub) => { // noop ?? + println!("canvas_native_webgpu_queue_submit : sub index {:?}", sub); } - Err(_) => { + Err(err) => { + println!("canvas_native_webgpu_queue_submit : error {:?}", err.to_string()); // todo } } @@ -191,7 +198,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_write_buffer( } let queue = &mut *queue; - let queue_id = &mut queue.queue; + let queue_id = queue.queue; let global = &queue.instance.0; @@ -227,7 +234,7 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_write_texture( } let queue = &mut *queue; - let queue_id = &mut queue.queue; + let queue_id = queue.queue; let global = &queue.instance.0; @@ -245,12 +252,14 @@ pub unsafe extern "C" fn canvas_native_webgpu_queue_write_texture( aspect: destination.aspect.into(), }; - let data_layout = &*data_layout; + let data_layout = *data_layout; let data_layout: wgpu_types::ImageDataLayout = data_layout.into(); let data = std::slice::from_raw_parts(buf, buf_size); + let size = *size; + let size: wgpu_types::Extent3d = size.into(); if let Err(_) = gfx_select!(queue_id => global.queue_write_texture(queue_id, &destination, data, &data_layout, &size)) diff --git a/crates/canvas-c/src/webgpu/gpu_render_pass.rs b/crates/canvas-c/src/webgpu/gpu_render_pass.rs index e937640d4..f3a21666c 100644 --- a/crates/canvas-c/src/webgpu/gpu_render_pass.rs +++ b/crates/canvas-c/src/webgpu/gpu_render_pass.rs @@ -318,11 +318,11 @@ pub unsafe extern "C" fn canvas_native_webgpu_render_pass_set_blend_constant( let render_pass = &mut *render_pass; let render_pass = &mut render_pass.pass; - let color = *&color; + let color: wgpu_types::Color = (*color).into(); wgpu_core::command::render_commands::wgpu_render_pass_set_blend_constant( render_pass, - color.into(), + &color, ); } @@ -345,15 +345,36 @@ pub unsafe extern "C" fn canvas_native_webgpu_render_pass_set_index_buffer( let buffer_id = buffer.buffer; let offset: u64 = offset.try_into().unwrap_or_default(); - let size: Option = size.try_into().ok(); + + let size: Option = size.try_into().ok(); - wgpu_core::command::render_commands::wgpu_render_pass_set_index_buffer( - render_pass, - buffer_id, - index_format.into(), - offset, - size, - ); + let mut sizeValue: Option> = None; + + if let Some(value) = size { + sizeValue = std::num::NonZero::new(value); + } + + if size.is_some() { + if let Some(size) = sizeValue { + wgpu_core::command::render_commands::wgpu_render_pass_set_index_buffer( + render_pass, + buffer_id, + index_format.into(), + offset, + Some(size), + ); + } else { + // todo error ?? + } + } else { + wgpu_core::command::render_commands::wgpu_render_pass_set_index_buffer( + render_pass, + buffer_id, + index_format.into(), + offset, + None, + ); + } } #[no_mangle] @@ -434,13 +455,38 @@ pub unsafe extern "C" fn canvas_native_webgpu_render_pass_set_vertex_buffer( let buffer = &*buffer; let buffer_id = buffer.buffer; - wgpu_core::command::render_commands::wgpu_render_pass_set_vertex_buffer( - render_pass, - slot, - buffer_id, - offset.try_into().unwrap_or_default(), - size.try_into().ok(), - ); + let size: Option = size.try_into().ok(); + + let mut sizeValue: Option> = None; + + if let Some(value) = size { + sizeValue = std::num::NonZero::new(value); + }else { + sizeValue = std::num::NonZero::new(buffer.size); + println!("SIZE {}", buffer.size); + } + + if size.is_some() { + if let Some(size) = sizeValue { + wgpu_core::command::render_commands::wgpu_render_pass_set_vertex_buffer( + render_pass, + slot, + buffer_id, + offset.try_into().unwrap_or_default(), + Some(size), + ); + } else { + // todo error ?? + } + } else { + wgpu_core::command::render_commands::wgpu_render_pass_set_vertex_buffer( + render_pass, + slot, + buffer_id, + offset.try_into().unwrap_or_default(), + None, + ); + } } #[no_mangle] diff --git a/crates/canvas-c/src/webgpu/gpu_render_pipeline.rs b/crates/canvas-c/src/webgpu/gpu_render_pipeline.rs index 6097aacb4..bba04486a 100644 --- a/crates/canvas-c/src/webgpu/gpu_render_pipeline.rs +++ b/crates/canvas-c/src/webgpu/gpu_render_pipeline.rs @@ -1,6 +1,33 @@ -use super::gpu::CanvasWebGPUInstance; +use super::{gpu::CanvasWebGPUInstance, gpu_bind_group_layout::CanvasGPUBindGroupLayout}; pub struct CanvasGPURenderPipeline { pub(crate) instance: CanvasWebGPUInstance, pub(crate) pipeline: wgpu_core::id::RenderPipelineId, } + +#[no_mangle] +pub unsafe extern "C" fn canvas_native_webgpu_render_pipeline_get_bind_group_layout( + pipeline: *const CanvasGPURenderPipeline, + index: u32, +)-> *mut CanvasGPUBindGroupLayout { + if pipeline.is_null() { + return std::ptr::null_mut(); + } + + let pipeline = &*pipeline; + let pipeline_id = pipeline.pipeline; + + let global = &pipeline.instance.0; + + let (group_layout, error) = gfx_select!(pipeline_id => global.render_pipeline_get_bind_group_layout(pipeline_id, index, None)); + + if let Some(error) = error { + // todo handle error + return std::ptr::null_mut(); + } + + Box::into_raw(Box::new(CanvasGPUBindGroupLayout { + instance: pipeline.instance.clone(), + group_layout: group_layout, + })) +} diff --git a/crates/canvas-c/src/webgpu/gpu_texture.rs b/crates/canvas-c/src/webgpu/gpu_texture.rs index 3a27c313d..148a46d1b 100644 --- a/crates/canvas-c/src/webgpu/gpu_texture.rs +++ b/crates/canvas-c/src/webgpu/gpu_texture.rs @@ -1,7 +1,13 @@ -use std::{ffi::{CStr, CString}, os::raw::c_char}; +use std::{ + ffi::{CStr, CString}, + os::raw::c_char, +}; use super::{ - enums::{CanvasGPUTextureFormat, CanvasTextureDimension}, + enums::{ + CanvasGPUTextureFormat, CanvasOptionalTextureDimension, CanvasOptionalTextureViewDimension, + CanvasOptionsGPUTextureFormat, CanvasTextureDimension, + }, gpu::CanvasWebGPUInstance, gpu_texture_view::CanvasGPUTextureView, structs::CanvasImageSubresourceRange, @@ -26,8 +32,8 @@ pub struct CanvasGPUTexture { pub struct CanvasCreateTextureViewDescriptor { texture: *const CanvasGPUTexture, label: *const c_char, - format: CanvasGPUTextureFormat, - dimension: CanvasTextureDimension, + format: CanvasOptionsGPUTextureFormat, + dimension: CanvasOptionalTextureViewDimension, range: *const CanvasImageSubresourceRange, } @@ -36,26 +42,32 @@ pub unsafe extern "C" fn canvas_native_webgpu_texture_create_texture_view( texture: *mut CanvasGPUTexture, descriptor: *const CanvasCreateTextureViewDescriptor, ) -> *mut CanvasGPUTextureView { - if texture.is_null() || descriptor.is_null() { - return; + if texture.is_null() { + return std::ptr::null_mut(); } let texture = unsafe { &*texture }; let texture_id = texture.texture; let global = &texture.instance.0; - let descriptor = &*descriptor; - - let label = if !descriptor.label.is_null() { - Some(unsafe { CStr::from_ptr(descriptor.label).to_string_lossy() }) + let desc = if descriptor.is_null() { + wgpu_core::resource::TextureViewDescriptor::default() } else { - None - }; + let descriptor = &*descriptor; + + let label = if !descriptor.label.is_null() { + Some(unsafe { CStr::from_ptr(descriptor.label).to_string_lossy() }) + } else { + None + }; - let desc = wgpu_core::resource::TextureViewDescriptor { - label: label, - format: descriptor.format.into(), - dimension: descriptor.dimension.into(), - range: descriptor.range.into(), + let range = *descriptor.range; + + wgpu_core::resource::TextureViewDescriptor { + label: label, + format: descriptor.format.into(), + dimension: descriptor.dimension.into(), + range: range.into(), + } }; let (texture_view, error) = diff --git a/crates/canvas-c/src/webgpu/mod.rs b/crates/canvas-c/src/webgpu/mod.rs index d00a2da26..6a12b1aa1 100644 --- a/crates/canvas-c/src/webgpu/mod.rs +++ b/crates/canvas-c/src/webgpu/mod.rs @@ -14,17 +14,7 @@ mod macros { }; ($id:expr => {$($c:tt)*}, $method:ident $params:tt) => { - match $id.backend() { - #[cfg(target_os = "android")] - wgpu_types::Backend::Vulkan => $($c)*.$method:: $params, - #[cfg(any(target_os = "ios", target_os = "macos"))] - wgpu_types::Backend::Metal => $($c)*.$method:: $params, - #[cfg(windows)] - wgpu_types::Backend::Dx12 => $($c)*.$method:: $params, - // #[cfg(not(target_os = "ios", target_os = "macos"))] - // wgpu_types::Backend::Gl => $($c)*.$method:: $params, - other => panic!("Unexpected backend {:?}", other), - } + $($c)*.$method:: $params }; } } diff --git a/crates/canvas-c/src/webgpu/prelude.rs b/crates/canvas-c/src/webgpu/prelude.rs index f6eca1d6a..f1599ba79 100644 --- a/crates/canvas-c/src/webgpu/prelude.rs +++ b/crates/canvas-c/src/webgpu/prelude.rs @@ -149,7 +149,7 @@ pub fn parse_required_features( ) -> wgpu_types::Features { let mut features = wgpu_types::Features::empty(); - if required_features.is_null() && required_features_length > 0 { + if !required_features.is_null() && required_features_length > 0 { let feats = unsafe { std::slice::from_raw_parts(required_features, required_features_length) }; for feat in feats { diff --git a/crates/canvas-c/src/webgpu/structs.rs b/crates/canvas-c/src/webgpu/structs.rs index 1f26becb2..5aaf9207a 100644 --- a/crates/canvas-c/src/webgpu/structs.rs +++ b/crates/canvas-c/src/webgpu/structs.rs @@ -1,6 +1,9 @@ use wgpu_core::naga::valid; -use super::enums::{CanvasGPUTextureFormat, CanvasTextureAspect, CanvasVertexFormat}; +use super::{ + enums::{CanvasGPUTextureFormat, CanvasTextureAspect, CanvasVertexFormat}, + gpu_texture_view::CanvasGPUTextureView, +}; #[repr(C)] #[derive(Clone, Copy, PartialEq, Eq, Hash)] @@ -34,6 +37,7 @@ impl Into for CanvasOrigin3d { } #[repr(C)] +#[derive(Debug, Clone, Copy)] pub struct CanvasOrigin2d { /// pub x: u32, @@ -91,7 +95,7 @@ impl From for CanvasExtent3d { } #[repr(C)] -#[derive(Clone, Copy, Debug, Default, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq)] pub struct CanvasColor { pub r: f64, pub g: f64, @@ -151,7 +155,7 @@ impl Into for CanvasColor { impl From for CanvasColor { fn from(value: wgpu_types::Color) -> Self { - Self::Color { + Self { r: value.r, g: value.g, b: value.b, @@ -212,7 +216,7 @@ pub struct CanvasImageCopyExternalImage { } #[repr(C)] -#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct CanvasImageSubresourceRange { pub aspect: CanvasTextureAspect, pub base_mip_level: u32, @@ -226,9 +230,9 @@ impl From for CanvasImageSubresourceRange { Self { aspect: value.aspect.into(), base_mip_level: value.base_mip_level, - mip_level_count: value.mip_level_count.try_into().unwrap_or(-1), + mip_level_count: value.mip_level_count.map(|v| v as i32).unwrap_or(-1), base_array_layer: value.base_array_layer, - array_layer_count: value.array_layer_count.try_into().unwrap_or(-1), + array_layer_count: value.array_layer_count.map(|v| v as i32).unwrap_or(-1), } } } @@ -246,15 +250,35 @@ impl Into for CanvasImageSubresourceRange { } #[repr(C)] -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct CanvasColorTargetState { pub format: CanvasGPUTextureFormat, pub blend: CanvasOptionalBlendState, pub write_mask: u32, } +impl From for CanvasColorTargetState { + fn from(value: wgpu_types::ColorTargetState) -> Self { + Self { + format: value.format.into(), + blend: value.blend.into(), + write_mask: value.write_mask.bits(), + } + } +} + +impl Into for CanvasColorTargetState { + fn into(self) -> wgpu_types::ColorTargetState { + wgpu_types::ColorTargetState { + format: self.format.into(), + blend: self.blend.into(), + write_mask: wgpu_types::ColorWrites::from_bits_truncate(self.write_mask), + } + } +} + #[repr(C)] -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum CanvasOptionalBlendState { None, Some(CanvasBlendState), @@ -270,10 +294,19 @@ impl From for CanvasColorTargetState { } } +impl From for CanvasOptionalBlendState { + fn from(value: wgpu_types::BlendState) -> Self { + Self::Some(CanvasBlendState { + color: value.color.into(), + alpha: value.alpha.into(), + }) + } +} + impl From> for CanvasOptionalBlendState { fn from(value: Option) -> Self { match value { - Some(value) => Some(value.into()), + Some(value) => Self::Some(value.into()), None => Self::None, } } @@ -283,7 +316,10 @@ impl Into> for CanvasOptionalBlendState { fn into(self) -> Option { match self { CanvasOptionalBlendState::None => None, - CanvasOptionalBlendState::Some(value) => Some(value.into()), + CanvasOptionalBlendState::Some(value) => Some(wgpu_types::BlendState { + color: value.color.into(), + alpha: value.alpha.into(), + }), } } } @@ -392,6 +428,16 @@ impl From for CanvasBlendComponent { } } +impl Into for CanvasBlendComponent { + fn into(self) -> wgpu_types::BlendComponent { + wgpu_types::BlendComponent { + src_factor: self.src_factor.into(), + dst_factor: self.dst_factor.into(), + operation: self.operation.into(), + } + } +} + #[repr(C)] #[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasBlendFactor { @@ -470,11 +516,34 @@ impl From for CanvasBlendFactor { } } +impl Into for CanvasBlendFactor { + fn into(self) -> wgpu_types::BlendFactor { + match self { + Self::Zero => wgpu_types::BlendFactor::Zero, + Self::One => wgpu_types::BlendFactor::One, + Self::Src => wgpu_types::BlendFactor::Src, + Self::OneMinusSrc => wgpu_types::BlendFactor::OneMinusSrc, + Self::SrcAlpha => wgpu_types::BlendFactor::SrcAlpha, + Self::OneMinusSrcAlpha => wgpu_types::BlendFactor::OneMinusSrcAlpha, + Self::Dst => wgpu_types::BlendFactor::Dst, + Self::OneMinusDst => wgpu_types::BlendFactor::OneMinusDst, + Self::DstAlpha => wgpu_types::BlendFactor::DstAlpha, + Self::OneMinusDstAlpha => wgpu_types::BlendFactor::OneMinusDstAlpha, + Self::SrcAlphaSaturated => wgpu_types::BlendFactor::SrcAlphaSaturated, + Self::Constant => wgpu_types::BlendFactor::Constant, + Self::OneMinusConstant => wgpu_types::BlendFactor::OneMinusConstant, + Self::Src1 => wgpu_types::BlendFactor::Src1, + Self::OneMinusSrc1 => wgpu_types::BlendFactor::OneMinusSrc1, + Self::Src1Alpha => wgpu_types::BlendFactor::Src1Alpha, + Self::OneMinusSrc1Alpha => wgpu_types::BlendFactor::OneMinusSrc1Alpha, + } + } +} + #[repr(C)] -#[derive(Copy, Clone, Debug, Default, Hash, Eq, PartialEq)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] pub enum CanvasBlendOperation { /// Src + Dst - #[default] Add = 0, /// Src - Dst Subtract = 1, @@ -498,6 +567,18 @@ impl From for CanvasBlendOperation { } } +impl Into for CanvasBlendOperation { + fn into(self) -> wgpu_types::BlendOperation { + match self { + CanvasBlendOperation::Add => wgpu_types::BlendOperation::Add, + CanvasBlendOperation::Subtract => wgpu_types::BlendOperation::Subtract, + CanvasBlendOperation::ReverseSubtract => wgpu_types::BlendOperation::ReverseSubtract, + CanvasBlendOperation::Min => wgpu_types::BlendOperation::Min, + CanvasBlendOperation::Max => wgpu_types::BlendOperation::Max, + } + } +} + #[repr(C)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] pub struct CanvasVertexAttribute { @@ -516,6 +597,16 @@ impl From for CanvasVertexAttribute { } } +impl Into for CanvasVertexAttribute { + fn into(self) -> wgpu_types::VertexAttribute { + wgpu_types::VertexAttribute { + format: self.format.into(), + offset: self.offset, + shader_location: self.shader_location, + } + } +} + #[repr(C)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] pub struct CanvasMultisampleState { @@ -543,3 +634,165 @@ impl From for CanvasMultisampleState { } } } + +impl Into for CanvasMultisampleState { + fn into(self) -> wgpu_types::MultisampleState { + wgpu_types::MultisampleState { + count: self.count, + mask: self.mask, + alpha_to_coverage_enabled: self.alpha_to_coverage_enabled, + } + } +} + +#[repr(C)] +#[derive(Clone, Debug, PartialEq)] +pub struct CanvasRenderPassColorAttachment { + pub view: *const CanvasGPUTextureView, + pub resolve_target: *const CanvasGPUTextureView, + pub channel: CanvasPassChannelColor, +} + +#[repr(C)] +#[derive(Clone, Debug, PartialEq)] +pub struct CanvasPassChannelColor { + pub load_op: CanvasLoadOp, + pub store_op: CanvasStoreOp, + pub clear_value: CanvasColor, + pub read_only: bool, +} + +impl From> for CanvasPassChannelColor { + fn from(value: wgpu_core::command::PassChannel) -> Self { + Self { + load_op: value.load_op.into(), + store_op: value.store_op.into(), + clear_value: value.clear_value.into(), + read_only: value.read_only, + } + } +} + +impl Into> for CanvasPassChannelColor { + fn into(self) -> wgpu_core::command::PassChannel { + wgpu_core::command::PassChannel { + load_op: self.load_op.into(), + store_op: self.store_op.into(), + clear_value: self.clear_value.into(), + read_only: self.read_only, + } + } +} + +#[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] + +pub enum CanvasLoadOp { + Clear = 0, + Load = 1, +} + +impl From for CanvasLoadOp { + fn from(value: wgpu_core::command::LoadOp) -> Self { + match value { + wgpu_core::command::LoadOp::Clear => Self::Clear, + wgpu_core::command::LoadOp::Load => Self::Load, + } + } +} + +impl Into for CanvasLoadOp { + fn into(self) -> wgpu_core::command::LoadOp { + match self { + CanvasLoadOp::Clear => wgpu_core::command::LoadOp::Clear, + CanvasLoadOp::Load => wgpu_core::command::LoadOp::Load, + } + } +} + +#[repr(C)] +#[derive(Copy, Clone, Debug, Hash, Eq, PartialEq)] +pub enum CanvasStoreOp { + Discard = 0, + Store = 1, +} + +impl From for CanvasStoreOp { + fn from(value: wgpu_core::command::StoreOp) -> Self { + match value { + wgpu_core::command::StoreOp::Discard => Self::Discard, + wgpu_core::command::StoreOp::Store => Self::Store, + } + } +} + +impl Into for CanvasStoreOp { + fn into(self) -> wgpu_core::command::StoreOp { + match self { + CanvasStoreOp::Discard => wgpu_core::command::StoreOp::Discard, + CanvasStoreOp::Store => wgpu_core::command::StoreOp::Store, + } + } +} + +#[repr(C)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum CanvasOptionalLoadOp { + None, + Some(CanvasLoadOp), +} + +impl From> for CanvasOptionalLoadOp { + fn from(value: Option) -> Self { + match value { + Some(value) => Self::Some(value.into()), + None => Self::None, + } + } +} + +impl Into> for CanvasOptionalLoadOp { + fn into(self) -> Option { + match self { + CanvasOptionalLoadOp::None => None, + CanvasOptionalLoadOp::Some(value) => Some(value.into()), + } + } +} + +#[repr(C)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum CanvasOptionalStoreOp { + None, + Some(CanvasStoreOp), +} + +impl From> for CanvasOptionalStoreOp { + fn from(value: Option) -> Self { + match value { + Some(value) => Self::Some(value.into()), + None => Self::None, + } + } +} + +impl Into> for CanvasOptionalStoreOp { + fn into(self) -> Option { + match self { + CanvasOptionalStoreOp::None => None, + CanvasOptionalStoreOp::Some(value) => Some(value.into()), + } + } +} + +pub struct CanvasRenderPassDepthStencilAttachment { + pub(crate) view: *const CanvasGPUTextureView, + pub(crate) depth_clear_value: f32, + pub(crate) depth_load_op: CanvasLoadOp, + pub(crate) depth_store_op: CanvasStoreOp, + pub(crate) depth_read_only: bool, + pub(crate) stencil_clear_value: u32, + pub(crate) stencil_load_op: CanvasLoadOp, + pub(crate) stencil_store_op: CanvasStoreOp, + pub(crate) stencil_read_only: bool, +} diff --git a/crates/canvas-ios/src/lib.rs b/crates/canvas-ios/src/lib.rs index cca3e99ca..f1f13313e 100644 --- a/crates/canvas-ios/src/lib.rs +++ b/crates/canvas-ios/src/lib.rs @@ -35,6 +35,7 @@ pub(crate) struct iOSWebGPUContext { ios_view: iOSView, } + #[no_mangle] pub extern "C" fn canvas_native_init_ios_webgpu( instance: i64, @@ -63,6 +64,35 @@ pub extern "C" fn canvas_native_init_ios_webgpu( 0 } +#[cfg(any(target_os = "ios"))] +#[no_mangle] +pub extern "C" fn canvas_native_init_ios_webgpu_uiview( + instance: i64, + view: i64, + width: u32, + height: u32, +) -> c_longlong { + env_logger::init(); + + if instance == 0 { + return 0; + } + + if let Some(ios_view) = NonNull::new(view as *mut c_void) { + let instance = unsafe { instance as *mut CanvasWebGPUInstance }; + return unsafe { + webgpu::gpu_canvas_context::canvas_native_webgpu_context_create_uiview( + instance, + view as *mut c_void, + width, + height, + ) as i64 + }; + } + + 0 +} + #[no_mangle] pub extern "C" fn canvas_native_init_ios_gl( view: i64, diff --git a/crates/canvas-svg/Cargo.toml b/crates/canvas-svg/Cargo.toml index cc9051290..f77946f70 100644 --- a/crates/canvas-svg/Cargo.toml +++ b/crates/canvas-svg/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" [lib] name = "canvassvg" -crate-type = ["staticlib", "cdylib"] +crate-type = ["staticlib"] diff --git a/crates/playground/Cargo.toml b/crates/playground/Cargo.toml index 79ff3109f..39726ffb0 100644 --- a/crates/playground/Cargo.toml +++ b/crates/playground/Cargo.toml @@ -4,14 +4,15 @@ version = "0.1.0" edition = "2021" [dependencies] -canvas-core = { path = "../canvas-core" } +canvas-core = { path = "../canvas-core", features = ["2d"] } canvas-webgl = { path = "../canvas-webgl" } canvas-2d = { path = "../canvas-2d", features = ["gl"] } gl-bindings = { path = "../gl-bindings" } -raw-window-handle = "0.5.2" +raw-window-handle = "0.6.2" rand = "0.8.5" reqwest = { version = "0.11.14", features = ["blocking"] } chrono = "0.4.23" +canvas-c = { path = "../canvas-c", features = ["2d","webgl"] } [target.'cfg(any(target_os = "macos", target_os = "android"))'.dependencies] winit = "0.29.4" diff --git a/crates/playground/src/main.rs b/crates/playground/src/main.rs index f9e7cfe84..a7180bcd0 100644 --- a/crates/playground/src/main.rs +++ b/crates/playground/src/main.rs @@ -2,10 +2,14 @@ use std::ffi::{CStr, CString}; use std::fmt::Formatter; use std::io::Read; use std::num::NonZeroU32; +use std::ptr::null; use std::string::ToString; use std::sync::Arc; use std::time::{Instant, SystemTime}; +use canvas_c::webgpu::gpu_adapter::CanvasGPUAdapter; +use canvas_c::webgpu::gpu_device::CanvasGPUDevice; +use canvas_c::webgpu::wgpu_core::instance; use chrono::Timelike; use glutin::api::cgl::config::Config; use glutin::api::cgl::display::Display; @@ -535,6 +539,60 @@ void main() { canvas_native_webgl_draw_arrays(primitive_type, offset, count, state); } +struct Data { + adapter: Option<*mut CanvasGPUAdapter>, + device: Option<*mut CanvasGPUDevice>, + signal: std::sync::mpsc::Sender<()>, + instance: *mut canvas_c::webgpu::gpu::CanvasWebGPUInstance, + window: raw_window_handle::RawWindowHandle, + width: u32, + height: u32, +} + +#[no_mangle] +pub extern "C" fn my_device_callback( + error: *mut std::ffi::c_char, + device: *mut CanvasGPUDevice, + data: *mut std::ffi::c_void, +) { + // Your callback implementation + println!( + "Callback called with device: {:?}, data: {:?}", + device, data + ); + + let mut data: *mut Data = data as _; + let data = unsafe { &mut *data }; + data.device = Some(device); + + data.signal.send(()); +} + +#[no_mangle] +pub extern "C" fn my_callback(adapter: *mut CanvasGPUAdapter, data: *mut std::ffi::c_void) { + // Your callback implementation + println!( + "Callback called with adapter: {:?}, data: {:?}", + adapter, data + ); + + { + let mut data: *mut Data = data as _; + let data = unsafe { &mut *data }; + data.adapter = Some(adapter); + data.signal.send(()); + } + canvas_c::webgpu::gpu_adapter::canvas_native_webgpu_request_device( + adapter, + std::ptr::null(), + std::ptr::null() as _, + 0, + std::ptr::null(), + my_device_callback, + data, + ) +} + fn main() { let event_loop = EventLoop::new().unwrap(); let window_builder = WindowBuilder::new(); @@ -545,9 +603,11 @@ fn main() { .build(&event_loop) .unwrap(); + + let raw_window_handle = window.raw_window_handle(); - let mut attrs = ContextAttributes::default(); + /*let mut attrs = ContextAttributes::default(); attrs.set_antialias(false); let size = window.inner_size(); @@ -573,6 +633,8 @@ fn main() { let mut gl_state = WebGLState::new_with_context(webgl, WebGLVersion::V2); + */ + // let value = match canvas_webgl::webgl::canvas_native_webgl_get_parameter(36006, &mut gl_state) { // WebGLResult::U32(value) => value as i32, // WebGLResult::I32(value) => value, @@ -655,7 +717,7 @@ fn main() { // triangle(&mut gl_state); - let mut done = false; + /* let mut done = false; let mut gl_state_other = WebGLState::new_with_context(owebgl, WebGLVersion::V2); @@ -682,6 +744,44 @@ fn main() { 0., canvas_2d::context::text_styles::text_direction::TextDirection::LTR, )); + */ + + let instance = canvas_c::webgpu::gpu::canvas_native_webgpu_instance_create(); + + let options = canvas_c::webgpu::gpu::CanvasGPURequestAdapterOptions { + power_preference: canvas_c::webgpu::gpu::CanvasGPUPowerPreference::LowPower, + force_fallback_adapter: false, + }; + + let (tx, rx) = std::sync::mpsc::channel(); + + + let size = window.inner_size(); + let mut data = Data { + instance, + window: window.raw_window_handle().unwrap(), + adapter: None, + device: None, + signal: tx, + width: size.width, + height: size.height, + }; + + let data = Box::into_raw(Box::new(data)); + + unsafe { + canvas_c::webgpu::gpu::canvas_native_webgpu_request_adapter( + instance, + &options, + my_callback, + data as _ + ) + }; + + + let _ = rx.recv(); + let _ = rx.recv(); + event_loop.run(move |event, target| { match event { @@ -689,13 +789,300 @@ fn main() { Event::WindowEvent { event, .. } => { match event { WindowEvent::Resized(resized) => { - canvas_webgl::webgl::canvas_native_webgl_viewport( + + println!("Resized {:?}", resized); + + + + let SHADERS = r#" + struct VertexOut { + @builtin(position) position : vec4f, + @location(0) color : vec4f + } + + @vertex + fn vertex_main(@location(0) position: vec4f, + @location(1) color: vec4f) -> VertexOut + { + var output : VertexOut; + output.position = position; + output.color = color; + return output; + } + + @fragment + fn fragment_main(fragData: VertexOut) -> @location(0) vec4f + { + return fragData.color; + } + "#; + + let source = CString::new(SHADERS).unwrap(); + + let data = unsafe {&mut*data}; + + let device = data.device.unwrap(); + + let module = canvas_c::webgpu::gpu_device::canvas_native_webgpu_device_create_shader_module( + device, + std::ptr::null(), + source.as_ptr(), + ); + + + + let instance = data.instance; + match data.window { + RawWindowHandle::AppKit(window) => { + + + let context = unsafe { + canvas_c::webgpu::gpu_canvas_context::canvas_native_webgpu_context_create_nsview( + instance, + window.ns_view.as_ptr(), + data.width, + data.height, + ) + }; + + let RENDER_ATTACHMENT = 1 << 4 as u32; + + let config = canvas_c::webgpu::gpu_canvas_context::CanvasGPUSurfaceConfiguration { alphaMode: canvas_c::webgpu::gpu_canvas_context::CanvasGPUSurfaceAlphaMode::PostMultiplied, usage: RENDER_ATTACHMENT, presentMode: canvas_c::webgpu::gpu_canvas_context::CanvasGPUPresentMode::Fifo, view_formats: std::ptr::null(), view_formats_size: 0 }; + + canvas_c::webgpu::gpu_canvas_context::canvas_native_webgpu_context_configure(context, device, &config); + + + + let texture = canvas_c::webgpu::gpu_canvas_context::canvas_native_webgpu_context_get_current_texture(context); + + let desc = std::ptr::null() as _; + + let view = unsafe { canvas_c::webgpu::gpu_texture::canvas_native_webgpu_texture_create_texture_view(texture, desc)}; + + + + let vertices: Vec = vec![0.0, 0.6, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, -0.5, -0.6, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.5, -0.6, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0]; + + + /* + + MAP_READ = 0x0001, + MAP_WRITE = 0x0002, + COPY_SRC = 0x0004, + COPY_DST = 0x0008, + INDEX = 0x0010, + VERTEX = 0x0020, + UNIFORM = 0x0040, + STORAGE = 0x0080, + INDIRECT = 0x0100, + QUERY_RESOLVE = 0x0200, +} + + */ + let usage: u32 = 0x0020 | 0x0008; + let buffer = canvas_c::webgpu::gpu_device::canvas_native_webgpu_device_create_buffer(device, std::ptr::null(), vertices.len() as u64 * 4, usage, false, std::ptr::null_mut()); + + + let queue = canvas_c::webgpu::gpu_device::canvas_native_webgpu_device_get_queue(device); + unsafe {canvas_c::webgpu::gpu_queue::canvas_native_webgpu_queue_write_buffer(queue, buffer, 0, vertices.as_ptr() as _, vertices.len() * 4, 0, -1)} + + let vertext_entry_point = CString::new("vertex_main").unwrap(); + + let vertex_attributes = vec![ + canvas_c::webgpu::structs::CanvasVertexAttribute { format: canvas_c::webgpu::enums::CanvasVertexFormat::Float32x4, offset: 0, shader_location: 0 }, + canvas_c::webgpu::structs::CanvasVertexAttribute { format: canvas_c::webgpu::enums::CanvasVertexFormat::Float32x4, offset: 16, shader_location: 1 } + ]; + + let buffers = vec![canvas_c::webgpu::gpu_device::CanvasVertexBufferLayout { array_stride: 32, step_mode: canvas_c::webgpu::enums::CanvasVertexStepMode::Vertex, attributes: vertex_attributes.as_ptr(), attributes_size: vertex_attributes.len() }]; + let vertex = canvas_c::webgpu::gpu_device::CanvasVertexState { module: module, entry_point: vertext_entry_point.as_ptr(), constants: std::ptr::null(), buffers: buffers.as_ptr(), buffers_size: buffers.len() }; + + let primitive = canvas_c::webgpu::gpu_device::CanvasPrimitiveState { topology: canvas_c::webgpu::enums::CanvasPrimitiveTopology::TriangleList , strip_index_format: canvas_c::webgpu::enums::CanvasOptionalIndexFormat::None, front_face: canvas_c::webgpu::enums::CanvasFrontFace::Ccw, cull_mode: canvas_c::webgpu::enums::CanvasCullMode::None, unclipped_depth: false }; + + let fragment_entry_point = CString::new("fragment_main").unwrap(); + let fragment_targets = vec![canvas_c::webgpu::structs::CanvasColorTargetState { format: canvas_c::webgpu::enums::CanvasGPUTextureFormat::Bgra8Unorm, blend: canvas_c::webgpu::structs::CanvasOptionalBlendState::None, write_mask: 0xF }]; + let fragment = canvas_c::webgpu::gpu_device::CanvasFragmentState { targets: fragment_targets.as_ptr(), targets_size:fragment_targets.len(), module: module, entry_point: fragment_entry_point.as_ptr(), constants: std::ptr::null() }; + + let descriptor = canvas_c::webgpu::gpu_device::CanvasCreateRenderPipelineDescriptor { label: std::ptr::null(), layout: canvas_c::webgpu::gpu_device::CanvasGPUPipelineLayoutOrGPUAutoLayoutMode::Auto(canvas_c::webgpu::gpu_device::CanvasGPUAutoLayoutMode::Auto), vertex: &vertex, primitive: &primitive, depth_stencil: std::ptr::null(), multisample: std::ptr::null(), fragment: &fragment}; + let pipeline = unsafe { canvas_c::webgpu::gpu_device::canvas_native_webgpu_device_create_render_pipeline(device, &descriptor)}; + + + let command_encoder = canvas_c::webgpu::gpu_device::canvas_native_webgpu_device_create_command_encoder(device, std::ptr::null()); + + + println!("pipeline {:?}", pipeline); + + println!("commandEncoder {:?}", command_encoder); + + + + let color_attachments = vec![canvas_c::webgpu::structs::CanvasRenderPassColorAttachment{ view: view, resolve_target: std::ptr::null() as _, channel: canvas_c::webgpu::structs::CanvasPassChannelColor { load_op: canvas_c::webgpu::structs::CanvasLoadOp::Clear, store_op: canvas_c::webgpu::structs::CanvasStoreOp::Store, clear_value: canvas_c::webgpu::structs::CanvasColor { r: 0., g: 0.5, b: 1., a: 1. }, read_only: false } }]; + + + let render_pass = unsafe { canvas_c::webgpu::gpu_command_encoder::canvas_native_webgpu_command_encoder_begin_render_pass(command_encoder, std::ptr::null(), color_attachments.as_ptr(), color_attachments.len(), std::ptr::null(), std::ptr::null(), std::ptr::null(), -1, -1)}; + + + unsafe { canvas_c::webgpu::gpu_render_pass::canvas_native_webgpu_render_pass_set_pipeline(render_pass, pipeline) } + + + unsafe { canvas_c::webgpu::gpu_render_pass::canvas_native_webgpu_render_pass_set_vertex_buffer(render_pass, 0, buffer, 0, -1) } + + + unsafe { canvas_c::webgpu::gpu_render_pass::canvas_native_webgpu_render_pass_encoder_draw(render_pass, 3, 1, 0,0) } + + + unsafe { canvas_c::webgpu::gpu_render_pass::canvas_native_webgpu_render_pass_end(render_pass) } + + + let exe = unsafe {canvas_c::webgpu::gpu_command_encoder::canvas_native_webgpu_command_encoder_finish(command_encoder, std::ptr::null()) }; + + let command_buffers = vec![exe]; + + unsafe { canvas_c::webgpu::gpu_queue::canvas_native_webgpu_queue_submit(queue, command_buffers.as_ptr() as _, command_buffers.len())} + + + + println!("finish {:?}", exe); + } + _ => todo!(), + } + + /* canvas_webgl::webgl::canvas_native_webgl_viewport( 0, 0, resized.width as i32, resized.height as i32, &gl_state, ); + */ + + // window.request_redraw(); + // + // ctx_2d.get_context_mut().flush(); + // + // gl_state.swap_buffers(); + } + WindowEvent::CloseRequested => { + //control_flow.set_exit(); + } + WindowEvent::RedrawRequested => { + // if !done { + /* window.request_redraw(); + + canvas_native_webgl_clear_color(1., 1., 1., 1., &mut gl_state); + + canvas_native_webgl_clear(16384, &mut gl_state); + + // test(&mut gl_state, &mut gl_state_other, &mut ctx_2d); + + let mut ctx = ctx_2d.get_context_mut(); + + ctx.fill_text(" ", 0., 0., None); + + // leaves(&mut gl_state, &mut gl_state_other, &mut ctx_2d); + + done = true; + + gl_state.swap_buffers(); + */ + // } + + // rainbow_octopus(&mut ctx_2d, &mut ro); + + // if let (Some(sun), Some(moon), Some(earth)) = (sun.as_ref(), moon.as_ref(), earth.as_ref()) { + // solar(&ctx_2d, earth, moon, sun, fill.clone(), stroke.clone()) + // } + + // { + // clock(&mut ctx_2d); + // } + + //swarm(&mut ctx_2d, &mut particles, particle_count); + + // colorRain(&mut ctx_2d, &mut colors, &mut dots, &mut dots_vel); + + /* + + if let Some(color) = PaintStyle::new_color_str("red") { + { + let mut ctx = ctx_2d.get_context_mut(); + // colorRain(&mut ctx_2d, &mut colors, &mut dots, &mut dots_vel); + let bg = PaintStyle::new_color_str("white").unwrap(); + let black = PaintStyle::new_color_str("black").unwrap(); + ctx.set_fill_style(bg); + let device = *ctx.device(); + ctx.rect(0., 0., device.width, device.height); + ctx.fill(None); + ctx.set_fill_style(black); + + // Create a red line in position 150 + ctx.set_stroke_style(color); + ctx.move_to(150., 20.); + ctx.line_to(150., 170.); + ctx.stroke(None); + + ctx.set_font("15px Arial"); + + // Show the different textAlign values + ctx.set_text_align(TextAlign::START); + ctx.fill_text("textAlign = start", 150., 60., None); + ctx.set_text_align(TextAlign::END); + ctx.fill_text("textAlign = end", 150., 80., None); + ctx.set_text_align(TextAlign::LEFT); + ctx.fill_text("textAlign = left", 150., 100., None); + ctx.set_text_align(TextAlign::CENTER); + ctx.fill_text("textAlign = center", 150., 120., None); + ctx.set_text_align(TextAlign::RIGHT); + ctx.fill_text("textAlign = right", 150., 140., None); + + ctx.flush(); + } + + // println!("{}", canvas_2d::to_data_url(&mut ctx_2d, "image/jpg", 100)) + } + + */ + // + // ctx_2d.fill_rect_xywh(0., 0., 300., 300.); + // ctx_2d.get_context_mut().flush(); + //ctx_2d.flush(); + + // canvas_webgl::webgl::canvas_native_webgl_clear_color(1.0, 1.0, 0.0, 1.0, &mut gl_state); + // + // let start = Instant::now(); + // canvas_webgl::webgl::canvas_native_webgl_clear(canvas_webgl::webgl::COLOR_BUFFER_BIT, &mut gl_state); + // let end = Instant::now() - start; + // + // println!("clear {:?}", end.as_millis()); + // canvas_webgl::webgl::canvas_native_webgl_draw_arrays(canvas_webgl::webgl::TRIANGLES, 0, 3, &mut gl_state); + + // canvas_webgl::webgl::canvas_native_webgl_draw_arrays(canvas_webgl::webgl::POINTS, 0, 1, &mut gl_state); + + // gl_state.swap_buffers(); + } + _ => {} + } + } + Event::Resumed => {} + _ => {} + } + }); + + + /* + event_loop.run(move |event, target| { + match event { + Event::NewEvents(_) => {} + Event::WindowEvent { event, .. } => { + match event { + WindowEvent::Resized(resized) => { + /* canvas_webgl::webgl::canvas_native_webgl_viewport( + 0, + 0, + resized.width as i32, + resized.height as i32, + &gl_state, + ); + */ // window.request_redraw(); // @@ -708,7 +1095,7 @@ fn main() { } WindowEvent::RedrawRequested => { if !done { - window.request_redraw(); + /* window.request_redraw(); canvas_native_webgl_clear_color(1., 1., 1., 1., &mut gl_state); @@ -725,6 +1112,7 @@ fn main() { done = true; gl_state.swap_buffers(); + */ } // rainbow_octopus(&mut ctx_2d, &mut ro); @@ -807,6 +1195,7 @@ fn main() { _ => {} } }); + */ /* diff --git a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG index eeededafb..4c880f63e 100755 Binary files a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG and b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG differ diff --git a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG index b55ced842..d723ad565 100644 Binary files a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG and b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ diff --git a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml index bf6f79171..05972ac4e 100644 --- a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +++ b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml @@ -2,8 +2,8 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xA80B8, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xDA50, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xA80ED, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xDA80, symSize: 0x0 } + - { offsetInCU: 0x34, offset: 0xA80B8, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x4A4000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xA80ED, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x4A4030, symSize: 0x0 } - { offsetInCU: 0x27, offset: 0xA812A, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0xB4 } - { offsetInCU: 0x66, offset: 0xA8169, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0xB4 } - { offsetInCU: 0x15B, offset: 0xA825E, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x40B4, symSize: 0xB4 } @@ -97,4 +97,128 @@ relocations: - { offsetInCU: 0x47E9, offset: 0xACB41, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x4574, symBinAddr: 0x86BC, symSize: 0x1F4 } - { offsetInCU: 0x4846, offset: 0xACB9E, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4768, symBinAddr: 0x88B0, symSize: 0x1C } - { offsetInCU: 0x487D, offset: 0xACBD5, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4784, symBinAddr: 0x88CC, symSize: 0xBC } + - { offsetInCU: 0x26, offset: 0xACF12, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x94798, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0xACF2C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9DE0, symBinAddr: 0x4DC230, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xACF7E, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFDE0, symBinAddr: 0x4E2230, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xACFE2, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE08, symBinAddr: 0x4E2258, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xACFF8, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10210, symBinAddr: 0x4E2660, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xAD00F, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE50, symBinAddr: 0x4E22A0, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0xAD8AE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x94798, symSize: 0x265C } + - { offsetInCU: 0x45CD, offset: 0xB14B9, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x96DF4, symSize: 0x134 } + - { offsetInCU: 0x46F3, offset: 0xB15DF, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9918, symBinAddr: 0x9E0B0, symSize: 0x21C } + - { offsetInCU: 0x4922, offset: 0xB180E, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FDC, symBinAddr: 0x99774, symSize: 0x1B8 } + - { offsetInCU: 0x530F, offset: 0xB21FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x96F28, symSize: 0x5BC } + - { offsetInCU: 0x5F72, offset: 0xB2E5E, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x974E4, symSize: 0x7F8 } + - { offsetInCU: 0x642A, offset: 0xB3316, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x97CDC, symSize: 0x208 } + - { offsetInCU: 0x69F8, offset: 0xB38E4, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x97EE4, symSize: 0x7B0 } + - { offsetInCU: 0x77D8, offset: 0xB46C4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3EFC, symBinAddr: 0x98694, symSize: 0x634 } + - { offsetInCU: 0x8199, offset: 0xB5085, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4530, symBinAddr: 0x98CC8, symSize: 0xAAC } + - { offsetInCU: 0x956A, offset: 0xB6456, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x5298, symBinAddr: 0x99A30, symSize: 0x23F8 } + - { offsetInCU: 0xCABB, offset: 0xB99A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5194, symBinAddr: 0x9992C, symSize: 0x104 } + - { offsetInCU: 0xCD03, offset: 0xB9BEF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7690, symBinAddr: 0x9BE28, symSize: 0x30 } + - { offsetInCU: 0xCDF4, offset: 0xB9CE0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C0, symBinAddr: 0x9BE58, symSize: 0x58 } + - { offsetInCU: 0xCE69, offset: 0xB9D55, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCEB1, offset: 0xB9D9D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCEE0, offset: 0xB9DCC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCF04, offset: 0xB9DF0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x771C, symBinAddr: 0x9BEB4, symSize: 0x8C } + - { offsetInCU: 0xD039, offset: 0xB9F25, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x9BF40, symSize: 0x4 } + - { offsetInCU: 0xD072, offset: 0xB9F5E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x9BF40, symSize: 0x4 } + - { offsetInCU: 0xD30B, offset: 0xBA1F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77AC, symBinAddr: 0x9BF44, symSize: 0x1598 } + - { offsetInCU: 0x10654, offset: 0xBD540, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B34, symBinAddr: 0x9E2CC, symSize: 0x218 } + - { offsetInCU: 0x10C86, offset: 0xBDB72, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D44, symBinAddr: 0x9D4DC, symSize: 0x20 } + - { offsetInCU: 0x11123, offset: 0xBE00F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8D64, symBinAddr: 0x9D4FC, symSize: 0xBB4 } + - { offsetInCU: 0x26, offset: 0xBEDF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9E4E4, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0xBEF9E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9E4E4, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xBF239, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9E6D8, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0xBF247, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9E6D8, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xBF357, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9E714, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0xBF365, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9E714, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0xBF4C8, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x4E2710, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xBF4FA, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x4E26A0, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xBF51C, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x4E26D0, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xBF532, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x4E2700, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xBF7F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9E7AC, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0xBF83D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9E7AC, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0xBF9D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x9E7C4, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0xBFA81, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x9E7DC, symSize: 0x320 } + - { offsetInCU: 0x1199, offset: 0xC05DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x9EAFC, symSize: 0xAC } + - { offsetInCU: 0x148F, offset: 0xC08D1, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x9EBA8, symSize: 0x500 } + - { offsetInCU: 0x268C, offset: 0xC1ACE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x9F0A8, symSize: 0x2C8 } + - { offsetInCU: 0x2CDB, offset: 0xC211D, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x9F370, symSize: 0xF4 } + - { offsetInCU: 0x2EED, offset: 0xC232F, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x9F464, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0xC2694, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0xC2768, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0xC279A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0xC2807, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9F604, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0xC2861, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9F604, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0xC2989, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x9F640, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0xC2B85, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x9F69C, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0xC2CA4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x9F6B8, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0xC2D47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x9F70C, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0xC2F15, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9F758, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0xC2F79, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9F758, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0xC3218, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9F800, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0xC32BA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9F800, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0xC354C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9F910, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0xC35CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9F910, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0xC374F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x9F9C0, symSize: 0x178 } + - { offsetInCU: 0x13AB, offset: 0xC3A19, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x56C, symBinAddr: 0x9FB38, symSize: 0x1F4 } + - { offsetInCU: 0x1500, offset: 0xC3B6E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x760, symBinAddr: 0x9FD2C, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0xC3BD5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x778, symBinAddr: 0x9FD44, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0xC3C0E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x784, symBinAddr: 0x9FD50, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0xC3C92, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x78C, symBinAddr: 0x9FD58, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xC3E45, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9FD94, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0xC3E53, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9FD94, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0xC3F59, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x374, symBinAddr: 0xB56F10, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xC3F9B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9FF04, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0xC3FEB, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x4E3000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xC406F, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x508000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xC42D0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9FF04, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xC4BDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0xA028C, symSize: 0x204 } + - { offsetInCU: 0x1171, offset: 0xC50E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0xA0490, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xC54BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xA0660, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xC54FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xA0660, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xC5509, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0xA0800, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xC552C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0xA0860, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xC551D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xA0AF0, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xC5555, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xA0AF0, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xC556C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0xA0C20, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xC5582, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0xA0C90, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xC5587, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0xA0DF0, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xC5595, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xA1180, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xC55CD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xA1180, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xC55D1, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0xA1520, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xC55EB, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0xA1BE0, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xC5637, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0xA2E80, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xC564D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0xA4000, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xC5643, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA5420, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xC5678, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA5420, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xC5680, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0xA5660, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xC5696, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0xA6040, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xC56A5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA66A0, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xC56DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA66A0, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xC56F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0xA66E0, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xC570B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0xA6720, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xC5716, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0xA6760, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xC572C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0xA6940, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xC5740, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0xA6AB0, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xC5758, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0xA6B00, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xC576E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0xA6B50, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xC5784, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0xA6BA0, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xC57A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0xA6C00, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xC57B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0xA6DE0, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xC57D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0xA7140, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xC57EB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0xA7410, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xC5805, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0xA76C0, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xC5819, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0xA7910, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xC582F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0xA7970, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xC5825, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA79C0, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xC5861, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA79C0, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xC5877, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0xA8550, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xC5871, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA9100, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58B2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA9100, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58B2, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA9F40, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xC58BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xAA740, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58FE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xAA740, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58FE, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xAB580, symSize: 0x1F0 } ... diff --git a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG index ffcab34f2..b3e2e3091 100755 Binary files a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG and b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG differ diff --git a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG index 0b7b7ae14..083608d47 100644 Binary files a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG and b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ diff --git a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml index 5b5a06348..d9d83ac31 100644 --- a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +++ b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml @@ -2,99 +2,223 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xA8AAE, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xB120, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xA8AE3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xB150, symSize: 0x0 } - - { offsetInCU: 0x27, offset: 0xA8B20, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x282C, symSize: 0xB4 } - - { offsetInCU: 0x66, offset: 0xA8B5F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x282C, symSize: 0xB4 } - - { offsetInCU: 0x15B, offset: 0xA8C54, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x28E0, symSize: 0xB4 } - - { offsetInCU: 0x65, offset: 0xA8DB3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2994, symSize: 0x44 } - - { offsetInCU: 0xBD, offset: 0xA8E0B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x88, symBinAddr: 0x2A1C, symSize: 0x48 } - - { offsetInCU: 0x118, offset: 0xA8E66, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x12C, symBinAddr: 0x2AC0, symSize: 0x44 } - - { offsetInCU: 0x170, offset: 0xA8EBE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x1B4, symBinAddr: 0x2B48, symSize: 0x54 } - - { offsetInCU: 0x1CD, offset: 0xA8F1B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x2B0, symBinAddr: 0x2C44, symSize: 0x44 } - - { offsetInCU: 0x225, offset: 0xA8F73, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x338, symBinAddr: 0x2CCC, symSize: 0x48 } - - { offsetInCU: 0x280, offset: 0xA8FCE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2DB8, symSize: 0x10 } - - { offsetInCU: 0x2A0, offset: 0xA8FEE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2DB8, symSize: 0x10 } - - { offsetInCU: 0x2D6, offset: 0xA9024, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2DC8, symSize: 0x10 } - - { offsetInCU: 0x2F6, offset: 0xA9044, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2DC8, symSize: 0x10 } - - { offsetInCU: 0x32F, offset: 0xA907D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2DD8, symSize: 0x10 } - - { offsetInCU: 0x34F, offset: 0xA909D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2DD8, symSize: 0x10 } - - { offsetInCU: 0x385, offset: 0xA90D3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2DE8, symSize: 0x10 } - - { offsetInCU: 0x3A5, offset: 0xA90F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2DE8, symSize: 0x10 } - - { offsetInCU: 0x3DE, offset: 0xA912C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2DF8, symSize: 0x10 } - - { offsetInCU: 0x3FE, offset: 0xA914C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2DF8, symSize: 0x10 } - - { offsetInCU: 0x434, offset: 0xA9182, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2E08, symSize: 0x10 } - - { offsetInCU: 0x454, offset: 0xA91A2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2E08, symSize: 0x10 } - - { offsetInCU: 0x48D, offset: 0xA91DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x484, symBinAddr: 0x2E18, symSize: 0x44 } - - { offsetInCU: 0x4FB, offset: 0xA9249, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x50C, symBinAddr: 0x2EA0, symSize: 0x64 } - - { offsetInCU: 0x5EF, offset: 0xA933D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xADC, symBinAddr: 0x3470, symSize: 0xB8 } - - { offsetInCU: 0x6E0, offset: 0xA942E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x1628, symBinAddr: 0x3FBC, symSize: 0x28 } - - { offsetInCU: 0x712, offset: 0xA9460, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x18F0, symBinAddr: 0x4284, symSize: 0x28 } - - { offsetInCU: 0x744, offset: 0xA9492, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x191C, symBinAddr: 0x42AC, symSize: 0x28 } - - { offsetInCU: 0x78C, offset: 0xA94DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x42D4, symSize: 0x10 } - - { offsetInCU: 0x7AC, offset: 0xA94FA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x42D4, symSize: 0x10 } - - { offsetInCU: 0x800, offset: 0xA954E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D3C, symBinAddr: 0x46CC, symSize: 0x20 } - - { offsetInCU: 0x837, offset: 0xA9585, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1FD8, symBinAddr: 0x4968, symSize: 0x28 } - - { offsetInCU: 0x889, offset: 0xA95D7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E4, symBinAddr: 0x4B58, symSize: 0x80 } - - { offsetInCU: 0x8FC, offset: 0xA964A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x240C, symBinAddr: 0x4D80, symSize: 0x34 } - - { offsetInCU: 0x92E, offset: 0xA967C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24D0, symBinAddr: 0x4E44, symSize: 0x34 } - - { offsetInCU: 0xA5C, offset: 0xA97AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4870, symBinAddr: 0x71E4, symSize: 0x13E8 } - - { offsetInCU: 0x172A, offset: 0xAA478, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5C58, symBinAddr: 0x85CC, symSize: 0x238 } - - { offsetInCU: 0x1948, offset: 0xAA696, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5E90, symBinAddr: 0x8804, symSize: 0x2F0 } - - { offsetInCU: 0x1B96, offset: 0xAA8E4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6180, symBinAddr: 0x8AF4, symSize: 0x3A4 } - - { offsetInCU: 0x1E0D, offset: 0xAAB5B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xD0, symBinAddr: 0x2A64, symSize: 0x50 } - - { offsetInCU: 0x1E45, offset: 0xAAB93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x208, symBinAddr: 0x2B9C, symSize: 0x50 } - - { offsetInCU: 0x1E7D, offset: 0xAABCB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x258, symBinAddr: 0x2BEC, symSize: 0x58 } - - { offsetInCU: 0x1EBF, offset: 0xAAC0D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x380, symBinAddr: 0x2D14, symSize: 0x50 } - - { offsetInCU: 0x1EF7, offset: 0xAAC45, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x5D0, symBinAddr: 0x2F64, symSize: 0x50 } - - { offsetInCU: 0x1F2F, offset: 0xAAC7D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x620, symBinAddr: 0x2FB4, symSize: 0x64 } - - { offsetInCU: 0x1FEA, offset: 0xAAD38, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C98, symBinAddr: 0x4628, symSize: 0x40 } - - { offsetInCU: 0x1FFE, offset: 0xAAD4C, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x1CD8, symBinAddr: 0x4668, symSize: 0x44 } - - { offsetInCU: 0x2012, offset: 0xAAD60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1D1C, symBinAddr: 0x46AC, symSize: 0x20 } - - { offsetInCU: 0x2036, offset: 0xAAD84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x4404, symBinAddr: 0x6D78, symSize: 0x70 } - - { offsetInCU: 0x2480, offset: 0xAB1CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6550, symBinAddr: 0x8EC4, symSize: 0xC } - - { offsetInCU: 0x2494, offset: 0xAB1E2, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x655C, symBinAddr: 0x8ED0, symSize: 0x10 } - - { offsetInCU: 0x24A8, offset: 0xAB1F6, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x656C, symBinAddr: 0x8EE0, symSize: 0x8 } - - { offsetInCU: 0x24BC, offset: 0xAB20A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x65F8, symBinAddr: 0x8F6C, symSize: 0xC } - - { offsetInCU: 0x24D0, offset: 0xAB21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6634, symBinAddr: 0x8FA8, symSize: 0xC } - - { offsetInCU: 0x24E4, offset: 0xAB232, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x67E8, symBinAddr: 0x915C, symSize: 0xC } - - { offsetInCU: 0x24F8, offset: 0xAB246, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x67F4, symBinAddr: 0x9168, symSize: 0x4 } - - { offsetInCU: 0x250C, offset: 0xAB25A, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x67F8, symBinAddr: 0x916C, symSize: 0x20 } - - { offsetInCU: 0x2520, offset: 0xAB26E, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x6818, symBinAddr: 0x918C, symSize: 0x28 } - - { offsetInCU: 0x253F, offset: 0xAB28D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x68BC, symBinAddr: 0x9230, symSize: 0x10 } - - { offsetInCU: 0x2568, offset: 0xAB2B6, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x68CC, symBinAddr: 0x9240, symSize: 0x40 } - - { offsetInCU: 0x257C, offset: 0xAB2CA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x6948, symBinAddr: 0x92BC, symSize: 0x24 } - - { offsetInCU: 0x25B0, offset: 0xAB2FE, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x69A4, symBinAddr: 0x9318, symSize: 0x44 } - - { offsetInCU: 0x25C4, offset: 0xAB312, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x6B64, symBinAddr: 0x94D8, symSize: 0x108 } - - { offsetInCU: 0x26D7, offset: 0xAB425, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x6C90, symBinAddr: 0x9604, symSize: 0x8 } - - { offsetInCU: 0x2C80, offset: 0xAB9CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x44, symBinAddr: 0x29D8, symSize: 0x44 } - - { offsetInCU: 0x2D08, offset: 0xABA56, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x170, symBinAddr: 0x2B04, symSize: 0x44 } - - { offsetInCU: 0x2D60, offset: 0xABAAE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2F4, symBinAddr: 0x2C88, symSize: 0x44 } - - { offsetInCU: 0x2E59, offset: 0xABBA7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4C8, symBinAddr: 0x2E5C, symSize: 0x44 } - - { offsetInCU: 0x2EAC, offset: 0xABBFA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x570, symBinAddr: 0x2F04, symSize: 0x60 } - - { offsetInCU: 0x2F1C, offset: 0xABC6A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x684, symBinAddr: 0x3018, symSize: 0x48 } - - { offsetInCU: 0x2F41, offset: 0xABC8F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x6CC, symBinAddr: 0x3060, symSize: 0x3C } - - { offsetInCU: 0x2F9D, offset: 0xABCEB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x750, symBinAddr: 0x30E4, symSize: 0x48 } - - { offsetInCU: 0x2FC2, offset: 0xABD10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA60, symBinAddr: 0x33F4, symSize: 0x48 } - - { offsetInCU: 0x315F, offset: 0xABEAD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xB94, symBinAddr: 0x3528, symSize: 0x45C } - - { offsetInCU: 0x347B, offset: 0xAC1C9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xFF0, symBinAddr: 0x3984, symSize: 0x634 } - - { offsetInCU: 0x3733, offset: 0xAC481, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1650, symBinAddr: 0x3FE4, symSize: 0x2A0 } - - { offsetInCU: 0x3AD2, offset: 0xAC820, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1954, symBinAddr: 0x42E4, symSize: 0x50 } - - { offsetInCU: 0x3AE6, offset: 0xAC834, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x19A4, symBinAddr: 0x4334, symSize: 0x2F4 } - - { offsetInCU: 0x3B6A, offset: 0xAC8B8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D5C, symBinAddr: 0x46EC, symSize: 0x27C } - - { offsetInCU: 0x3C21, offset: 0xAC96F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x2000, symBinAddr: 0x4990, symSize: 0x1C8 } - - { offsetInCU: 0x3E27, offset: 0xACB75, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2264, symBinAddr: 0x4BD8, symSize: 0x1A8 } - - { offsetInCU: 0x4003, offset: 0xACD51, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2440, symBinAddr: 0x4DB4, symSize: 0x90 } - - { offsetInCU: 0x40B2, offset: 0xACE00, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x2504, symBinAddr: 0x4E78, symSize: 0x4 } - - { offsetInCU: 0x40C6, offset: 0xACE14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2514, symBinAddr: 0x4E88, symSize: 0x4 } - - { offsetInCU: 0x40DA, offset: 0xACE28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2524, symBinAddr: 0x4E98, symSize: 0x4 } - - { offsetInCU: 0x40FA, offset: 0xACE48, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x2570, symBinAddr: 0x4EE4, symSize: 0x26C } - - { offsetInCU: 0x416D, offset: 0xACEBB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x27DC, symBinAddr: 0x5150, symSize: 0x3DC } - - { offsetInCU: 0x4466, offset: 0xAD1B4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2C20, symBinAddr: 0x5594, symSize: 0x81C } - - { offsetInCU: 0x45C6, offset: 0xAD314, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x36D8, symBinAddr: 0x604C, symSize: 0xC38 } - - { offsetInCU: 0x478D, offset: 0xAD4DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x43D4, symBinAddr: 0x6D48, symSize: 0x30 } - - { offsetInCU: 0x47B0, offset: 0xAD4FE, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4474, symBinAddr: 0x6DE8, symSize: 0xE8 } - - { offsetInCU: 0x47E5, offset: 0xAD533, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x455C, symBinAddr: 0x6ED0, symSize: 0x1F4 } - - { offsetInCU: 0x4842, offset: 0xAD590, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4750, symBinAddr: 0x70C4, symSize: 0x1C } - - { offsetInCU: 0x4880, offset: 0xAD5CE, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x476C, symBinAddr: 0x70E0, symSize: 0x104 } + - { offsetInCU: 0x34, offset: 0xA8AAE, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x49D000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xA8AE3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x49D030, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0xA8B20, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2980, symSize: 0xB4 } + - { offsetInCU: 0x66, offset: 0xA8B5F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2980, symSize: 0xB4 } + - { offsetInCU: 0x15B, offset: 0xA8C54, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x2A34, symSize: 0xB4 } + - { offsetInCU: 0x65, offset: 0xA8DB3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2AE8, symSize: 0x44 } + - { offsetInCU: 0xBD, offset: 0xA8E0B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x88, symBinAddr: 0x2B70, symSize: 0x48 } + - { offsetInCU: 0x118, offset: 0xA8E66, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x12C, symBinAddr: 0x2C14, symSize: 0x44 } + - { offsetInCU: 0x170, offset: 0xA8EBE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x1B4, symBinAddr: 0x2C9C, symSize: 0x54 } + - { offsetInCU: 0x1CD, offset: 0xA8F1B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x2B0, symBinAddr: 0x2D98, symSize: 0x44 } + - { offsetInCU: 0x225, offset: 0xA8F73, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x338, symBinAddr: 0x2E20, symSize: 0x48 } + - { offsetInCU: 0x280, offset: 0xA8FCE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2F0C, symSize: 0x10 } + - { offsetInCU: 0x2A0, offset: 0xA8FEE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2F0C, symSize: 0x10 } + - { offsetInCU: 0x2D6, offset: 0xA9024, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2F1C, symSize: 0x10 } + - { offsetInCU: 0x2F6, offset: 0xA9044, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2F1C, symSize: 0x10 } + - { offsetInCU: 0x32F, offset: 0xA907D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2F2C, symSize: 0x10 } + - { offsetInCU: 0x34F, offset: 0xA909D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2F2C, symSize: 0x10 } + - { offsetInCU: 0x385, offset: 0xA90D3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2F3C, symSize: 0x10 } + - { offsetInCU: 0x3A5, offset: 0xA90F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2F3C, symSize: 0x10 } + - { offsetInCU: 0x3DE, offset: 0xA912C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2F4C, symSize: 0x10 } + - { offsetInCU: 0x3FE, offset: 0xA914C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2F4C, symSize: 0x10 } + - { offsetInCU: 0x434, offset: 0xA9182, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2F5C, symSize: 0x10 } + - { offsetInCU: 0x454, offset: 0xA91A2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2F5C, symSize: 0x10 } + - { offsetInCU: 0x48D, offset: 0xA91DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x484, symBinAddr: 0x2F6C, symSize: 0x44 } + - { offsetInCU: 0x4FB, offset: 0xA9249, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x50C, symBinAddr: 0x2FF4, symSize: 0x64 } + - { offsetInCU: 0x5EF, offset: 0xA933D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xADC, symBinAddr: 0x35C4, symSize: 0xB8 } + - { offsetInCU: 0x6E0, offset: 0xA942E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x1628, symBinAddr: 0x4110, symSize: 0x28 } + - { offsetInCU: 0x712, offset: 0xA9460, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x18F0, symBinAddr: 0x43D8, symSize: 0x28 } + - { offsetInCU: 0x744, offset: 0xA9492, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x191C, symBinAddr: 0x4400, symSize: 0x28 } + - { offsetInCU: 0x78C, offset: 0xA94DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x4428, symSize: 0x10 } + - { offsetInCU: 0x7AC, offset: 0xA94FA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x4428, symSize: 0x10 } + - { offsetInCU: 0x800, offset: 0xA954E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D3C, symBinAddr: 0x4820, symSize: 0x20 } + - { offsetInCU: 0x837, offset: 0xA9585, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1FD8, symBinAddr: 0x4ABC, symSize: 0x28 } + - { offsetInCU: 0x889, offset: 0xA95D7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E4, symBinAddr: 0x4CAC, symSize: 0x80 } + - { offsetInCU: 0x8FC, offset: 0xA964A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x240C, symBinAddr: 0x4ED4, symSize: 0x34 } + - { offsetInCU: 0x92E, offset: 0xA967C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24D0, symBinAddr: 0x4F98, symSize: 0x34 } + - { offsetInCU: 0xA5C, offset: 0xA97AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4870, symBinAddr: 0x7338, symSize: 0x13E8 } + - { offsetInCU: 0x172A, offset: 0xAA478, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5C58, symBinAddr: 0x8720, symSize: 0x238 } + - { offsetInCU: 0x1948, offset: 0xAA696, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5E90, symBinAddr: 0x8958, symSize: 0x2F0 } + - { offsetInCU: 0x1B96, offset: 0xAA8E4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6180, symBinAddr: 0x8C48, symSize: 0x3A4 } + - { offsetInCU: 0x1E0D, offset: 0xAAB5B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xD0, symBinAddr: 0x2BB8, symSize: 0x50 } + - { offsetInCU: 0x1E45, offset: 0xAAB93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x208, symBinAddr: 0x2CF0, symSize: 0x50 } + - { offsetInCU: 0x1E7D, offset: 0xAABCB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x258, symBinAddr: 0x2D40, symSize: 0x58 } + - { offsetInCU: 0x1EBF, offset: 0xAAC0D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x380, symBinAddr: 0x2E68, symSize: 0x50 } + - { offsetInCU: 0x1EF7, offset: 0xAAC45, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x5D0, symBinAddr: 0x30B8, symSize: 0x50 } + - { offsetInCU: 0x1F2F, offset: 0xAAC7D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x620, symBinAddr: 0x3108, symSize: 0x64 } + - { offsetInCU: 0x1FEA, offset: 0xAAD38, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C98, symBinAddr: 0x477C, symSize: 0x40 } + - { offsetInCU: 0x1FFE, offset: 0xAAD4C, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x1CD8, symBinAddr: 0x47BC, symSize: 0x44 } + - { offsetInCU: 0x2012, offset: 0xAAD60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1D1C, symBinAddr: 0x4800, symSize: 0x20 } + - { offsetInCU: 0x2036, offset: 0xAAD84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x4404, symBinAddr: 0x6ECC, symSize: 0x70 } + - { offsetInCU: 0x2480, offset: 0xAB1CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6550, symBinAddr: 0x9018, symSize: 0xC } + - { offsetInCU: 0x2494, offset: 0xAB1E2, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x655C, symBinAddr: 0x9024, symSize: 0x10 } + - { offsetInCU: 0x24A8, offset: 0xAB1F6, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x656C, symBinAddr: 0x9034, symSize: 0x8 } + - { offsetInCU: 0x24BC, offset: 0xAB20A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x65F8, symBinAddr: 0x90C0, symSize: 0xC } + - { offsetInCU: 0x24D0, offset: 0xAB21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6634, symBinAddr: 0x90FC, symSize: 0xC } + - { offsetInCU: 0x24E4, offset: 0xAB232, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x67E8, symBinAddr: 0x92B0, symSize: 0xC } + - { offsetInCU: 0x24F8, offset: 0xAB246, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x67F4, symBinAddr: 0x92BC, symSize: 0x4 } + - { offsetInCU: 0x250C, offset: 0xAB25A, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x67F8, symBinAddr: 0x92C0, symSize: 0x20 } + - { offsetInCU: 0x2520, offset: 0xAB26E, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x6818, symBinAddr: 0x92E0, symSize: 0x28 } + - { offsetInCU: 0x253F, offset: 0xAB28D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x68BC, symBinAddr: 0x9384, symSize: 0x10 } + - { offsetInCU: 0x2568, offset: 0xAB2B6, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x68CC, symBinAddr: 0x9394, symSize: 0x40 } + - { offsetInCU: 0x257C, offset: 0xAB2CA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x6948, symBinAddr: 0x9410, symSize: 0x24 } + - { offsetInCU: 0x25B0, offset: 0xAB2FE, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x69A4, symBinAddr: 0x946C, symSize: 0x44 } + - { offsetInCU: 0x25C4, offset: 0xAB312, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x6B64, symBinAddr: 0x962C, symSize: 0x108 } + - { offsetInCU: 0x26D7, offset: 0xAB425, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x6C90, symBinAddr: 0x9758, symSize: 0x8 } + - { offsetInCU: 0x2C80, offset: 0xAB9CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x44, symBinAddr: 0x2B2C, symSize: 0x44 } + - { offsetInCU: 0x2D08, offset: 0xABA56, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x170, symBinAddr: 0x2C58, symSize: 0x44 } + - { offsetInCU: 0x2D60, offset: 0xABAAE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2F4, symBinAddr: 0x2DDC, symSize: 0x44 } + - { offsetInCU: 0x2E59, offset: 0xABBA7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4C8, symBinAddr: 0x2FB0, symSize: 0x44 } + - { offsetInCU: 0x2EAC, offset: 0xABBFA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x570, symBinAddr: 0x3058, symSize: 0x60 } + - { offsetInCU: 0x2F1C, offset: 0xABC6A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x684, symBinAddr: 0x316C, symSize: 0x48 } + - { offsetInCU: 0x2F41, offset: 0xABC8F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x6CC, symBinAddr: 0x31B4, symSize: 0x3C } + - { offsetInCU: 0x2F9D, offset: 0xABCEB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x750, symBinAddr: 0x3238, symSize: 0x48 } + - { offsetInCU: 0x2FC2, offset: 0xABD10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA60, symBinAddr: 0x3548, symSize: 0x48 } + - { offsetInCU: 0x315F, offset: 0xABEAD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xB94, symBinAddr: 0x367C, symSize: 0x45C } + - { offsetInCU: 0x347B, offset: 0xAC1C9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xFF0, symBinAddr: 0x3AD8, symSize: 0x634 } + - { offsetInCU: 0x3733, offset: 0xAC481, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1650, symBinAddr: 0x4138, symSize: 0x2A0 } + - { offsetInCU: 0x3AD2, offset: 0xAC820, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1954, symBinAddr: 0x4438, symSize: 0x50 } + - { offsetInCU: 0x3AE6, offset: 0xAC834, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x19A4, symBinAddr: 0x4488, symSize: 0x2F4 } + - { offsetInCU: 0x3B6A, offset: 0xAC8B8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D5C, symBinAddr: 0x4840, symSize: 0x27C } + - { offsetInCU: 0x3C21, offset: 0xAC96F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x2000, symBinAddr: 0x4AE4, symSize: 0x1C8 } + - { offsetInCU: 0x3E27, offset: 0xACB75, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2264, symBinAddr: 0x4D2C, symSize: 0x1A8 } + - { offsetInCU: 0x4003, offset: 0xACD51, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2440, symBinAddr: 0x4F08, symSize: 0x90 } + - { offsetInCU: 0x40B2, offset: 0xACE00, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x2504, symBinAddr: 0x4FCC, symSize: 0x4 } + - { offsetInCU: 0x40C6, offset: 0xACE14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2514, symBinAddr: 0x4FDC, symSize: 0x4 } + - { offsetInCU: 0x40DA, offset: 0xACE28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2524, symBinAddr: 0x4FEC, symSize: 0x4 } + - { offsetInCU: 0x40FA, offset: 0xACE48, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x2570, symBinAddr: 0x5038, symSize: 0x26C } + - { offsetInCU: 0x416D, offset: 0xACEBB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x27DC, symBinAddr: 0x52A4, symSize: 0x3DC } + - { offsetInCU: 0x4466, offset: 0xAD1B4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2C20, symBinAddr: 0x56E8, symSize: 0x81C } + - { offsetInCU: 0x45C6, offset: 0xAD314, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x36D8, symBinAddr: 0x61A0, symSize: 0xC38 } + - { offsetInCU: 0x478D, offset: 0xAD4DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x43D4, symBinAddr: 0x6E9C, symSize: 0x30 } + - { offsetInCU: 0x47B0, offset: 0xAD4FE, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4474, symBinAddr: 0x6F3C, symSize: 0xE8 } + - { offsetInCU: 0x47E5, offset: 0xAD533, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x455C, symBinAddr: 0x7024, symSize: 0x1F4 } + - { offsetInCU: 0x4842, offset: 0xAD590, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4750, symBinAddr: 0x7218, symSize: 0x1C } + - { offsetInCU: 0x4880, offset: 0xAD5CE, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x476C, symBinAddr: 0x7234, symSize: 0x104 } + - { offsetInCU: 0x26, offset: 0xAD94B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x92A04, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0xAD965, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9E20, symBinAddr: 0x4D5230, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xAD9B7, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFE20, symBinAddr: 0x4DB230, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xADA1B, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE48, symBinAddr: 0x4DB258, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xADA31, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10250, symBinAddr: 0x4DB660, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xADA48, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE90, symBinAddr: 0x4DB2A0, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0xAE2E7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x92A04, symSize: 0x265C } + - { offsetInCU: 0x45D1, offset: 0xB1EF6, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x95060, symSize: 0x134 } + - { offsetInCU: 0x46F7, offset: 0xB201C, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9954, symBinAddr: 0x9C358, symSize: 0x21C } + - { offsetInCU: 0x4926, offset: 0xB224B, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FE0, symBinAddr: 0x979E4, symSize: 0x1B8 } + - { offsetInCU: 0x5313, offset: 0xB2C38, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x95194, symSize: 0x5BC } + - { offsetInCU: 0x5F76, offset: 0xB389B, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x95750, symSize: 0x7F8 } + - { offsetInCU: 0x642E, offset: 0xB3D53, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x95F48, symSize: 0x208 } + - { offsetInCU: 0x69FC, offset: 0xB4321, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x96150, symSize: 0x7B4 } + - { offsetInCU: 0x77D5, offset: 0xB50FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3F00, symBinAddr: 0x96904, symSize: 0x634 } + - { offsetInCU: 0x8196, offset: 0xB5ABB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4534, symBinAddr: 0x96F38, symSize: 0xAAC } + - { offsetInCU: 0x9567, offset: 0xB6E8C, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x529C, symBinAddr: 0x97CA0, symSize: 0x23F8 } + - { offsetInCU: 0xCAB8, offset: 0xBA3DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5198, symBinAddr: 0x97B9C, symSize: 0x104 } + - { offsetInCU: 0xCD20, offset: 0xBA645, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7694, symBinAddr: 0x9A098, symSize: 0x30 } + - { offsetInCU: 0xCE11, offset: 0xBA736, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C4, symBinAddr: 0x9A0C8, symSize: 0x58 } + - { offsetInCU: 0xCE86, offset: 0xBA7AB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCECE, offset: 0xBA7F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCEFD, offset: 0xBA822, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCF21, offset: 0xBA846, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x7720, symBinAddr: 0x9A124, symSize: 0x8C } + - { offsetInCU: 0xD056, offset: 0xBA97B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x9A1B0, symSize: 0x4 } + - { offsetInCU: 0xD08F, offset: 0xBA9B4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x9A1B0, symSize: 0x4 } + - { offsetInCU: 0xD328, offset: 0xBAC4D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77B0, symBinAddr: 0x9A1B4, symSize: 0x15D8 } + - { offsetInCU: 0x10671, offset: 0xBDF96, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B70, symBinAddr: 0x9C574, symSize: 0x218 } + - { offsetInCU: 0x10CA3, offset: 0xBE5C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D88, symBinAddr: 0x9B78C, symSize: 0x20 } + - { offsetInCU: 0x11140, offset: 0xBEA65, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8DA8, symBinAddr: 0x9B7AC, symSize: 0xBAC } + - { offsetInCU: 0x26, offset: 0xBF830, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9C78C, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0xBF9DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9C78C, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xBFC77, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9C980, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0xBFC85, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9C980, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xBFD95, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9C9BC, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0xBFDA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9C9BC, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0xBFF06, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x4DB710, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xBFF38, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x4DB6A0, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xBFF5A, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x4DB6D0, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xBFF70, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x4DB700, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xC0237, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9CA54, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0xC027B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9CA54, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0xC0414, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x9CA6C, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0xC04BF, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x9CA84, symSize: 0x320 } + - { offsetInCU: 0x1173, offset: 0xC0FF3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x9CDA4, symSize: 0xAC } + - { offsetInCU: 0x1469, offset: 0xC12E9, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x9CE50, symSize: 0x500 } + - { offsetInCU: 0x2666, offset: 0xC24E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x9D350, symSize: 0x2C8 } + - { offsetInCU: 0x2CB5, offset: 0xC2B35, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x9D618, symSize: 0xF4 } + - { offsetInCU: 0x2EC7, offset: 0xC2D47, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x9D70C, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0xC3072, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0xC3146, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0xC3178, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0xC31E5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9D8AC, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0xC323F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9D8AC, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0xC3367, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x9D8E8, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0xC3563, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x9D944, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0xC3682, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x9D960, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0xC3725, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x9D9B4, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0xC38F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9DA00, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0xC3957, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9DA00, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0xC3BF6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9DAA8, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0xC3C98, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9DAA8, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0xC3F2A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9DBB8, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0xC3FAA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9DBB8, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0xC412D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x9DC68, symSize: 0x198 } + - { offsetInCU: 0x13AB, offset: 0xC43F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x58C, symBinAddr: 0x9DE00, symSize: 0x290 } + - { offsetInCU: 0x1500, offset: 0xC454C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x81C, symBinAddr: 0x9E090, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0xC45B3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x834, symBinAddr: 0x9E0A8, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0xC45EC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x840, symBinAddr: 0x9E0B4, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0xC4670, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x848, symBinAddr: 0x9E0BC, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xC4823, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9E0F8, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xC4831, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9E0F8, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xC4937, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x398, symBinAddr: 0xB51258, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xC4979, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9E288, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0xC49C9, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x4DC000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xC4A4D, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x501000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xC4CAE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9E288, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xC55B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x9E610, symSize: 0x204 } + - { offsetInCU: 0x1163, offset: 0xC5AB6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x9E814, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xC5E8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x9E9E0, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xC5ECB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x9E9E0, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xC5ED9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x9EB80, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xC5EFC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x9EBE0, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xC5EED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x9EE70, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xC5F25, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x9EE70, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xC5F3C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x9EFA0, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xC5F52, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x9F010, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xC5F57, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x9F170, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xC5F65, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x9F500, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xC5F9D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x9F500, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xC5FA1, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x9F8A0, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xC5FBB, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x9FF60, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xC6007, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0xA1200, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xC601D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0xA2380, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xC6013, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA37A0, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xC6048, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA37A0, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xC6050, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0xA39E0, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xC6066, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0xA43C0, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xC6075, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA4A20, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xC60AC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA4A20, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xC60C2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0xA4A60, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xC60DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0xA4AA0, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xC60E6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0xA4AE0, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xC60FC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0xA4CC0, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xC6110, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0xA4E30, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xC6128, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0xA4E80, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xC613E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0xA4ED0, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xC6154, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0xA4F20, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xC6176, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0xA4F80, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xC6189, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0xA5160, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xC61A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0xA54C0, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xC61BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0xA5790, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xC61D5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0xA5A40, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xC61E9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0xA5C90, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xC61FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0xA5CF0, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xC61F5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA5D40, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xC6231, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA5D40, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xC6247, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0xA68D0, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xC6241, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA7480, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC6282, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA7480, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC6282, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA82C0, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xC628D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA8AC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC62CE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA8AC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC62CE, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA9900, symSize: 0x1F0 } ... diff --git a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml index e098a7116..d2102e6b8 100644 --- a/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml +++ b/packages/canvas-svg/platforms/ios/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml @@ -2,92 +2,290 @@ triple: 'x86_64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xAB77E, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xC550, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xAB7B3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xC580, symSize: 0x0 } - - { offsetInCU: 0x27, offset: 0xAB7F0, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2290, symSize: 0xC5 } - - { offsetInCU: 0x66, offset: 0xAB82F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2290, symSize: 0xC5 } - - { offsetInCU: 0x1D9, offset: 0xAB9A2, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xC5, symBinAddr: 0x2355, symSize: 0xC5 } - - { offsetInCU: 0x65, offset: 0xABB7F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2420, symSize: 0x40 } - - { offsetInCU: 0xBB, offset: 0xABBD5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x70, symBinAddr: 0x2490, symSize: 0x40 } - - { offsetInCU: 0x114, offset: 0xABC2E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x110, symBinAddr: 0x2530, symSize: 0x40 } - - { offsetInCU: 0x16A, offset: 0xABC84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x190, symBinAddr: 0x25B0, symSize: 0x60 } - - { offsetInCU: 0x1C5, offset: 0xABCDF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x280, symBinAddr: 0x26A0, symSize: 0x40 } - - { offsetInCU: 0x21B, offset: 0xABD35, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x2F0, symBinAddr: 0x2710, symSize: 0x40 } - - { offsetInCU: 0x274, offset: 0xABD8E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x3D0, symBinAddr: 0x27F0, symSize: 0x20 } - - { offsetInCU: 0x2CA, offset: 0xABDE4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x3F0, symBinAddr: 0x2810, symSize: 0x10 } - - { offsetInCU: 0x323, offset: 0xABE3D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x400, symBinAddr: 0x2820, symSize: 0x20 } - - { offsetInCU: 0x379, offset: 0xABE93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x420, symBinAddr: 0x2840, symSize: 0x10 } - - { offsetInCU: 0x3D2, offset: 0xABEEC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x430, symBinAddr: 0x2850, symSize: 0x20 } - - { offsetInCU: 0x428, offset: 0xABF42, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x450, symBinAddr: 0x2870, symSize: 0x10 } - - { offsetInCU: 0x481, offset: 0xABF9B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x460, symBinAddr: 0x2880, symSize: 0x40 } - - { offsetInCU: 0x4ED, offset: 0xAC007, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x4D0, symBinAddr: 0x28F0, symSize: 0x50 } - - { offsetInCU: 0x5E1, offset: 0xAC0FB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xB10, symBinAddr: 0x2F30, symSize: 0xB0 } - - { offsetInCU: 0x6D2, offset: 0xAC1EC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x14E0, symBinAddr: 0x3900, symSize: 0x30 } - - { offsetInCU: 0x704, offset: 0xAC21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1830, symBinAddr: 0x3C50, symSize: 0x30 } - - { offsetInCU: 0x736, offset: 0xAC250, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1870, symBinAddr: 0x3C80, symSize: 0x30 } - - { offsetInCU: 0x77E, offset: 0xAC298, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x18A0, symBinAddr: 0x3CB0, symSize: 0x20 } - - { offsetInCU: 0x7F2, offset: 0xAC30C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D00, symBinAddr: 0x4110, symSize: 0x30 } - - { offsetInCU: 0x829, offset: 0xAC343, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1F90, symBinAddr: 0x43A0, symSize: 0x30 } - - { offsetInCU: 0x87B, offset: 0xAC395, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E0, symBinAddr: 0x45D0, symSize: 0x80 } - - { offsetInCU: 0x8EE, offset: 0xAC408, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x2400, symBinAddr: 0x47F0, symSize: 0x30 } - - { offsetInCU: 0x920, offset: 0xAC43A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24B0, symBinAddr: 0x48A0, symSize: 0x30 } - - { offsetInCU: 0xA4E, offset: 0xAC568, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4BA0, symBinAddr: 0x6F90, symSize: 0x17D0 } - - { offsetInCU: 0x16BB, offset: 0xAD1D5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6370, symBinAddr: 0x8760, symSize: 0x2B0 } - - { offsetInCU: 0x18BE, offset: 0xAD3D8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6620, symBinAddr: 0x8A10, symSize: 0x3D0 } - - { offsetInCU: 0x1AF2, offset: 0xAD60C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x69F0, symBinAddr: 0x8DE0, symSize: 0x470 } - - { offsetInCU: 0x1D54, offset: 0xAD86E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xB0, symBinAddr: 0x24D0, symSize: 0x40 } - - { offsetInCU: 0x1D8A, offset: 0xAD8A4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x1F0, symBinAddr: 0x2610, symSize: 0x40 } - - { offsetInCU: 0x1DC0, offset: 0xAD8DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x230, symBinAddr: 0x2650, symSize: 0x50 } - - { offsetInCU: 0x1DEE, offset: 0xAD908, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x330, symBinAddr: 0x2750, symSize: 0x40 } - - { offsetInCU: 0x1E24, offset: 0xAD93E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x570, symBinAddr: 0x2990, symSize: 0x40 } - - { offsetInCU: 0x1E5A, offset: 0xAD974, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x5B0, symBinAddr: 0x29D0, symSize: 0x50 } - - { offsetInCU: 0x1F15, offset: 0xADA2F, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C60, symBinAddr: 0x4070, symSize: 0x40 } - - { offsetInCU: 0x1F29, offset: 0xADA43, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1CE0, symBinAddr: 0x40F0, symSize: 0x20 } - - { offsetInCU: 0x1F58, offset: 0xADA72, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x46F0, symBinAddr: 0x6AE0, symSize: 0x70 } - - { offsetInCU: 0x1FAC, offset: 0xADAC6, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCSS_Tgm5', symObjAddr: 0x4830, symBinAddr: 0x6C20, symSize: 0x80 } - - { offsetInCU: 0x23F6, offset: 0xADF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6E90, symBinAddr: 0x9280, symSize: 0x20 } - - { offsetInCU: 0x240A, offset: 0xADF24, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x6EB0, symBinAddr: 0x92A0, symSize: 0x20 } - - { offsetInCU: 0x241E, offset: 0xADF38, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x6ED0, symBinAddr: 0x92C0, symSize: 0x10 } - - { offsetInCU: 0x2432, offset: 0xADF4C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6F60, symBinAddr: 0x9350, symSize: 0x20 } - - { offsetInCU: 0x2446, offset: 0xADF60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6FC0, symBinAddr: 0x93B0, symSize: 0x20 } - - { offsetInCU: 0x245A, offset: 0xADF74, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x71E0, symBinAddr: 0x95D0, symSize: 0x10 } - - { offsetInCU: 0x246E, offset: 0xADF88, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x71F0, symBinAddr: 0x95E0, symSize: 0x10 } - - { offsetInCU: 0x2482, offset: 0xADF9C, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x7200, symBinAddr: 0x95F0, symSize: 0x20 } - - { offsetInCU: 0x2496, offset: 0xADFB0, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x7220, symBinAddr: 0x9610, symSize: 0x30 } - - { offsetInCU: 0x24B5, offset: 0xADFCF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x72C0, symBinAddr: 0x96B0, symSize: 0x20 } - - { offsetInCU: 0x24DE, offset: 0xADFF8, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x72E0, symBinAddr: 0x96D0, symSize: 0x30 } - - { offsetInCU: 0x24F2, offset: 0xAE00C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x7370, symBinAddr: 0x9760, symSize: 0x20 } - - { offsetInCU: 0x2526, offset: 0xAE040, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x73C0, symBinAddr: 0x97B0, symSize: 0x30 } - - { offsetInCU: 0x253A, offset: 0xAE054, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x75A0, symBinAddr: 0x9990, symSize: 0x120 } - - { offsetInCU: 0x261F, offset: 0xAE139, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x76E0, symBinAddr: 0x9AD0, symSize: 0x10 } - - { offsetInCU: 0x2BB4, offset: 0xAE6CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x40, symBinAddr: 0x2460, symSize: 0x30 } - - { offsetInCU: 0x2C3A, offset: 0xAE754, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x150, symBinAddr: 0x2570, symSize: 0x40 } - - { offsetInCU: 0x2C90, offset: 0xAE7AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2C0, symBinAddr: 0x26E0, symSize: 0x30 } - - { offsetInCU: 0x2D87, offset: 0xAE8A1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4A0, symBinAddr: 0x28C0, symSize: 0x30 } - - { offsetInCU: 0x2DD8, offset: 0xAE8F2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x520, symBinAddr: 0x2940, symSize: 0x50 } - - { offsetInCU: 0x2E4A, offset: 0xAE964, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x600, symBinAddr: 0x2A20, symSize: 0x40 } - - { offsetInCU: 0x2E6F, offset: 0xAE989, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x640, symBinAddr: 0x2A60, symSize: 0x30 } - - { offsetInCU: 0x2EDE, offset: 0xAE9F8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x730, symBinAddr: 0x2B50, symSize: 0x40 } - - { offsetInCU: 0x2F03, offset: 0xAEA1D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA90, symBinAddr: 0x2EB0, symSize: 0x40 } - - { offsetInCU: 0x30A0, offset: 0xAEBBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xBC0, symBinAddr: 0x2FE0, symSize: 0x460 } - - { offsetInCU: 0x33F6, offset: 0xAEF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0x1020, symBinAddr: 0x3440, symSize: 0x4B0 } - - { offsetInCU: 0x3696, offset: 0xAF1B0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1510, symBinAddr: 0x3930, symSize: 0x320 } - - { offsetInCU: 0x3A1E, offset: 0xAF538, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x18C0, symBinAddr: 0x3CD0, symSize: 0x80 } - - { offsetInCU: 0x3A32, offset: 0xAF54C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x1940, symBinAddr: 0x3D50, symSize: 0x320 } - - { offsetInCU: 0x3AAE, offset: 0xAF5C8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D30, symBinAddr: 0x4140, symSize: 0x260 } - - { offsetInCU: 0x3B5D, offset: 0xAF677, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x1FC0, symBinAddr: 0x43D0, symSize: 0x200 } - - { offsetInCU: 0x3D61, offset: 0xAF87B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2260, symBinAddr: 0x4650, symSize: 0x1A0 } - - { offsetInCU: 0x3F3B, offset: 0xAFA55, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2430, symBinAddr: 0x4820, symSize: 0x80 } - - { offsetInCU: 0x3FFA, offset: 0xAFB14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x24E0, symBinAddr: 0x48D0, symSize: 0x10 } - - { offsetInCU: 0x400E, offset: 0xAFB28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2510, symBinAddr: 0x4900, symSize: 0x10 } - - { offsetInCU: 0x4022, offset: 0xAFB3C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2540, symBinAddr: 0x4930, symSize: 0x10 } - - { offsetInCU: 0x4042, offset: 0xAFB5C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x25B0, symBinAddr: 0x49A0, symSize: 0x270 } - - { offsetInCU: 0x40AD, offset: 0xAFBC7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2820, symBinAddr: 0x4C10, symSize: 0x470 } - - { offsetInCU: 0x43A0, offset: 0xAFEBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2D30, symBinAddr: 0x5120, symSize: 0x9D0 } - - { offsetInCU: 0x4528, offset: 0xB0042, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x3A70, symBinAddr: 0x5E60, symSize: 0xC20 } - - { offsetInCU: 0x46C7, offset: 0xB01E1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x46C0, symBinAddr: 0x6AB0, symSize: 0x30 } - - { offsetInCU: 0x46EA, offset: 0xB0204, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4760, symBinAddr: 0x6B50, symSize: 0xD0 } - - { offsetInCU: 0x472D, offset: 0xB0247, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x48B0, symBinAddr: 0x6CA0, symSize: 0x220 } - - { offsetInCU: 0x479E, offset: 0xB02B8, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4AD0, symBinAddr: 0x6EC0, symSize: 0x20 } - - { offsetInCU: 0x47D5, offset: 0xB02EF, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4AF0, symBinAddr: 0x6EE0, symSize: 0xB0 } + - { offsetInCU: 0x34, offset: 0xAB77E, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x533000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xAB7B3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x533030, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0xAB7F0, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x1C00, symSize: 0xC5 } + - { offsetInCU: 0x66, offset: 0xAB82F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x1C00, symSize: 0xC5 } + - { offsetInCU: 0x1D9, offset: 0xAB9A2, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xC5, symBinAddr: 0x1CC5, symSize: 0xC5 } + - { offsetInCU: 0x65, offset: 0xABB7F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x1D90, symSize: 0x40 } + - { offsetInCU: 0xBB, offset: 0xABBD5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x70, symBinAddr: 0x1E00, symSize: 0x40 } + - { offsetInCU: 0x114, offset: 0xABC2E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x110, symBinAddr: 0x1EA0, symSize: 0x40 } + - { offsetInCU: 0x16A, offset: 0xABC84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x190, symBinAddr: 0x1F20, symSize: 0x60 } + - { offsetInCU: 0x1C5, offset: 0xABCDF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x280, symBinAddr: 0x2010, symSize: 0x40 } + - { offsetInCU: 0x21B, offset: 0xABD35, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x2F0, symBinAddr: 0x2080, symSize: 0x40 } + - { offsetInCU: 0x274, offset: 0xABD8E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x3D0, symBinAddr: 0x2160, symSize: 0x20 } + - { offsetInCU: 0x2CA, offset: 0xABDE4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x3F0, symBinAddr: 0x2180, symSize: 0x10 } + - { offsetInCU: 0x323, offset: 0xABE3D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x400, symBinAddr: 0x2190, symSize: 0x20 } + - { offsetInCU: 0x379, offset: 0xABE93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x420, symBinAddr: 0x21B0, symSize: 0x10 } + - { offsetInCU: 0x3D2, offset: 0xABEEC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x430, symBinAddr: 0x21C0, symSize: 0x20 } + - { offsetInCU: 0x428, offset: 0xABF42, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x450, symBinAddr: 0x21E0, symSize: 0x10 } + - { offsetInCU: 0x481, offset: 0xABF9B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x460, symBinAddr: 0x21F0, symSize: 0x40 } + - { offsetInCU: 0x4ED, offset: 0xAC007, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x4D0, symBinAddr: 0x2260, symSize: 0x50 } + - { offsetInCU: 0x5E1, offset: 0xAC0FB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xB10, symBinAddr: 0x28A0, symSize: 0xB0 } + - { offsetInCU: 0x6D2, offset: 0xAC1EC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x14E0, symBinAddr: 0x3270, symSize: 0x30 } + - { offsetInCU: 0x704, offset: 0xAC21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1830, symBinAddr: 0x35C0, symSize: 0x30 } + - { offsetInCU: 0x736, offset: 0xAC250, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1870, symBinAddr: 0x35F0, symSize: 0x30 } + - { offsetInCU: 0x77E, offset: 0xAC298, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x18A0, symBinAddr: 0x3620, symSize: 0x20 } + - { offsetInCU: 0x7F2, offset: 0xAC30C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D00, symBinAddr: 0x3A80, symSize: 0x30 } + - { offsetInCU: 0x829, offset: 0xAC343, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1F90, symBinAddr: 0x3D10, symSize: 0x30 } + - { offsetInCU: 0x87B, offset: 0xAC395, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E0, symBinAddr: 0x3F40, symSize: 0x80 } + - { offsetInCU: 0x8EE, offset: 0xAC408, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x2400, symBinAddr: 0x4160, symSize: 0x30 } + - { offsetInCU: 0x920, offset: 0xAC43A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24B0, symBinAddr: 0x4210, symSize: 0x30 } + - { offsetInCU: 0xA4E, offset: 0xAC568, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4BA0, symBinAddr: 0x6900, symSize: 0x17D0 } + - { offsetInCU: 0x16BB, offset: 0xAD1D5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6370, symBinAddr: 0x80D0, symSize: 0x2B0 } + - { offsetInCU: 0x18BE, offset: 0xAD3D8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6620, symBinAddr: 0x8380, symSize: 0x3D0 } + - { offsetInCU: 0x1AF2, offset: 0xAD60C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x69F0, symBinAddr: 0x8750, symSize: 0x470 } + - { offsetInCU: 0x1D54, offset: 0xAD86E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xB0, symBinAddr: 0x1E40, symSize: 0x40 } + - { offsetInCU: 0x1D8A, offset: 0xAD8A4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x1F0, symBinAddr: 0x1F80, symSize: 0x40 } + - { offsetInCU: 0x1DC0, offset: 0xAD8DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x230, symBinAddr: 0x1FC0, symSize: 0x50 } + - { offsetInCU: 0x1DEE, offset: 0xAD908, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x330, symBinAddr: 0x20C0, symSize: 0x40 } + - { offsetInCU: 0x1E24, offset: 0xAD93E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x570, symBinAddr: 0x2300, symSize: 0x40 } + - { offsetInCU: 0x1E5A, offset: 0xAD974, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x5B0, symBinAddr: 0x2340, symSize: 0x50 } + - { offsetInCU: 0x1F15, offset: 0xADA2F, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C60, symBinAddr: 0x39E0, symSize: 0x40 } + - { offsetInCU: 0x1F29, offset: 0xADA43, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1CE0, symBinAddr: 0x3A60, symSize: 0x20 } + - { offsetInCU: 0x1F58, offset: 0xADA72, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x46F0, symBinAddr: 0x6450, symSize: 0x70 } + - { offsetInCU: 0x1FAC, offset: 0xADAC6, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCSS_Tgm5', symObjAddr: 0x4830, symBinAddr: 0x6590, symSize: 0x80 } + - { offsetInCU: 0x23F6, offset: 0xADF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6E90, symBinAddr: 0x8BF0, symSize: 0x20 } + - { offsetInCU: 0x240A, offset: 0xADF24, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x6EB0, symBinAddr: 0x8C10, symSize: 0x20 } + - { offsetInCU: 0x241E, offset: 0xADF38, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x6ED0, symBinAddr: 0x8C30, symSize: 0x10 } + - { offsetInCU: 0x2432, offset: 0xADF4C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6F60, symBinAddr: 0x8CC0, symSize: 0x20 } + - { offsetInCU: 0x2446, offset: 0xADF60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6FC0, symBinAddr: 0x8D20, symSize: 0x20 } + - { offsetInCU: 0x245A, offset: 0xADF74, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x71E0, symBinAddr: 0x8F40, symSize: 0x10 } + - { offsetInCU: 0x246E, offset: 0xADF88, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x71F0, symBinAddr: 0x8F50, symSize: 0x10 } + - { offsetInCU: 0x2482, offset: 0xADF9C, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x7200, symBinAddr: 0x8F60, symSize: 0x20 } + - { offsetInCU: 0x2496, offset: 0xADFB0, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x7220, symBinAddr: 0x8F80, symSize: 0x30 } + - { offsetInCU: 0x24B5, offset: 0xADFCF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x72C0, symBinAddr: 0x9020, symSize: 0x20 } + - { offsetInCU: 0x24DE, offset: 0xADFF8, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x72E0, symBinAddr: 0x9040, symSize: 0x30 } + - { offsetInCU: 0x24F2, offset: 0xAE00C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x7370, symBinAddr: 0x90D0, symSize: 0x20 } + - { offsetInCU: 0x2526, offset: 0xAE040, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x73C0, symBinAddr: 0x9120, symSize: 0x30 } + - { offsetInCU: 0x253A, offset: 0xAE054, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x75A0, symBinAddr: 0x9300, symSize: 0x120 } + - { offsetInCU: 0x261F, offset: 0xAE139, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x76E0, symBinAddr: 0x9440, symSize: 0x10 } + - { offsetInCU: 0x2BB4, offset: 0xAE6CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x40, symBinAddr: 0x1DD0, symSize: 0x30 } + - { offsetInCU: 0x2C3A, offset: 0xAE754, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x150, symBinAddr: 0x1EE0, symSize: 0x40 } + - { offsetInCU: 0x2C90, offset: 0xAE7AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2C0, symBinAddr: 0x2050, symSize: 0x30 } + - { offsetInCU: 0x2D87, offset: 0xAE8A1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4A0, symBinAddr: 0x2230, symSize: 0x30 } + - { offsetInCU: 0x2DD8, offset: 0xAE8F2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x520, symBinAddr: 0x22B0, symSize: 0x50 } + - { offsetInCU: 0x2E4A, offset: 0xAE964, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x600, symBinAddr: 0x2390, symSize: 0x40 } + - { offsetInCU: 0x2E6F, offset: 0xAE989, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x640, symBinAddr: 0x23D0, symSize: 0x30 } + - { offsetInCU: 0x2EDE, offset: 0xAE9F8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x730, symBinAddr: 0x24C0, symSize: 0x40 } + - { offsetInCU: 0x2F03, offset: 0xAEA1D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA90, symBinAddr: 0x2820, symSize: 0x40 } + - { offsetInCU: 0x30A0, offset: 0xAEBBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xBC0, symBinAddr: 0x2950, symSize: 0x460 } + - { offsetInCU: 0x33F6, offset: 0xAEF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0x1020, symBinAddr: 0x2DB0, symSize: 0x4B0 } + - { offsetInCU: 0x3696, offset: 0xAF1B0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1510, symBinAddr: 0x32A0, symSize: 0x320 } + - { offsetInCU: 0x3A1E, offset: 0xAF538, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x18C0, symBinAddr: 0x3640, symSize: 0x80 } + - { offsetInCU: 0x3A32, offset: 0xAF54C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x1940, symBinAddr: 0x36C0, symSize: 0x320 } + - { offsetInCU: 0x3AAE, offset: 0xAF5C8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D30, symBinAddr: 0x3AB0, symSize: 0x260 } + - { offsetInCU: 0x3B5D, offset: 0xAF677, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x1FC0, symBinAddr: 0x3D40, symSize: 0x200 } + - { offsetInCU: 0x3D61, offset: 0xAF87B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2260, symBinAddr: 0x3FC0, symSize: 0x1A0 } + - { offsetInCU: 0x3F3B, offset: 0xAFA55, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2430, symBinAddr: 0x4190, symSize: 0x80 } + - { offsetInCU: 0x3FFA, offset: 0xAFB14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x24E0, symBinAddr: 0x4240, symSize: 0x10 } + - { offsetInCU: 0x400E, offset: 0xAFB28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2510, symBinAddr: 0x4270, symSize: 0x10 } + - { offsetInCU: 0x4022, offset: 0xAFB3C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2540, symBinAddr: 0x42A0, symSize: 0x10 } + - { offsetInCU: 0x4042, offset: 0xAFB5C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x25B0, symBinAddr: 0x4310, symSize: 0x270 } + - { offsetInCU: 0x40AD, offset: 0xAFBC7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2820, symBinAddr: 0x4580, symSize: 0x470 } + - { offsetInCU: 0x43A0, offset: 0xAFEBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2D30, symBinAddr: 0x4A90, symSize: 0x9D0 } + - { offsetInCU: 0x4528, offset: 0xB0042, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x3A70, symBinAddr: 0x57D0, symSize: 0xC20 } + - { offsetInCU: 0x46C7, offset: 0xB01E1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x46C0, symBinAddr: 0x6420, symSize: 0x30 } + - { offsetInCU: 0x46EA, offset: 0xB0204, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4760, symBinAddr: 0x64C0, symSize: 0xD0 } + - { offsetInCU: 0x472D, offset: 0xB0247, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x48B0, symBinAddr: 0x6610, symSize: 0x220 } + - { offsetInCU: 0x479E, offset: 0xB02B8, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4AD0, symBinAddr: 0x6830, symSize: 0x20 } + - { offsetInCU: 0x47D5, offset: 0xB02EF, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4AF0, symBinAddr: 0x6850, symSize: 0xB0 } + - { offsetInCU: 0x26, offset: 0xB0610, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0xA8B80, symSize: 0x3990 } + - { offsetInCU: 0x40, offset: 0xB062A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0xEEC0, symBinAddr: 0x56A3F0, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xB067C, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0x14EC0, symBinAddr: 0x5703F0, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xB06E0, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0x14EE8, symBinAddr: 0x570418, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xB06F6, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x152F0, symBinAddr: 0x570820, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xB070D, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0x14F30, symBinAddr: 0x570460, symSize: 0x0 } + - { offsetInCU: 0xE22, offset: 0xB140C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0xA8B80, symSize: 0x3990 } + - { offsetInCU: 0x4DAE, offset: 0xB5398, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0xE6E0, symBinAddr: 0xB7260, symSize: 0x3E0 } + - { offsetInCU: 0x4FF1, offset: 0xB55DB, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x7C20, symBinAddr: 0xB07A0, symSize: 0x270 } + - { offsetInCU: 0x582C, offset: 0xB5E16, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x3990, symBinAddr: 0xAC510, symSize: 0xA10 } + - { offsetInCU: 0x684B, offset: 0xB6E35, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x43A0, symBinAddr: 0xACF20, symSize: 0xA10 } + - { offsetInCU: 0x6EE9, offset: 0xB74D3, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x4DB0, symBinAddr: 0xAD930, symSize: 0x2B0 } + - { offsetInCU: 0x74BC, offset: 0xB7AA6, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x5060, symBinAddr: 0xADBE0, symSize: 0xCD0 } + - { offsetInCU: 0x83FE, offset: 0xB89E8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x5D30, symBinAddr: 0xAE8B0, symSize: 0xB40 } + - { offsetInCU: 0x8F67, offset: 0xB9551, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x6870, symBinAddr: 0xAF3F0, symSize: 0x13B0 } + - { offsetInCU: 0xA567, offset: 0xBAB51, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x7FF0, symBinAddr: 0xB0B70, symSize: 0x2A30 } + - { offsetInCU: 0xDC6D, offset: 0xBE257, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x7E90, symBinAddr: 0xB0A10, symSize: 0x160 } + - { offsetInCU: 0xDEE7, offset: 0xBE4D1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0xAA20, symBinAddr: 0xB35A0, symSize: 0x30 } + - { offsetInCU: 0xDFDC, offset: 0xBE5C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0xAA50, symBinAddr: 0xB35D0, symSize: 0x50 } + - { offsetInCU: 0xE051, offset: 0xBE63B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0xAAA0, symBinAddr: 0xB3620, symSize: 0x10 } + - { offsetInCU: 0xE0EC, offset: 0xBE6D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0xAAB0, symBinAddr: 0xB3630, symSize: 0xB0 } + - { offsetInCU: 0xE217, offset: 0xBE801, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0xAB60, symBinAddr: 0xB36E0, symSize: 0x10 } + - { offsetInCU: 0xE4E9, offset: 0xBEAD3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0xAB70, symBinAddr: 0xB36F0, symSize: 0x21A0 } + - { offsetInCU: 0x1118F, offset: 0xC1779, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0xEAC0, symBinAddr: 0xB7640, symSize: 0x2D1 } + - { offsetInCU: 0x117CF, offset: 0xC1DB9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0xCD10, symBinAddr: 0xB5890, symSize: 0x20 } + - { offsetInCU: 0x11C6C, offset: 0xC2256, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0xCD30, symBinAddr: 0xB58B0, symSize: 0x19B0 } + - { offsetInCU: 0x26, offset: 0xC3306, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xB7920, symSize: 0x800 } + - { offsetInCU: 0x41, offset: 0xC3321, size: 0x8, addend: 0x0, symName: _aes_nohw_rcon, symObjAddr: 0x1B10, symBinAddr: 0x570900, symSize: 0x0 } + - { offsetInCU: 0x484, offset: 0xC3764, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xB7920, symSize: 0x800 } + - { offsetInCU: 0x1B2B, offset: 0xC4E0B, size: 0x8, addend: 0x0, symName: _aes_nohw_sub_bytes, symObjAddr: 0x15F0, symBinAddr: 0xB8F10, symSize: 0x300 } + - { offsetInCU: 0x32EE, offset: 0xC65CE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_encrypt, symObjAddr: 0x800, symBinAddr: 0xB8120, symSize: 0x80 } + - { offsetInCU: 0x33DC, offset: 0xC66BC, size: 0x8, addend: 0x0, symName: _aes_nohw_expand_round_keys, symObjAddr: 0x880, symBinAddr: 0xB81A0, symSize: 0x1A0 } + - { offsetInCU: 0x386D, offset: 0xC6B4D, size: 0x8, addend: 0x0, symName: _aes_nohw_to_batch, symObjAddr: 0xA20, symBinAddr: 0xB8340, symSize: 0x420 } + - { offsetInCU: 0x3D7D, offset: 0xC705D, size: 0x8, addend: 0x0, symName: _aes_nohw_encrypt_batch, symObjAddr: 0xE40, symBinAddr: 0xB8760, symSize: 0x380 } + - { offsetInCU: 0x424C, offset: 0xC752C, size: 0x8, addend: 0x0, symName: _aes_nohw_from_batch, symObjAddr: 0x11C0, symBinAddr: 0xB8AE0, symSize: 0x250 } + - { offsetInCU: 0x498D, offset: 0xC7C6D, size: 0x8, addend: 0x0, symName: _aes_nohw_shift_rows, symObjAddr: 0x18F0, symBinAddr: 0xB9210, symSize: 0x149 } + - { offsetInCU: 0x4BF9, offset: 0xC7ED9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_ctr32_encrypt_blocks, symObjAddr: 0x1410, symBinAddr: 0xB8D30, symSize: 0x1E0 } + - { offsetInCU: 0x26, offset: 0xC82FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0xB9360, symSize: 0x2DC } + - { offsetInCU: 0x1D2, offset: 0xC84A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0xB9360, symSize: 0x2DC } + - { offsetInCU: 0x26, offset: 0xC86FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0xB9640, symSize: 0x87 } + - { offsetInCU: 0x34, offset: 0xC870D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0xB9640, symSize: 0x87 } + - { offsetInCU: 0x26, offset: 0xC881D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0xB96D0, symSize: 0x46 } + - { offsetInCU: 0x34, offset: 0xC882B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0xB96D0, symSize: 0x46 } + - { offsetInCU: 0x86, offset: 0xC898E, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x15F0, symBinAddr: 0x570980, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xC89C0, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1580, symBinAddr: 0x570910, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xC89E2, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x15B0, symBinAddr: 0x570940, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xC89F8, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x15E0, symBinAddr: 0x570970, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xC8CBF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x150, symBinAddr: 0xB9720, symSize: 0x20 } + - { offsetInCU: 0x594, offset: 0xC8E9C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x250, symBinAddr: 0xB9740, symSize: 0x20 } + - { offsetInCU: 0x63F, offset: 0xC8F47, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x340, symBinAddr: 0xB9760, symSize: 0x3A0 } + - { offsetInCU: 0x11A7, offset: 0xC9AAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x6E0, symBinAddr: 0xB9B00, symSize: 0x140 } + - { offsetInCU: 0x14A2, offset: 0xC9DAA, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x820, symBinAddr: 0xB9C40, symSize: 0x6B0 } + - { offsetInCU: 0x26DA, offset: 0xCAFE2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xED0, symBinAddr: 0xBA2F0, symSize: 0x380 } + - { offsetInCU: 0x2D37, offset: 0xCB63F, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0x1250, symBinAddr: 0xBA670, symSize: 0x170 } + - { offsetInCU: 0x2F2F, offset: 0xCB837, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0x13C0, symBinAddr: 0xBA7E0, symSize: 0x1BF } + - { offsetInCU: 0x26, offset: 0xCBB82, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0xBA9A0, symSize: 0x50 } + - { offsetInCU: 0xFA, offset: 0xCBC56, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0xBA9A0, symSize: 0x50 } + - { offsetInCU: 0x18D, offset: 0xCBCE9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x50, symBinAddr: 0xBA9F0, symSize: 0x60 } + - { offsetInCU: 0x2F1, offset: 0xCBE4D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0xB0, symBinAddr: 0xBAA50, symSize: 0x90 } + - { offsetInCU: 0x4C6, offset: 0xCC022, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0x140, symBinAddr: 0xBAAE0, symSize: 0x20 } + - { offsetInCU: 0x5E3, offset: 0xCC13F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0x160, symBinAddr: 0xBAB00, symSize: 0xB0 } + - { offsetInCU: 0x696, offset: 0xCC1F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x210, symBinAddr: 0xBABB0, symSize: 0x70 } + - { offsetInCU: 0x861, offset: 0xCC3BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x280, symBinAddr: 0xBAC20, symSize: 0x170 } + - { offsetInCU: 0xB67, offset: 0xCC6C3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x3F0, symBinAddr: 0xBAD90, symSize: 0x270 } + - { offsetInCU: 0xE6A, offset: 0xCC9C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x660, symBinAddr: 0xBB000, symSize: 0x1A0 } + - { offsetInCU: 0x105D, offset: 0xCCBB9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x800, symBinAddr: 0xBB1A0, symSize: 0x280 } + - { offsetInCU: 0x128C, offset: 0xCCDE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0xC20, symBinAddr: 0xBB420, symSize: 0x20 } + - { offsetInCU: 0x12F3, offset: 0xCCE4F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0xC40, symBinAddr: 0xBB440, symSize: 0x20 } + - { offsetInCU: 0x132A, offset: 0xCCE86, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0xC60, symBinAddr: 0xBB460, symSize: 0x10 } + - { offsetInCU: 0x13AC, offset: 0xCCF08, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0xC70, symBinAddr: 0xBB470, symSize: 0x4A } + - { offsetInCU: 0x26, offset: 0xCD094, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0xBB4C0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xCD0A2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0xBB4C0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xCD1A4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_ia32cap_P, symObjAddr: 0x3F0, symBinAddr: 0xBE6A10, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xCD1F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0xBB5F0, symSize: 0xF8 } + - { offsetInCU: 0xD5, offset: 0xCD2A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0xBB5F0, symSize: 0xF8 } + - { offsetInCU: 0x26, offset: 0xCD3FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0xBB6F0, symSize: 0x1210 } + - { offsetInCU: 0x92E, offset: 0xCDD05, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0xBB6F0, symSize: 0x1210 } + - { offsetInCU: 0x5347, offset: 0xD271E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base_adx, symObjAddr: 0x1210, symBinAddr: 0xBC900, symSize: 0x1E50 } + - { offsetInCU: 0x9B2F, offset: 0xD6F06, size: 0x8, addend: 0x0, symName: _inline_x25519_ge_dbl_4, symObjAddr: 0x3060, symBinAddr: 0xBE750, symSize: 0x361 } + - { offsetInCU: 0x26, offset: 0xD82F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0xBEAC0, symSize: 0xD0 } + - { offsetInCU: 0x303, offset: 0xD85D0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0xBEAC0, symSize: 0xD0 } + - { offsetInCU: 0x5A4, offset: 0xD8871, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_update, symObjAddr: 0xD0, symBinAddr: 0xBEB90, symSize: 0x1C0 } + - { offsetInCU: 0x764, offset: 0xD8A31, size: 0x8, addend: 0x0, symName: _poly1305_blocks, symObjAddr: 0x5F0, symBinAddr: 0xBF0B0, symSize: 0x780 } + - { offsetInCU: 0x903, offset: 0xD8BD0, size: 0x8, addend: 0x0, symName: _poly1305_first_block, symObjAddr: 0x290, symBinAddr: 0xBED50, symSize: 0x360 } + - { offsetInCU: 0xEFC, offset: 0xD91C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_finish, symObjAddr: 0xD70, symBinAddr: 0xBF830, symSize: 0xAA2 } + - { offsetInCU: 0x10, offset: 0xD9952, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0xC02D2, symSize: 0x2AF } + - { offsetInCU: 0x51, offset: 0xD9993, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0xC02D2, symSize: 0x2AF } + - { offsetInCU: 0x10, offset: 0xD9988, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0xC0581, symSize: 0x1F4 } + - { offsetInCU: 0x54, offset: 0xD99CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0xC0581, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xD99D4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0xC0780, symSize: 0x490 } + - { offsetInCU: 0x76, offset: 0xD9A24, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x571000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xD9AA8, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x596000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xD9D09, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0xC0780, symSize: 0x490 } + - { offsetInCU: 0xC5A, offset: 0xDA608, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x490, symBinAddr: 0xC0C10, symSize: 0x300 } + - { offsetInCU: 0x1135, offset: 0xDAAE3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x790, symBinAddr: 0xC0F10, symSize: 0x25D } + - { offsetInCU: 0x10, offset: 0xDAEA8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xC1180, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xDAEE0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xC1180, symSize: 0x3A0 } + - { offsetInCU: 0x4D, offset: 0xDAEE5, size: 0x8, addend: 0x0, symName: ChaCha20_ssse3, symObjAddr: 0x3A0, symBinAddr: 0xC1520, symSize: 0x220 } + - { offsetInCU: 0x60, offset: 0xDAEF8, size: 0x8, addend: 0x0, symName: ChaCha20_4x, symObjAddr: 0x5C0, symBinAddr: 0xC1740, symSize: 0xA20 } + - { offsetInCU: 0x76, offset: 0xDAF0E, size: 0x8, addend: 0x0, symName: ChaCha20_8x, symObjAddr: 0xFE0, symBinAddr: 0xC2160, symSize: 0xB4C } + - { offsetInCU: 0x10, offset: 0xDAF20, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0xC2CC0, symSize: 0x40 } + - { offsetInCU: 0x48, offset: 0xDAF58, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0xC2CC0, symSize: 0x40 } + - { offsetInCU: 0x4D, offset: 0xDAF5D, size: 0x8, addend: 0x0, symName: _aesni_encrypt2, symObjAddr: 0x40, symBinAddr: 0xC2D00, symSize: 0x60 } + - { offsetInCU: 0x63, offset: 0xDAF73, size: 0x8, addend: 0x0, symName: _aesni_encrypt3, symObjAddr: 0xA0, symBinAddr: 0xC2D60, symSize: 0x70 } + - { offsetInCU: 0x79, offset: 0xDAF89, size: 0x8, addend: 0x0, symName: _aesni_encrypt4, symObjAddr: 0x110, symBinAddr: 0xC2DD0, symSize: 0x90 } + - { offsetInCU: 0x8F, offset: 0xDAF9F, size: 0x8, addend: 0x0, symName: _aesni_encrypt6, symObjAddr: 0x1A0, symBinAddr: 0xC2E60, symSize: 0xE0 } + - { offsetInCU: 0xA5, offset: 0xDAFB5, size: 0x8, addend: 0x0, symName: _aesni_encrypt8, symObjAddr: 0x280, symBinAddr: 0xC2F40, symSize: 0x110 } + - { offsetInCU: 0xD9, offset: 0xDAFE9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x390, symBinAddr: 0xC3050, symSize: 0x940 } + - { offsetInCU: 0xEA, offset: 0xDAFFA, size: 0x8, addend: 0x0, symName: __aesni_set_encrypt_key, symObjAddr: 0xCD0, symBinAddr: 0xC3990, symSize: 0x44D } + - { offsetInCU: 0x10, offset: 0xDAFF0, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0xC3DE0, symSize: 0x160 } + - { offsetInCU: 0x3B, offset: 0xDB01B, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0xC3DE0, symSize: 0x160 } + - { offsetInCU: 0x54, offset: 0xDB034, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core_2x, symObjAddr: 0x160, symBinAddr: 0xC3F40, symSize: 0x290 } + - { offsetInCU: 0x68, offset: 0xDB048, size: 0x8, addend: 0x0, symName: _vpaes_schedule_core, symObjAddr: 0x3F0, symBinAddr: 0xC41D0, symSize: 0xF0 } + - { offsetInCU: 0x7F, offset: 0xDB05F, size: 0x8, addend: 0x0, symName: _vpaes_schedule_round, symObjAddr: 0x4E0, symBinAddr: 0xC42C0, symSize: 0x21 } + - { offsetInCU: 0x99, offset: 0xDB079, size: 0x8, addend: 0x0, symName: _vpaes_schedule_low_round, symObjAddr: 0x501, symBinAddr: 0xC42E1, symSize: 0x9F } + - { offsetInCU: 0xAF, offset: 0xDB08F, size: 0x8, addend: 0x0, symName: _vpaes_schedule_transform, symObjAddr: 0x5A0, symBinAddr: 0xC4380, symSize: 0x30 } + - { offsetInCU: 0xC2, offset: 0xDB0A2, size: 0x8, addend: 0x0, symName: _vpaes_schedule_mangle, symObjAddr: 0x5D0, symBinAddr: 0xC43B0, symSize: 0x50 } + - { offsetInCU: 0xE9, offset: 0xDB0C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_set_encrypt_key, symObjAddr: 0x620, symBinAddr: 0xC4400, symSize: 0x30 } + - { offsetInCU: 0xF7, offset: 0xDB0D7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_encrypt, symObjAddr: 0x650, symBinAddr: 0xC4430, symSize: 0x20 } + - { offsetInCU: 0x11A, offset: 0xDB0FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_ctr32_encrypt_blocks, symObjAddr: 0x670, symBinAddr: 0xC4450, symSize: 0xD0 } + - { offsetInCU: 0x112, offset: 0xDB0F2, size: 0x8, addend: 0x0, symName: _vpaes_preheat, symObjAddr: 0x740, symBinAddr: 0xC4520, symSize: 0x31 } + - { offsetInCU: 0x10, offset: 0xDB102, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xC4560, symSize: 0x2A0 } + - { offsetInCU: 0x45, offset: 0xDB137, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xC4560, symSize: 0x2A0 } + - { offsetInCU: 0x4C, offset: 0xDB13E, size: 0x8, addend: 0x0, symName: bn_mul4x_mont, symObjAddr: 0x2A0, symBinAddr: 0xC4800, symSize: 0x560 } + - { offsetInCU: 0x62, offset: 0xDB154, size: 0x8, addend: 0x0, symName: bn_sqr8x_mont, symObjAddr: 0x800, symBinAddr: 0xC4D60, symSize: 0x220 } + - { offsetInCU: 0x79, offset: 0xDB16B, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont, symObjAddr: 0xA20, symBinAddr: 0xC4F80, symSize: 0x570 } + - { offsetInCU: 0x10, offset: 0xDB17A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0xC5500, symSize: 0x660 } + - { offsetInCU: 0x4D, offset: 0xDB1B7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0xC5500, symSize: 0x660 } + - { offsetInCU: 0x54, offset: 0xDB1BE, size: 0x8, addend: 0x0, symName: bn_mul4x_mont_gather5, symObjAddr: 0x660, symBinAddr: 0xC5B60, symSize: 0x100 } + - { offsetInCU: 0x63, offset: 0xDB1CD, size: 0x8, addend: 0x0, symName: mul4x_internal, symObjAddr: 0x760, symBinAddr: 0xC5C60, symSize: 0x7E0 } + - { offsetInCU: 0x85, offset: 0xDB1EF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_power5, symObjAddr: 0xF40, symBinAddr: 0xC6440, symSize: 0x180 } + - { offsetInCU: 0xA3, offset: 0xDB20D, size: 0x8, addend: 0x0, symName: __bn_sqr8x_internal, symObjAddr: 0x10C0, symBinAddr: 0xC65C0, symSize: 0x579 } + - { offsetInCU: 0xAA, offset: 0xDB214, size: 0x8, addend: 0x0, symName: __bn_sqr8x_reduction, symObjAddr: 0x1639, symBinAddr: 0xC6B39, symSize: 0x347 } + - { offsetInCU: 0xC0, offset: 0xDB22A, size: 0x8, addend: 0x0, symName: __bn_post4x_internal, symObjAddr: 0x1980, symBinAddr: 0xC6E80, symSize: 0xA0 } + - { offsetInCU: 0xD9, offset: 0xDB243, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont_gather5, symObjAddr: 0x1A20, symBinAddr: 0xC6F20, symSize: 0xE0 } + - { offsetInCU: 0xE8, offset: 0xDB252, size: 0x8, addend: 0x0, symName: mulx4x_internal, symObjAddr: 0x1B00, symBinAddr: 0xC7000, symSize: 0x7E0 } + - { offsetInCU: 0xF9, offset: 0xDB263, size: 0x8, addend: 0x0, symName: bn_powerx5, symObjAddr: 0x22E0, symBinAddr: 0xC77E0, symSize: 0x160 } + - { offsetInCU: 0x128, offset: 0xDB292, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_internal, symObjAddr: 0x2440, symBinAddr: 0xC7940, symSize: 0x637 } + - { offsetInCU: 0x12F, offset: 0xDB299, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_reduction, symObjAddr: 0x2A77, symBinAddr: 0xC7F77, symSize: 0x329 } + - { offsetInCU: 0x145, offset: 0xDB2AF, size: 0x8, addend: 0x0, symName: __bn_postx4x_internal, symObjAddr: 0x2DA0, symBinAddr: 0xC82A0, symSize: 0x90 } + - { offsetInCU: 0x163, offset: 0xDB2CD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_scatter5, symObjAddr: 0x2E30, symBinAddr: 0xC8330, symSize: 0x30 } + - { offsetInCU: 0x178, offset: 0xDB2E2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_gather5, symObjAddr: 0x2E60, symBinAddr: 0xC8360, symSize: 0x27F } + - { offsetInCU: 0x10, offset: 0xDB2E4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0xC85E0, symSize: 0x80 } + - { offsetInCU: 0x4A, offset: 0xDB31E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0xC85E0, symSize: 0x80 } + - { offsetInCU: 0x64, offset: 0xDB338, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0x80, symBinAddr: 0xC8660, symSize: 0x360 } + - { offsetInCU: 0x7E, offset: 0xDB352, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x3E0, symBinAddr: 0xC89C0, symSize: 0x300 } + - { offsetInCU: 0x85, offset: 0xDB359, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_mul_montx, symObjAddr: 0x6E0, symBinAddr: 0xC8CC0, symSize: 0x3C0 } + - { offsetInCU: 0x9B, offset: 0xDB36F, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_sqr_montx, symObjAddr: 0xAA0, symBinAddr: 0xC9080, symSize: 0x320 } + - { offsetInCU: 0xB5, offset: 0xDB389, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0xDC0, symBinAddr: 0xC93A0, symSize: 0xA0 } + - { offsetInCU: 0xC4, offset: 0xDB398, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montq, symObjAddr: 0xE60, symBinAddr: 0xC9440, symSize: 0x240 } + - { offsetInCU: 0xE1, offset: 0xDB3B5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x10A0, symBinAddr: 0xC9680, symSize: 0x80 } + - { offsetInCU: 0xF0, offset: 0xDB3C4, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montq, symObjAddr: 0x1120, symBinAddr: 0xC9700, symSize: 0x1A0 } + - { offsetInCU: 0x106, offset: 0xDB3DA, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montx, symObjAddr: 0x12C0, symBinAddr: 0xC98A0, symSize: 0x260 } + - { offsetInCU: 0x11C, offset: 0xDB3F0, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montx, symObjAddr: 0x1520, symBinAddr: 0xC9B00, symSize: 0x1C0 } + - { offsetInCU: 0x142, offset: 0xDB416, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x16E0, symBinAddr: 0xC9CC0, symSize: 0xE0 } + - { offsetInCU: 0x158, offset: 0xDB42C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x17C0, symBinAddr: 0xC9DA0, symSize: 0xC0 } + - { offsetInCU: 0x162, offset: 0xDB436, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w5, symObjAddr: 0x1880, symBinAddr: 0xC9E60, symSize: 0xC0 } + - { offsetInCU: 0x178, offset: 0xDB44C, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w7, symObjAddr: 0x1940, symBinAddr: 0xC9F20, symSize: 0xE0 } + - { offsetInCU: 0x188, offset: 0xDB45C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_toq, symObjAddr: 0x1A20, symBinAddr: 0xCA000, symSize: 0x60 } + - { offsetInCU: 0x1A0, offset: 0xDB474, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromq, symObjAddr: 0x1A80, symBinAddr: 0xCA060, symSize: 0x60 } + - { offsetInCU: 0x1B1, offset: 0xDB485, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subq, symObjAddr: 0x1AE0, symBinAddr: 0xCA0C0, symSize: 0x40 } + - { offsetInCU: 0x1CC, offset: 0xDB4A0, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2q, symObjAddr: 0x1B20, symBinAddr: 0xCA100, symSize: 0x60 } + - { offsetInCU: 0x1ED, offset: 0xDB4C1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x1B80, symBinAddr: 0xCA160, symSize: 0x320 } + - { offsetInCU: 0x200, offset: 0xDB4D4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x1EA0, symBinAddr: 0xCA480, symSize: 0x780 } + - { offsetInCU: 0x21D, offset: 0xDB4F1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0x2620, symBinAddr: 0xCAC00, symSize: 0x580 } + - { offsetInCU: 0x222, offset: 0xDB4F6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_tox, symObjAddr: 0x2BA0, symBinAddr: 0xCB180, symSize: 0x60 } + - { offsetInCU: 0x23A, offset: 0xDB50E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromx, symObjAddr: 0x2C00, symBinAddr: 0xCB1E0, symSize: 0x60 } + - { offsetInCU: 0x24B, offset: 0xDB51F, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subx, symObjAddr: 0x2C60, symBinAddr: 0xCB240, symSize: 0x60 } + - { offsetInCU: 0x266, offset: 0xDB53A, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2x, symObjAddr: 0x2CC0, symBinAddr: 0xCB2A0, symSize: 0x60 } + - { offsetInCU: 0x27F, offset: 0xDB553, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_doublex, symObjAddr: 0x2D20, symBinAddr: 0xCB300, symSize: 0x320 } + - { offsetInCU: 0x292, offset: 0xDB566, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_addx, symObjAddr: 0x3040, symBinAddr: 0xCB620, symSize: 0x760 } + - { offsetInCU: 0x2AF, offset: 0xDB583, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_add_affinex, symObjAddr: 0x37A0, symBinAddr: 0xCBD80, symSize: 0x555 } + - { offsetInCU: 0x10, offset: 0xDB582, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0xCC2E0, symSize: 0x5A0 } + - { offsetInCU: 0x3D, offset: 0xDB5AF, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0xCC2E0, symSize: 0x5A0 } + - { offsetInCU: 0x61, offset: 0xDB5D3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_decrypt, symObjAddr: 0x5A0, symBinAddr: 0xCC880, symSize: 0x140 } + - { offsetInCU: 0x63, offset: 0xDB5D5, size: 0x8, addend: 0x0, symName: _aesni_ctr32_6x, symObjAddr: 0x6E0, symBinAddr: 0xCC9C0, symSize: 0x180 } + - { offsetInCU: 0x8D, offset: 0xDB5FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_encrypt, symObjAddr: 0x860, symBinAddr: 0xCCB40, symSize: 0x423 } + - { offsetInCU: 0x10, offset: 0xDB5FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xCCF80, symSize: 0x260 } + - { offsetInCU: 0x48, offset: 0xDB632, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xCCF80, symSize: 0x260 } + - { offsetInCU: 0x5F, offset: 0xDB649, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x260, symBinAddr: 0xCD1E0, symSize: 0xC0 } + - { offsetInCU: 0x75, offset: 0xDB65F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x320, symBinAddr: 0xCD2A0, symSize: 0x660 } + - { offsetInCU: 0x88, offset: 0xDB672, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_avx, symObjAddr: 0x980, symBinAddr: 0xCD900, symSize: 0x1A0 } + - { offsetInCU: 0x9F, offset: 0xDB689, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_avx, symObjAddr: 0xB20, symBinAddr: 0xCDAA0, symSize: 0x697 } + - { offsetInCU: 0x10, offset: 0xDB688, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xCE140, symSize: 0x1240 } + - { offsetInCU: 0x51, offset: 0xDB6C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xCE140, symSize: 0x1240 } + - { offsetInCU: 0x5A, offset: 0xDB6D2, size: 0x8, addend: 0x0, symName: sha512_block_data_order_avx, symObjAddr: 0x1240, symBinAddr: 0xCF380, symSize: 0x1176 } + - { offsetInCU: 0x10, offset: 0xDB6D4, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0xD0500, symSize: 0x200 } + - { offsetInCU: 0x44, offset: 0xDB708, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0xD0500, symSize: 0x200 } + - { offsetInCU: 0x66, offset: 0xDB72A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x200, symBinAddr: 0xD0700, symSize: 0x21C0 } + - { offsetInCU: 0x7C, offset: 0xDB740, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x23C0, symBinAddr: 0xD28C0, symSize: 0x1D2D } + - { offsetInCU: 0x83, offset: 0xDB747, size: 0x8, addend: 0x0, symName: process_extra_in_trailer, symObjAddr: 0x40ED, symBinAddr: 0xD45ED, symSize: 0x553 } + - { offsetInCU: 0x9C, offset: 0xDB760, size: 0x8, addend: 0x0, symName: chacha20_poly1305_open_avx2, symObjAddr: 0x4640, symBinAddr: 0xD4B40, symSize: 0x25C0 } + - { offsetInCU: 0xB2, offset: 0xDB776, size: 0x8, addend: 0x0, symName: chacha20_poly1305_seal_avx2, symObjAddr: 0x6C00, symBinAddr: 0xD7100, symSize: 0x2F01 } + - { offsetInCU: 0x10, offset: 0xDB778, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xDA040, symSize: 0x1200 } + - { offsetInCU: 0x51, offset: 0xDB7B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xDA040, symSize: 0x1200 } + - { offsetInCU: 0x5D, offset: 0xDB7C5, size: 0x8, addend: 0x0, symName: sha256_block_data_order_shaext, symObjAddr: 0x1200, symBinAddr: 0xDB240, symSize: 0x340 } + - { offsetInCU: 0x72, offset: 0xDB7DA, size: 0x8, addend: 0x0, symName: sha256_block_data_order_ssse3, symObjAddr: 0x1540, symBinAddr: 0xDB580, symSize: 0xEC0 } + - { offsetInCU: 0x86, offset: 0xDB7EE, size: 0x8, addend: 0x0, symName: sha256_block_data_order_avx, symObjAddr: 0x2400, symBinAddr: 0xDC440, symSize: 0xEF7 } ... diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG index eeededafb..4c880f63e 100755 Binary files a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/CanvasSVG.framework/CanvasSVG differ diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG index b55ced842..d723ad565 100644 Binary files a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml index bf6f79171..05972ac4e 100644 --- a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml @@ -2,8 +2,8 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xA80B8, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xDA50, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xA80ED, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xDA80, symSize: 0x0 } + - { offsetInCU: 0x34, offset: 0xA80B8, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x4A4000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xA80ED, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x4A4030, symSize: 0x0 } - { offsetInCU: 0x27, offset: 0xA812A, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0xB4 } - { offsetInCU: 0x66, offset: 0xA8169, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0xB4 } - { offsetInCU: 0x15B, offset: 0xA825E, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x40B4, symSize: 0xB4 } @@ -97,4 +97,128 @@ relocations: - { offsetInCU: 0x47E9, offset: 0xACB41, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x4574, symBinAddr: 0x86BC, symSize: 0x1F4 } - { offsetInCU: 0x4846, offset: 0xACB9E, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4768, symBinAddr: 0x88B0, symSize: 0x1C } - { offsetInCU: 0x487D, offset: 0xACBD5, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4784, symBinAddr: 0x88CC, symSize: 0xBC } + - { offsetInCU: 0x26, offset: 0xACF12, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x94798, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0xACF2C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9DE0, symBinAddr: 0x4DC230, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xACF7E, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFDE0, symBinAddr: 0x4E2230, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xACFE2, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE08, symBinAddr: 0x4E2258, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xACFF8, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10210, symBinAddr: 0x4E2660, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xAD00F, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE50, symBinAddr: 0x4E22A0, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0xAD8AE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x94798, symSize: 0x265C } + - { offsetInCU: 0x45CD, offset: 0xB14B9, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x96DF4, symSize: 0x134 } + - { offsetInCU: 0x46F3, offset: 0xB15DF, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9918, symBinAddr: 0x9E0B0, symSize: 0x21C } + - { offsetInCU: 0x4922, offset: 0xB180E, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FDC, symBinAddr: 0x99774, symSize: 0x1B8 } + - { offsetInCU: 0x530F, offset: 0xB21FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x96F28, symSize: 0x5BC } + - { offsetInCU: 0x5F72, offset: 0xB2E5E, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x974E4, symSize: 0x7F8 } + - { offsetInCU: 0x642A, offset: 0xB3316, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x97CDC, symSize: 0x208 } + - { offsetInCU: 0x69F8, offset: 0xB38E4, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x97EE4, symSize: 0x7B0 } + - { offsetInCU: 0x77D8, offset: 0xB46C4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3EFC, symBinAddr: 0x98694, symSize: 0x634 } + - { offsetInCU: 0x8199, offset: 0xB5085, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4530, symBinAddr: 0x98CC8, symSize: 0xAAC } + - { offsetInCU: 0x956A, offset: 0xB6456, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x5298, symBinAddr: 0x99A30, symSize: 0x23F8 } + - { offsetInCU: 0xCABB, offset: 0xB99A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5194, symBinAddr: 0x9992C, symSize: 0x104 } + - { offsetInCU: 0xCD03, offset: 0xB9BEF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7690, symBinAddr: 0x9BE28, symSize: 0x30 } + - { offsetInCU: 0xCDF4, offset: 0xB9CE0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C0, symBinAddr: 0x9BE58, symSize: 0x58 } + - { offsetInCU: 0xCE69, offset: 0xB9D55, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCEB1, offset: 0xB9D9D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCEE0, offset: 0xB9DCC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCF04, offset: 0xB9DF0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x771C, symBinAddr: 0x9BEB4, symSize: 0x8C } + - { offsetInCU: 0xD039, offset: 0xB9F25, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x9BF40, symSize: 0x4 } + - { offsetInCU: 0xD072, offset: 0xB9F5E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x9BF40, symSize: 0x4 } + - { offsetInCU: 0xD30B, offset: 0xBA1F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77AC, symBinAddr: 0x9BF44, symSize: 0x1598 } + - { offsetInCU: 0x10654, offset: 0xBD540, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B34, symBinAddr: 0x9E2CC, symSize: 0x218 } + - { offsetInCU: 0x10C86, offset: 0xBDB72, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D44, symBinAddr: 0x9D4DC, symSize: 0x20 } + - { offsetInCU: 0x11123, offset: 0xBE00F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8D64, symBinAddr: 0x9D4FC, symSize: 0xBB4 } + - { offsetInCU: 0x26, offset: 0xBEDF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9E4E4, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0xBEF9E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9E4E4, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xBF239, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9E6D8, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0xBF247, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9E6D8, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xBF357, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9E714, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0xBF365, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9E714, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0xBF4C8, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x4E2710, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xBF4FA, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x4E26A0, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xBF51C, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x4E26D0, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xBF532, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x4E2700, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xBF7F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9E7AC, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0xBF83D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9E7AC, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0xBF9D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x9E7C4, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0xBFA81, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x9E7DC, symSize: 0x320 } + - { offsetInCU: 0x1199, offset: 0xC05DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x9EAFC, symSize: 0xAC } + - { offsetInCU: 0x148F, offset: 0xC08D1, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x9EBA8, symSize: 0x500 } + - { offsetInCU: 0x268C, offset: 0xC1ACE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x9F0A8, symSize: 0x2C8 } + - { offsetInCU: 0x2CDB, offset: 0xC211D, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x9F370, symSize: 0xF4 } + - { offsetInCU: 0x2EED, offset: 0xC232F, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x9F464, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0xC2694, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0xC2768, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0xC279A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0xC2807, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9F604, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0xC2861, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9F604, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0xC2989, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x9F640, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0xC2B85, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x9F69C, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0xC2CA4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x9F6B8, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0xC2D47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x9F70C, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0xC2F15, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9F758, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0xC2F79, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9F758, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0xC3218, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9F800, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0xC32BA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9F800, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0xC354C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9F910, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0xC35CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9F910, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0xC374F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x9F9C0, symSize: 0x178 } + - { offsetInCU: 0x13AB, offset: 0xC3A19, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x56C, symBinAddr: 0x9FB38, symSize: 0x1F4 } + - { offsetInCU: 0x1500, offset: 0xC3B6E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x760, symBinAddr: 0x9FD2C, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0xC3BD5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x778, symBinAddr: 0x9FD44, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0xC3C0E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x784, symBinAddr: 0x9FD50, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0xC3C92, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x78C, symBinAddr: 0x9FD58, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xC3E45, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9FD94, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0xC3E53, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9FD94, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0xC3F59, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x374, symBinAddr: 0xB56F10, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xC3F9B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9FF04, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0xC3FEB, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x4E3000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xC406F, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x508000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xC42D0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9FF04, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xC4BDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0xA028C, symSize: 0x204 } + - { offsetInCU: 0x1171, offset: 0xC50E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0xA0490, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xC54BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xA0660, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xC54FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xA0660, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xC5509, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0xA0800, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xC552C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0xA0860, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xC551D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xA0AF0, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xC5555, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xA0AF0, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xC556C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0xA0C20, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xC5582, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0xA0C90, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xC5587, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0xA0DF0, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xC5595, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xA1180, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xC55CD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xA1180, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xC55D1, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0xA1520, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xC55EB, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0xA1BE0, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xC5637, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0xA2E80, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xC564D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0xA4000, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xC5643, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA5420, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xC5678, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA5420, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xC5680, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0xA5660, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xC5696, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0xA6040, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xC56A5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA66A0, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xC56DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA66A0, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xC56F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0xA66E0, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xC570B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0xA6720, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xC5716, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0xA6760, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xC572C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0xA6940, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xC5740, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0xA6AB0, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xC5758, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0xA6B00, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xC576E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0xA6B50, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xC5784, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0xA6BA0, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xC57A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0xA6C00, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xC57B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0xA6DE0, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xC57D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0xA7140, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xC57EB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0xA7410, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xC5805, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0xA76C0, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xC5819, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0xA7910, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xC582F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0xA7970, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xC5825, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA79C0, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xC5861, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA79C0, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xC5877, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0xA8550, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xC5871, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA9100, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58B2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA9100, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58B2, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA9F40, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xC58BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xAA740, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58FE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xAA740, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58FE, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xAB580, symSize: 0x1F0 } ... diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG index ffcab34f2..b3e2e3091 100755 Binary files a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/CanvasSVG.framework/CanvasSVG differ diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG index 0b7b7ae14..083608d47 100644 Binary files a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG and b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml index 5b5a06348..d9d83ac31 100644 --- a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml @@ -2,99 +2,223 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xA8AAE, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xB120, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xA8AE3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xB150, symSize: 0x0 } - - { offsetInCU: 0x27, offset: 0xA8B20, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x282C, symSize: 0xB4 } - - { offsetInCU: 0x66, offset: 0xA8B5F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x282C, symSize: 0xB4 } - - { offsetInCU: 0x15B, offset: 0xA8C54, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x28E0, symSize: 0xB4 } - - { offsetInCU: 0x65, offset: 0xA8DB3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2994, symSize: 0x44 } - - { offsetInCU: 0xBD, offset: 0xA8E0B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x88, symBinAddr: 0x2A1C, symSize: 0x48 } - - { offsetInCU: 0x118, offset: 0xA8E66, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x12C, symBinAddr: 0x2AC0, symSize: 0x44 } - - { offsetInCU: 0x170, offset: 0xA8EBE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x1B4, symBinAddr: 0x2B48, symSize: 0x54 } - - { offsetInCU: 0x1CD, offset: 0xA8F1B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x2B0, symBinAddr: 0x2C44, symSize: 0x44 } - - { offsetInCU: 0x225, offset: 0xA8F73, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x338, symBinAddr: 0x2CCC, symSize: 0x48 } - - { offsetInCU: 0x280, offset: 0xA8FCE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2DB8, symSize: 0x10 } - - { offsetInCU: 0x2A0, offset: 0xA8FEE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2DB8, symSize: 0x10 } - - { offsetInCU: 0x2D6, offset: 0xA9024, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2DC8, symSize: 0x10 } - - { offsetInCU: 0x2F6, offset: 0xA9044, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2DC8, symSize: 0x10 } - - { offsetInCU: 0x32F, offset: 0xA907D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2DD8, symSize: 0x10 } - - { offsetInCU: 0x34F, offset: 0xA909D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2DD8, symSize: 0x10 } - - { offsetInCU: 0x385, offset: 0xA90D3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2DE8, symSize: 0x10 } - - { offsetInCU: 0x3A5, offset: 0xA90F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2DE8, symSize: 0x10 } - - { offsetInCU: 0x3DE, offset: 0xA912C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2DF8, symSize: 0x10 } - - { offsetInCU: 0x3FE, offset: 0xA914C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2DF8, symSize: 0x10 } - - { offsetInCU: 0x434, offset: 0xA9182, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2E08, symSize: 0x10 } - - { offsetInCU: 0x454, offset: 0xA91A2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2E08, symSize: 0x10 } - - { offsetInCU: 0x48D, offset: 0xA91DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x484, symBinAddr: 0x2E18, symSize: 0x44 } - - { offsetInCU: 0x4FB, offset: 0xA9249, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x50C, symBinAddr: 0x2EA0, symSize: 0x64 } - - { offsetInCU: 0x5EF, offset: 0xA933D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xADC, symBinAddr: 0x3470, symSize: 0xB8 } - - { offsetInCU: 0x6E0, offset: 0xA942E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x1628, symBinAddr: 0x3FBC, symSize: 0x28 } - - { offsetInCU: 0x712, offset: 0xA9460, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x18F0, symBinAddr: 0x4284, symSize: 0x28 } - - { offsetInCU: 0x744, offset: 0xA9492, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x191C, symBinAddr: 0x42AC, symSize: 0x28 } - - { offsetInCU: 0x78C, offset: 0xA94DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x42D4, symSize: 0x10 } - - { offsetInCU: 0x7AC, offset: 0xA94FA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x42D4, symSize: 0x10 } - - { offsetInCU: 0x800, offset: 0xA954E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D3C, symBinAddr: 0x46CC, symSize: 0x20 } - - { offsetInCU: 0x837, offset: 0xA9585, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1FD8, symBinAddr: 0x4968, symSize: 0x28 } - - { offsetInCU: 0x889, offset: 0xA95D7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E4, symBinAddr: 0x4B58, symSize: 0x80 } - - { offsetInCU: 0x8FC, offset: 0xA964A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x240C, symBinAddr: 0x4D80, symSize: 0x34 } - - { offsetInCU: 0x92E, offset: 0xA967C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24D0, symBinAddr: 0x4E44, symSize: 0x34 } - - { offsetInCU: 0xA5C, offset: 0xA97AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4870, symBinAddr: 0x71E4, symSize: 0x13E8 } - - { offsetInCU: 0x172A, offset: 0xAA478, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5C58, symBinAddr: 0x85CC, symSize: 0x238 } - - { offsetInCU: 0x1948, offset: 0xAA696, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5E90, symBinAddr: 0x8804, symSize: 0x2F0 } - - { offsetInCU: 0x1B96, offset: 0xAA8E4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6180, symBinAddr: 0x8AF4, symSize: 0x3A4 } - - { offsetInCU: 0x1E0D, offset: 0xAAB5B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xD0, symBinAddr: 0x2A64, symSize: 0x50 } - - { offsetInCU: 0x1E45, offset: 0xAAB93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x208, symBinAddr: 0x2B9C, symSize: 0x50 } - - { offsetInCU: 0x1E7D, offset: 0xAABCB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x258, symBinAddr: 0x2BEC, symSize: 0x58 } - - { offsetInCU: 0x1EBF, offset: 0xAAC0D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x380, symBinAddr: 0x2D14, symSize: 0x50 } - - { offsetInCU: 0x1EF7, offset: 0xAAC45, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x5D0, symBinAddr: 0x2F64, symSize: 0x50 } - - { offsetInCU: 0x1F2F, offset: 0xAAC7D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x620, symBinAddr: 0x2FB4, symSize: 0x64 } - - { offsetInCU: 0x1FEA, offset: 0xAAD38, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C98, symBinAddr: 0x4628, symSize: 0x40 } - - { offsetInCU: 0x1FFE, offset: 0xAAD4C, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x1CD8, symBinAddr: 0x4668, symSize: 0x44 } - - { offsetInCU: 0x2012, offset: 0xAAD60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1D1C, symBinAddr: 0x46AC, symSize: 0x20 } - - { offsetInCU: 0x2036, offset: 0xAAD84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x4404, symBinAddr: 0x6D78, symSize: 0x70 } - - { offsetInCU: 0x2480, offset: 0xAB1CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6550, symBinAddr: 0x8EC4, symSize: 0xC } - - { offsetInCU: 0x2494, offset: 0xAB1E2, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x655C, symBinAddr: 0x8ED0, symSize: 0x10 } - - { offsetInCU: 0x24A8, offset: 0xAB1F6, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x656C, symBinAddr: 0x8EE0, symSize: 0x8 } - - { offsetInCU: 0x24BC, offset: 0xAB20A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x65F8, symBinAddr: 0x8F6C, symSize: 0xC } - - { offsetInCU: 0x24D0, offset: 0xAB21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6634, symBinAddr: 0x8FA8, symSize: 0xC } - - { offsetInCU: 0x24E4, offset: 0xAB232, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x67E8, symBinAddr: 0x915C, symSize: 0xC } - - { offsetInCU: 0x24F8, offset: 0xAB246, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x67F4, symBinAddr: 0x9168, symSize: 0x4 } - - { offsetInCU: 0x250C, offset: 0xAB25A, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x67F8, symBinAddr: 0x916C, symSize: 0x20 } - - { offsetInCU: 0x2520, offset: 0xAB26E, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x6818, symBinAddr: 0x918C, symSize: 0x28 } - - { offsetInCU: 0x253F, offset: 0xAB28D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x68BC, symBinAddr: 0x9230, symSize: 0x10 } - - { offsetInCU: 0x2568, offset: 0xAB2B6, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x68CC, symBinAddr: 0x9240, symSize: 0x40 } - - { offsetInCU: 0x257C, offset: 0xAB2CA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x6948, symBinAddr: 0x92BC, symSize: 0x24 } - - { offsetInCU: 0x25B0, offset: 0xAB2FE, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x69A4, symBinAddr: 0x9318, symSize: 0x44 } - - { offsetInCU: 0x25C4, offset: 0xAB312, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x6B64, symBinAddr: 0x94D8, symSize: 0x108 } - - { offsetInCU: 0x26D7, offset: 0xAB425, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x6C90, symBinAddr: 0x9604, symSize: 0x8 } - - { offsetInCU: 0x2C80, offset: 0xAB9CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x44, symBinAddr: 0x29D8, symSize: 0x44 } - - { offsetInCU: 0x2D08, offset: 0xABA56, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x170, symBinAddr: 0x2B04, symSize: 0x44 } - - { offsetInCU: 0x2D60, offset: 0xABAAE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2F4, symBinAddr: 0x2C88, symSize: 0x44 } - - { offsetInCU: 0x2E59, offset: 0xABBA7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4C8, symBinAddr: 0x2E5C, symSize: 0x44 } - - { offsetInCU: 0x2EAC, offset: 0xABBFA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x570, symBinAddr: 0x2F04, symSize: 0x60 } - - { offsetInCU: 0x2F1C, offset: 0xABC6A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x684, symBinAddr: 0x3018, symSize: 0x48 } - - { offsetInCU: 0x2F41, offset: 0xABC8F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x6CC, symBinAddr: 0x3060, symSize: 0x3C } - - { offsetInCU: 0x2F9D, offset: 0xABCEB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x750, symBinAddr: 0x30E4, symSize: 0x48 } - - { offsetInCU: 0x2FC2, offset: 0xABD10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA60, symBinAddr: 0x33F4, symSize: 0x48 } - - { offsetInCU: 0x315F, offset: 0xABEAD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xB94, symBinAddr: 0x3528, symSize: 0x45C } - - { offsetInCU: 0x347B, offset: 0xAC1C9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xFF0, symBinAddr: 0x3984, symSize: 0x634 } - - { offsetInCU: 0x3733, offset: 0xAC481, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1650, symBinAddr: 0x3FE4, symSize: 0x2A0 } - - { offsetInCU: 0x3AD2, offset: 0xAC820, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1954, symBinAddr: 0x42E4, symSize: 0x50 } - - { offsetInCU: 0x3AE6, offset: 0xAC834, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x19A4, symBinAddr: 0x4334, symSize: 0x2F4 } - - { offsetInCU: 0x3B6A, offset: 0xAC8B8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D5C, symBinAddr: 0x46EC, symSize: 0x27C } - - { offsetInCU: 0x3C21, offset: 0xAC96F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x2000, symBinAddr: 0x4990, symSize: 0x1C8 } - - { offsetInCU: 0x3E27, offset: 0xACB75, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2264, symBinAddr: 0x4BD8, symSize: 0x1A8 } - - { offsetInCU: 0x4003, offset: 0xACD51, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2440, symBinAddr: 0x4DB4, symSize: 0x90 } - - { offsetInCU: 0x40B2, offset: 0xACE00, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x2504, symBinAddr: 0x4E78, symSize: 0x4 } - - { offsetInCU: 0x40C6, offset: 0xACE14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2514, symBinAddr: 0x4E88, symSize: 0x4 } - - { offsetInCU: 0x40DA, offset: 0xACE28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2524, symBinAddr: 0x4E98, symSize: 0x4 } - - { offsetInCU: 0x40FA, offset: 0xACE48, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x2570, symBinAddr: 0x4EE4, symSize: 0x26C } - - { offsetInCU: 0x416D, offset: 0xACEBB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x27DC, symBinAddr: 0x5150, symSize: 0x3DC } - - { offsetInCU: 0x4466, offset: 0xAD1B4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2C20, symBinAddr: 0x5594, symSize: 0x81C } - - { offsetInCU: 0x45C6, offset: 0xAD314, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x36D8, symBinAddr: 0x604C, symSize: 0xC38 } - - { offsetInCU: 0x478D, offset: 0xAD4DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x43D4, symBinAddr: 0x6D48, symSize: 0x30 } - - { offsetInCU: 0x47B0, offset: 0xAD4FE, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4474, symBinAddr: 0x6DE8, symSize: 0xE8 } - - { offsetInCU: 0x47E5, offset: 0xAD533, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x455C, symBinAddr: 0x6ED0, symSize: 0x1F4 } - - { offsetInCU: 0x4842, offset: 0xAD590, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4750, symBinAddr: 0x70C4, symSize: 0x1C } - - { offsetInCU: 0x4880, offset: 0xAD5CE, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x476C, symBinAddr: 0x70E0, symSize: 0x104 } + - { offsetInCU: 0x34, offset: 0xA8AAE, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x49D000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xA8AE3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x49D030, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0xA8B20, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2980, symSize: 0xB4 } + - { offsetInCU: 0x66, offset: 0xA8B5F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2980, symSize: 0xB4 } + - { offsetInCU: 0x15B, offset: 0xA8C54, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x2A34, symSize: 0xB4 } + - { offsetInCU: 0x65, offset: 0xA8DB3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2AE8, symSize: 0x44 } + - { offsetInCU: 0xBD, offset: 0xA8E0B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x88, symBinAddr: 0x2B70, symSize: 0x48 } + - { offsetInCU: 0x118, offset: 0xA8E66, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x12C, symBinAddr: 0x2C14, symSize: 0x44 } + - { offsetInCU: 0x170, offset: 0xA8EBE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x1B4, symBinAddr: 0x2C9C, symSize: 0x54 } + - { offsetInCU: 0x1CD, offset: 0xA8F1B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x2B0, symBinAddr: 0x2D98, symSize: 0x44 } + - { offsetInCU: 0x225, offset: 0xA8F73, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x338, symBinAddr: 0x2E20, symSize: 0x48 } + - { offsetInCU: 0x280, offset: 0xA8FCE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2F0C, symSize: 0x10 } + - { offsetInCU: 0x2A0, offset: 0xA8FEE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2F0C, symSize: 0x10 } + - { offsetInCU: 0x2D6, offset: 0xA9024, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2F1C, symSize: 0x10 } + - { offsetInCU: 0x2F6, offset: 0xA9044, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2F1C, symSize: 0x10 } + - { offsetInCU: 0x32F, offset: 0xA907D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2F2C, symSize: 0x10 } + - { offsetInCU: 0x34F, offset: 0xA909D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2F2C, symSize: 0x10 } + - { offsetInCU: 0x385, offset: 0xA90D3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2F3C, symSize: 0x10 } + - { offsetInCU: 0x3A5, offset: 0xA90F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2F3C, symSize: 0x10 } + - { offsetInCU: 0x3DE, offset: 0xA912C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2F4C, symSize: 0x10 } + - { offsetInCU: 0x3FE, offset: 0xA914C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2F4C, symSize: 0x10 } + - { offsetInCU: 0x434, offset: 0xA9182, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2F5C, symSize: 0x10 } + - { offsetInCU: 0x454, offset: 0xA91A2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2F5C, symSize: 0x10 } + - { offsetInCU: 0x48D, offset: 0xA91DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x484, symBinAddr: 0x2F6C, symSize: 0x44 } + - { offsetInCU: 0x4FB, offset: 0xA9249, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x50C, symBinAddr: 0x2FF4, symSize: 0x64 } + - { offsetInCU: 0x5EF, offset: 0xA933D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xADC, symBinAddr: 0x35C4, symSize: 0xB8 } + - { offsetInCU: 0x6E0, offset: 0xA942E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x1628, symBinAddr: 0x4110, symSize: 0x28 } + - { offsetInCU: 0x712, offset: 0xA9460, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x18F0, symBinAddr: 0x43D8, symSize: 0x28 } + - { offsetInCU: 0x744, offset: 0xA9492, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x191C, symBinAddr: 0x4400, symSize: 0x28 } + - { offsetInCU: 0x78C, offset: 0xA94DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x4428, symSize: 0x10 } + - { offsetInCU: 0x7AC, offset: 0xA94FA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x4428, symSize: 0x10 } + - { offsetInCU: 0x800, offset: 0xA954E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D3C, symBinAddr: 0x4820, symSize: 0x20 } + - { offsetInCU: 0x837, offset: 0xA9585, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1FD8, symBinAddr: 0x4ABC, symSize: 0x28 } + - { offsetInCU: 0x889, offset: 0xA95D7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E4, symBinAddr: 0x4CAC, symSize: 0x80 } + - { offsetInCU: 0x8FC, offset: 0xA964A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x240C, symBinAddr: 0x4ED4, symSize: 0x34 } + - { offsetInCU: 0x92E, offset: 0xA967C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24D0, symBinAddr: 0x4F98, symSize: 0x34 } + - { offsetInCU: 0xA5C, offset: 0xA97AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4870, symBinAddr: 0x7338, symSize: 0x13E8 } + - { offsetInCU: 0x172A, offset: 0xAA478, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5C58, symBinAddr: 0x8720, symSize: 0x238 } + - { offsetInCU: 0x1948, offset: 0xAA696, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5E90, symBinAddr: 0x8958, symSize: 0x2F0 } + - { offsetInCU: 0x1B96, offset: 0xAA8E4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6180, symBinAddr: 0x8C48, symSize: 0x3A4 } + - { offsetInCU: 0x1E0D, offset: 0xAAB5B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xD0, symBinAddr: 0x2BB8, symSize: 0x50 } + - { offsetInCU: 0x1E45, offset: 0xAAB93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x208, symBinAddr: 0x2CF0, symSize: 0x50 } + - { offsetInCU: 0x1E7D, offset: 0xAABCB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x258, symBinAddr: 0x2D40, symSize: 0x58 } + - { offsetInCU: 0x1EBF, offset: 0xAAC0D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x380, symBinAddr: 0x2E68, symSize: 0x50 } + - { offsetInCU: 0x1EF7, offset: 0xAAC45, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x5D0, symBinAddr: 0x30B8, symSize: 0x50 } + - { offsetInCU: 0x1F2F, offset: 0xAAC7D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x620, symBinAddr: 0x3108, symSize: 0x64 } + - { offsetInCU: 0x1FEA, offset: 0xAAD38, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C98, symBinAddr: 0x477C, symSize: 0x40 } + - { offsetInCU: 0x1FFE, offset: 0xAAD4C, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x1CD8, symBinAddr: 0x47BC, symSize: 0x44 } + - { offsetInCU: 0x2012, offset: 0xAAD60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1D1C, symBinAddr: 0x4800, symSize: 0x20 } + - { offsetInCU: 0x2036, offset: 0xAAD84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x4404, symBinAddr: 0x6ECC, symSize: 0x70 } + - { offsetInCU: 0x2480, offset: 0xAB1CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6550, symBinAddr: 0x9018, symSize: 0xC } + - { offsetInCU: 0x2494, offset: 0xAB1E2, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x655C, symBinAddr: 0x9024, symSize: 0x10 } + - { offsetInCU: 0x24A8, offset: 0xAB1F6, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x656C, symBinAddr: 0x9034, symSize: 0x8 } + - { offsetInCU: 0x24BC, offset: 0xAB20A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x65F8, symBinAddr: 0x90C0, symSize: 0xC } + - { offsetInCU: 0x24D0, offset: 0xAB21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6634, symBinAddr: 0x90FC, symSize: 0xC } + - { offsetInCU: 0x24E4, offset: 0xAB232, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x67E8, symBinAddr: 0x92B0, symSize: 0xC } + - { offsetInCU: 0x24F8, offset: 0xAB246, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x67F4, symBinAddr: 0x92BC, symSize: 0x4 } + - { offsetInCU: 0x250C, offset: 0xAB25A, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x67F8, symBinAddr: 0x92C0, symSize: 0x20 } + - { offsetInCU: 0x2520, offset: 0xAB26E, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x6818, symBinAddr: 0x92E0, symSize: 0x28 } + - { offsetInCU: 0x253F, offset: 0xAB28D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x68BC, symBinAddr: 0x9384, symSize: 0x10 } + - { offsetInCU: 0x2568, offset: 0xAB2B6, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x68CC, symBinAddr: 0x9394, symSize: 0x40 } + - { offsetInCU: 0x257C, offset: 0xAB2CA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x6948, symBinAddr: 0x9410, symSize: 0x24 } + - { offsetInCU: 0x25B0, offset: 0xAB2FE, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x69A4, symBinAddr: 0x946C, symSize: 0x44 } + - { offsetInCU: 0x25C4, offset: 0xAB312, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x6B64, symBinAddr: 0x962C, symSize: 0x108 } + - { offsetInCU: 0x26D7, offset: 0xAB425, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x6C90, symBinAddr: 0x9758, symSize: 0x8 } + - { offsetInCU: 0x2C80, offset: 0xAB9CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x44, symBinAddr: 0x2B2C, symSize: 0x44 } + - { offsetInCU: 0x2D08, offset: 0xABA56, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x170, symBinAddr: 0x2C58, symSize: 0x44 } + - { offsetInCU: 0x2D60, offset: 0xABAAE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2F4, symBinAddr: 0x2DDC, symSize: 0x44 } + - { offsetInCU: 0x2E59, offset: 0xABBA7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4C8, symBinAddr: 0x2FB0, symSize: 0x44 } + - { offsetInCU: 0x2EAC, offset: 0xABBFA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x570, symBinAddr: 0x3058, symSize: 0x60 } + - { offsetInCU: 0x2F1C, offset: 0xABC6A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x684, symBinAddr: 0x316C, symSize: 0x48 } + - { offsetInCU: 0x2F41, offset: 0xABC8F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x6CC, symBinAddr: 0x31B4, symSize: 0x3C } + - { offsetInCU: 0x2F9D, offset: 0xABCEB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x750, symBinAddr: 0x3238, symSize: 0x48 } + - { offsetInCU: 0x2FC2, offset: 0xABD10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA60, symBinAddr: 0x3548, symSize: 0x48 } + - { offsetInCU: 0x315F, offset: 0xABEAD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xB94, symBinAddr: 0x367C, symSize: 0x45C } + - { offsetInCU: 0x347B, offset: 0xAC1C9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xFF0, symBinAddr: 0x3AD8, symSize: 0x634 } + - { offsetInCU: 0x3733, offset: 0xAC481, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1650, symBinAddr: 0x4138, symSize: 0x2A0 } + - { offsetInCU: 0x3AD2, offset: 0xAC820, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1954, symBinAddr: 0x4438, symSize: 0x50 } + - { offsetInCU: 0x3AE6, offset: 0xAC834, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x19A4, symBinAddr: 0x4488, symSize: 0x2F4 } + - { offsetInCU: 0x3B6A, offset: 0xAC8B8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D5C, symBinAddr: 0x4840, symSize: 0x27C } + - { offsetInCU: 0x3C21, offset: 0xAC96F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x2000, symBinAddr: 0x4AE4, symSize: 0x1C8 } + - { offsetInCU: 0x3E27, offset: 0xACB75, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2264, symBinAddr: 0x4D2C, symSize: 0x1A8 } + - { offsetInCU: 0x4003, offset: 0xACD51, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2440, symBinAddr: 0x4F08, symSize: 0x90 } + - { offsetInCU: 0x40B2, offset: 0xACE00, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x2504, symBinAddr: 0x4FCC, symSize: 0x4 } + - { offsetInCU: 0x40C6, offset: 0xACE14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2514, symBinAddr: 0x4FDC, symSize: 0x4 } + - { offsetInCU: 0x40DA, offset: 0xACE28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2524, symBinAddr: 0x4FEC, symSize: 0x4 } + - { offsetInCU: 0x40FA, offset: 0xACE48, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x2570, symBinAddr: 0x5038, symSize: 0x26C } + - { offsetInCU: 0x416D, offset: 0xACEBB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x27DC, symBinAddr: 0x52A4, symSize: 0x3DC } + - { offsetInCU: 0x4466, offset: 0xAD1B4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2C20, symBinAddr: 0x56E8, symSize: 0x81C } + - { offsetInCU: 0x45C6, offset: 0xAD314, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x36D8, symBinAddr: 0x61A0, symSize: 0xC38 } + - { offsetInCU: 0x478D, offset: 0xAD4DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x43D4, symBinAddr: 0x6E9C, symSize: 0x30 } + - { offsetInCU: 0x47B0, offset: 0xAD4FE, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4474, symBinAddr: 0x6F3C, symSize: 0xE8 } + - { offsetInCU: 0x47E5, offset: 0xAD533, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x455C, symBinAddr: 0x7024, symSize: 0x1F4 } + - { offsetInCU: 0x4842, offset: 0xAD590, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4750, symBinAddr: 0x7218, symSize: 0x1C } + - { offsetInCU: 0x4880, offset: 0xAD5CE, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x476C, symBinAddr: 0x7234, symSize: 0x104 } + - { offsetInCU: 0x26, offset: 0xAD94B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x92A04, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0xAD965, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9E20, symBinAddr: 0x4D5230, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xAD9B7, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFE20, symBinAddr: 0x4DB230, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xADA1B, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE48, symBinAddr: 0x4DB258, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xADA31, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10250, symBinAddr: 0x4DB660, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xADA48, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE90, symBinAddr: 0x4DB2A0, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0xAE2E7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x92A04, symSize: 0x265C } + - { offsetInCU: 0x45D1, offset: 0xB1EF6, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x95060, symSize: 0x134 } + - { offsetInCU: 0x46F7, offset: 0xB201C, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9954, symBinAddr: 0x9C358, symSize: 0x21C } + - { offsetInCU: 0x4926, offset: 0xB224B, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FE0, symBinAddr: 0x979E4, symSize: 0x1B8 } + - { offsetInCU: 0x5313, offset: 0xB2C38, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x95194, symSize: 0x5BC } + - { offsetInCU: 0x5F76, offset: 0xB389B, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x95750, symSize: 0x7F8 } + - { offsetInCU: 0x642E, offset: 0xB3D53, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x95F48, symSize: 0x208 } + - { offsetInCU: 0x69FC, offset: 0xB4321, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x96150, symSize: 0x7B4 } + - { offsetInCU: 0x77D5, offset: 0xB50FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3F00, symBinAddr: 0x96904, symSize: 0x634 } + - { offsetInCU: 0x8196, offset: 0xB5ABB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4534, symBinAddr: 0x96F38, symSize: 0xAAC } + - { offsetInCU: 0x9567, offset: 0xB6E8C, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x529C, symBinAddr: 0x97CA0, symSize: 0x23F8 } + - { offsetInCU: 0xCAB8, offset: 0xBA3DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5198, symBinAddr: 0x97B9C, symSize: 0x104 } + - { offsetInCU: 0xCD20, offset: 0xBA645, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7694, symBinAddr: 0x9A098, symSize: 0x30 } + - { offsetInCU: 0xCE11, offset: 0xBA736, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C4, symBinAddr: 0x9A0C8, symSize: 0x58 } + - { offsetInCU: 0xCE86, offset: 0xBA7AB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCECE, offset: 0xBA7F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCEFD, offset: 0xBA822, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCF21, offset: 0xBA846, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x7720, symBinAddr: 0x9A124, symSize: 0x8C } + - { offsetInCU: 0xD056, offset: 0xBA97B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x9A1B0, symSize: 0x4 } + - { offsetInCU: 0xD08F, offset: 0xBA9B4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x9A1B0, symSize: 0x4 } + - { offsetInCU: 0xD328, offset: 0xBAC4D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77B0, symBinAddr: 0x9A1B4, symSize: 0x15D8 } + - { offsetInCU: 0x10671, offset: 0xBDF96, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B70, symBinAddr: 0x9C574, symSize: 0x218 } + - { offsetInCU: 0x10CA3, offset: 0xBE5C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D88, symBinAddr: 0x9B78C, symSize: 0x20 } + - { offsetInCU: 0x11140, offset: 0xBEA65, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8DA8, symBinAddr: 0x9B7AC, symSize: 0xBAC } + - { offsetInCU: 0x26, offset: 0xBF830, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9C78C, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0xBF9DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9C78C, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xBFC77, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9C980, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0xBFC85, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9C980, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xBFD95, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9C9BC, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0xBFDA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9C9BC, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0xBFF06, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x4DB710, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xBFF38, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x4DB6A0, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xBFF5A, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x4DB6D0, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xBFF70, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x4DB700, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xC0237, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9CA54, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0xC027B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9CA54, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0xC0414, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x9CA6C, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0xC04BF, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x9CA84, symSize: 0x320 } + - { offsetInCU: 0x1173, offset: 0xC0FF3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x9CDA4, symSize: 0xAC } + - { offsetInCU: 0x1469, offset: 0xC12E9, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x9CE50, symSize: 0x500 } + - { offsetInCU: 0x2666, offset: 0xC24E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x9D350, symSize: 0x2C8 } + - { offsetInCU: 0x2CB5, offset: 0xC2B35, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x9D618, symSize: 0xF4 } + - { offsetInCU: 0x2EC7, offset: 0xC2D47, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x9D70C, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0xC3072, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0xC3146, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0xC3178, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0xC31E5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9D8AC, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0xC323F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9D8AC, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0xC3367, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x9D8E8, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0xC3563, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x9D944, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0xC3682, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x9D960, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0xC3725, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x9D9B4, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0xC38F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9DA00, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0xC3957, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9DA00, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0xC3BF6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9DAA8, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0xC3C98, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9DAA8, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0xC3F2A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9DBB8, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0xC3FAA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9DBB8, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0xC412D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x9DC68, symSize: 0x198 } + - { offsetInCU: 0x13AB, offset: 0xC43F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x58C, symBinAddr: 0x9DE00, symSize: 0x290 } + - { offsetInCU: 0x1500, offset: 0xC454C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x81C, symBinAddr: 0x9E090, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0xC45B3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x834, symBinAddr: 0x9E0A8, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0xC45EC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x840, symBinAddr: 0x9E0B4, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0xC4670, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x848, symBinAddr: 0x9E0BC, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xC4823, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9E0F8, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xC4831, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9E0F8, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xC4937, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x398, symBinAddr: 0xB51258, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xC4979, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9E288, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0xC49C9, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x4DC000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xC4A4D, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x501000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xC4CAE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9E288, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xC55B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x9E610, symSize: 0x204 } + - { offsetInCU: 0x1163, offset: 0xC5AB6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x9E814, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xC5E8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x9E9E0, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xC5ECB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x9E9E0, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xC5ED9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x9EB80, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xC5EFC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x9EBE0, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xC5EED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x9EE70, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xC5F25, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x9EE70, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xC5F3C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x9EFA0, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xC5F52, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x9F010, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xC5F57, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x9F170, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xC5F65, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x9F500, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xC5F9D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x9F500, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xC5FA1, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x9F8A0, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xC5FBB, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x9FF60, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xC6007, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0xA1200, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xC601D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0xA2380, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xC6013, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA37A0, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xC6048, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA37A0, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xC6050, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0xA39E0, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xC6066, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0xA43C0, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xC6075, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA4A20, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xC60AC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA4A20, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xC60C2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0xA4A60, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xC60DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0xA4AA0, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xC60E6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0xA4AE0, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xC60FC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0xA4CC0, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xC6110, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0xA4E30, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xC6128, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0xA4E80, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xC613E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0xA4ED0, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xC6154, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0xA4F20, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xC6176, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0xA4F80, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xC6189, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0xA5160, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xC61A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0xA54C0, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xC61BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0xA5790, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xC61D5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0xA5A40, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xC61E9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0xA5C90, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xC61FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0xA5CF0, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xC61F5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA5D40, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xC6231, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA5D40, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xC6247, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0xA68D0, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xC6241, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA7480, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC6282, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA7480, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC6282, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA82C0, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xC628D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA8AC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC62CE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA8AC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC62CE, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA9900, symSize: 0x1F0 } ... diff --git a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml index e098a7116..d2102e6b8 100644 --- a/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml +++ b/packages/canvas-svg/src-native/ios/dist/CanvasSVG.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml @@ -2,92 +2,290 @@ triple: 'x86_64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xAB77E, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xC550, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xAB7B3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xC580, symSize: 0x0 } - - { offsetInCU: 0x27, offset: 0xAB7F0, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2290, symSize: 0xC5 } - - { offsetInCU: 0x66, offset: 0xAB82F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2290, symSize: 0xC5 } - - { offsetInCU: 0x1D9, offset: 0xAB9A2, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xC5, symBinAddr: 0x2355, symSize: 0xC5 } - - { offsetInCU: 0x65, offset: 0xABB7F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2420, symSize: 0x40 } - - { offsetInCU: 0xBB, offset: 0xABBD5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x70, symBinAddr: 0x2490, symSize: 0x40 } - - { offsetInCU: 0x114, offset: 0xABC2E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x110, symBinAddr: 0x2530, symSize: 0x40 } - - { offsetInCU: 0x16A, offset: 0xABC84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x190, symBinAddr: 0x25B0, symSize: 0x60 } - - { offsetInCU: 0x1C5, offset: 0xABCDF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x280, symBinAddr: 0x26A0, symSize: 0x40 } - - { offsetInCU: 0x21B, offset: 0xABD35, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x2F0, symBinAddr: 0x2710, symSize: 0x40 } - - { offsetInCU: 0x274, offset: 0xABD8E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x3D0, symBinAddr: 0x27F0, symSize: 0x20 } - - { offsetInCU: 0x2CA, offset: 0xABDE4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x3F0, symBinAddr: 0x2810, symSize: 0x10 } - - { offsetInCU: 0x323, offset: 0xABE3D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x400, symBinAddr: 0x2820, symSize: 0x20 } - - { offsetInCU: 0x379, offset: 0xABE93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x420, symBinAddr: 0x2840, symSize: 0x10 } - - { offsetInCU: 0x3D2, offset: 0xABEEC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x430, symBinAddr: 0x2850, symSize: 0x20 } - - { offsetInCU: 0x428, offset: 0xABF42, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x450, symBinAddr: 0x2870, symSize: 0x10 } - - { offsetInCU: 0x481, offset: 0xABF9B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x460, symBinAddr: 0x2880, symSize: 0x40 } - - { offsetInCU: 0x4ED, offset: 0xAC007, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x4D0, symBinAddr: 0x28F0, symSize: 0x50 } - - { offsetInCU: 0x5E1, offset: 0xAC0FB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xB10, symBinAddr: 0x2F30, symSize: 0xB0 } - - { offsetInCU: 0x6D2, offset: 0xAC1EC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x14E0, symBinAddr: 0x3900, symSize: 0x30 } - - { offsetInCU: 0x704, offset: 0xAC21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1830, symBinAddr: 0x3C50, symSize: 0x30 } - - { offsetInCU: 0x736, offset: 0xAC250, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1870, symBinAddr: 0x3C80, symSize: 0x30 } - - { offsetInCU: 0x77E, offset: 0xAC298, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x18A0, symBinAddr: 0x3CB0, symSize: 0x20 } - - { offsetInCU: 0x7F2, offset: 0xAC30C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D00, symBinAddr: 0x4110, symSize: 0x30 } - - { offsetInCU: 0x829, offset: 0xAC343, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1F90, symBinAddr: 0x43A0, symSize: 0x30 } - - { offsetInCU: 0x87B, offset: 0xAC395, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E0, symBinAddr: 0x45D0, symSize: 0x80 } - - { offsetInCU: 0x8EE, offset: 0xAC408, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x2400, symBinAddr: 0x47F0, symSize: 0x30 } - - { offsetInCU: 0x920, offset: 0xAC43A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24B0, symBinAddr: 0x48A0, symSize: 0x30 } - - { offsetInCU: 0xA4E, offset: 0xAC568, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4BA0, symBinAddr: 0x6F90, symSize: 0x17D0 } - - { offsetInCU: 0x16BB, offset: 0xAD1D5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6370, symBinAddr: 0x8760, symSize: 0x2B0 } - - { offsetInCU: 0x18BE, offset: 0xAD3D8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6620, symBinAddr: 0x8A10, symSize: 0x3D0 } - - { offsetInCU: 0x1AF2, offset: 0xAD60C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x69F0, symBinAddr: 0x8DE0, symSize: 0x470 } - - { offsetInCU: 0x1D54, offset: 0xAD86E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xB0, symBinAddr: 0x24D0, symSize: 0x40 } - - { offsetInCU: 0x1D8A, offset: 0xAD8A4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x1F0, symBinAddr: 0x2610, symSize: 0x40 } - - { offsetInCU: 0x1DC0, offset: 0xAD8DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x230, symBinAddr: 0x2650, symSize: 0x50 } - - { offsetInCU: 0x1DEE, offset: 0xAD908, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x330, symBinAddr: 0x2750, symSize: 0x40 } - - { offsetInCU: 0x1E24, offset: 0xAD93E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x570, symBinAddr: 0x2990, symSize: 0x40 } - - { offsetInCU: 0x1E5A, offset: 0xAD974, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x5B0, symBinAddr: 0x29D0, symSize: 0x50 } - - { offsetInCU: 0x1F15, offset: 0xADA2F, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C60, symBinAddr: 0x4070, symSize: 0x40 } - - { offsetInCU: 0x1F29, offset: 0xADA43, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1CE0, symBinAddr: 0x40F0, symSize: 0x20 } - - { offsetInCU: 0x1F58, offset: 0xADA72, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x46F0, symBinAddr: 0x6AE0, symSize: 0x70 } - - { offsetInCU: 0x1FAC, offset: 0xADAC6, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCSS_Tgm5', symObjAddr: 0x4830, symBinAddr: 0x6C20, symSize: 0x80 } - - { offsetInCU: 0x23F6, offset: 0xADF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6E90, symBinAddr: 0x9280, symSize: 0x20 } - - { offsetInCU: 0x240A, offset: 0xADF24, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x6EB0, symBinAddr: 0x92A0, symSize: 0x20 } - - { offsetInCU: 0x241E, offset: 0xADF38, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x6ED0, symBinAddr: 0x92C0, symSize: 0x10 } - - { offsetInCU: 0x2432, offset: 0xADF4C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6F60, symBinAddr: 0x9350, symSize: 0x20 } - - { offsetInCU: 0x2446, offset: 0xADF60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6FC0, symBinAddr: 0x93B0, symSize: 0x20 } - - { offsetInCU: 0x245A, offset: 0xADF74, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x71E0, symBinAddr: 0x95D0, symSize: 0x10 } - - { offsetInCU: 0x246E, offset: 0xADF88, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x71F0, symBinAddr: 0x95E0, symSize: 0x10 } - - { offsetInCU: 0x2482, offset: 0xADF9C, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x7200, symBinAddr: 0x95F0, symSize: 0x20 } - - { offsetInCU: 0x2496, offset: 0xADFB0, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x7220, symBinAddr: 0x9610, symSize: 0x30 } - - { offsetInCU: 0x24B5, offset: 0xADFCF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x72C0, symBinAddr: 0x96B0, symSize: 0x20 } - - { offsetInCU: 0x24DE, offset: 0xADFF8, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x72E0, symBinAddr: 0x96D0, symSize: 0x30 } - - { offsetInCU: 0x24F2, offset: 0xAE00C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x7370, symBinAddr: 0x9760, symSize: 0x20 } - - { offsetInCU: 0x2526, offset: 0xAE040, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x73C0, symBinAddr: 0x97B0, symSize: 0x30 } - - { offsetInCU: 0x253A, offset: 0xAE054, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x75A0, symBinAddr: 0x9990, symSize: 0x120 } - - { offsetInCU: 0x261F, offset: 0xAE139, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x76E0, symBinAddr: 0x9AD0, symSize: 0x10 } - - { offsetInCU: 0x2BB4, offset: 0xAE6CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x40, symBinAddr: 0x2460, symSize: 0x30 } - - { offsetInCU: 0x2C3A, offset: 0xAE754, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x150, symBinAddr: 0x2570, symSize: 0x40 } - - { offsetInCU: 0x2C90, offset: 0xAE7AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2C0, symBinAddr: 0x26E0, symSize: 0x30 } - - { offsetInCU: 0x2D87, offset: 0xAE8A1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4A0, symBinAddr: 0x28C0, symSize: 0x30 } - - { offsetInCU: 0x2DD8, offset: 0xAE8F2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x520, symBinAddr: 0x2940, symSize: 0x50 } - - { offsetInCU: 0x2E4A, offset: 0xAE964, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x600, symBinAddr: 0x2A20, symSize: 0x40 } - - { offsetInCU: 0x2E6F, offset: 0xAE989, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x640, symBinAddr: 0x2A60, symSize: 0x30 } - - { offsetInCU: 0x2EDE, offset: 0xAE9F8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x730, symBinAddr: 0x2B50, symSize: 0x40 } - - { offsetInCU: 0x2F03, offset: 0xAEA1D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA90, symBinAddr: 0x2EB0, symSize: 0x40 } - - { offsetInCU: 0x30A0, offset: 0xAEBBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xBC0, symBinAddr: 0x2FE0, symSize: 0x460 } - - { offsetInCU: 0x33F6, offset: 0xAEF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0x1020, symBinAddr: 0x3440, symSize: 0x4B0 } - - { offsetInCU: 0x3696, offset: 0xAF1B0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1510, symBinAddr: 0x3930, symSize: 0x320 } - - { offsetInCU: 0x3A1E, offset: 0xAF538, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x18C0, symBinAddr: 0x3CD0, symSize: 0x80 } - - { offsetInCU: 0x3A32, offset: 0xAF54C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x1940, symBinAddr: 0x3D50, symSize: 0x320 } - - { offsetInCU: 0x3AAE, offset: 0xAF5C8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D30, symBinAddr: 0x4140, symSize: 0x260 } - - { offsetInCU: 0x3B5D, offset: 0xAF677, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x1FC0, symBinAddr: 0x43D0, symSize: 0x200 } - - { offsetInCU: 0x3D61, offset: 0xAF87B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2260, symBinAddr: 0x4650, symSize: 0x1A0 } - - { offsetInCU: 0x3F3B, offset: 0xAFA55, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2430, symBinAddr: 0x4820, symSize: 0x80 } - - { offsetInCU: 0x3FFA, offset: 0xAFB14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x24E0, symBinAddr: 0x48D0, symSize: 0x10 } - - { offsetInCU: 0x400E, offset: 0xAFB28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2510, symBinAddr: 0x4900, symSize: 0x10 } - - { offsetInCU: 0x4022, offset: 0xAFB3C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2540, symBinAddr: 0x4930, symSize: 0x10 } - - { offsetInCU: 0x4042, offset: 0xAFB5C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x25B0, symBinAddr: 0x49A0, symSize: 0x270 } - - { offsetInCU: 0x40AD, offset: 0xAFBC7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2820, symBinAddr: 0x4C10, symSize: 0x470 } - - { offsetInCU: 0x43A0, offset: 0xAFEBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2D30, symBinAddr: 0x5120, symSize: 0x9D0 } - - { offsetInCU: 0x4528, offset: 0xB0042, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x3A70, symBinAddr: 0x5E60, symSize: 0xC20 } - - { offsetInCU: 0x46C7, offset: 0xB01E1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x46C0, symBinAddr: 0x6AB0, symSize: 0x30 } - - { offsetInCU: 0x46EA, offset: 0xB0204, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4760, symBinAddr: 0x6B50, symSize: 0xD0 } - - { offsetInCU: 0x472D, offset: 0xB0247, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x48B0, symBinAddr: 0x6CA0, symSize: 0x220 } - - { offsetInCU: 0x479E, offset: 0xB02B8, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4AD0, symBinAddr: 0x6EC0, symSize: 0x20 } - - { offsetInCU: 0x47D5, offset: 0xB02EF, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4AF0, symBinAddr: 0x6EE0, symSize: 0xB0 } + - { offsetInCU: 0x34, offset: 0xAB77E, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x533000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xAB7B3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x533030, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0xAB7F0, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x1C00, symSize: 0xC5 } + - { offsetInCU: 0x66, offset: 0xAB82F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x1C00, symSize: 0xC5 } + - { offsetInCU: 0x1D9, offset: 0xAB9A2, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xC5, symBinAddr: 0x1CC5, symSize: 0xC5 } + - { offsetInCU: 0x65, offset: 0xABB7F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x1D90, symSize: 0x40 } + - { offsetInCU: 0xBB, offset: 0xABBD5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x70, symBinAddr: 0x1E00, symSize: 0x40 } + - { offsetInCU: 0x114, offset: 0xABC2E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x110, symBinAddr: 0x1EA0, symSize: 0x40 } + - { offsetInCU: 0x16A, offset: 0xABC84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x190, symBinAddr: 0x1F20, symSize: 0x60 } + - { offsetInCU: 0x1C5, offset: 0xABCDF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x280, symBinAddr: 0x2010, symSize: 0x40 } + - { offsetInCU: 0x21B, offset: 0xABD35, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x2F0, symBinAddr: 0x2080, symSize: 0x40 } + - { offsetInCU: 0x274, offset: 0xABD8E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x3D0, symBinAddr: 0x2160, symSize: 0x20 } + - { offsetInCU: 0x2CA, offset: 0xABDE4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x3F0, symBinAddr: 0x2180, symSize: 0x10 } + - { offsetInCU: 0x323, offset: 0xABE3D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x400, symBinAddr: 0x2190, symSize: 0x20 } + - { offsetInCU: 0x379, offset: 0xABE93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x420, symBinAddr: 0x21B0, symSize: 0x10 } + - { offsetInCU: 0x3D2, offset: 0xABEEC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x430, symBinAddr: 0x21C0, symSize: 0x20 } + - { offsetInCU: 0x428, offset: 0xABF42, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x450, symBinAddr: 0x21E0, symSize: 0x10 } + - { offsetInCU: 0x481, offset: 0xABF9B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x460, symBinAddr: 0x21F0, symSize: 0x40 } + - { offsetInCU: 0x4ED, offset: 0xAC007, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x4D0, symBinAddr: 0x2260, symSize: 0x50 } + - { offsetInCU: 0x5E1, offset: 0xAC0FB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xB10, symBinAddr: 0x28A0, symSize: 0xB0 } + - { offsetInCU: 0x6D2, offset: 0xAC1EC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x14E0, symBinAddr: 0x3270, symSize: 0x30 } + - { offsetInCU: 0x704, offset: 0xAC21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1830, symBinAddr: 0x35C0, symSize: 0x30 } + - { offsetInCU: 0x736, offset: 0xAC250, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1870, symBinAddr: 0x35F0, symSize: 0x30 } + - { offsetInCU: 0x77E, offset: 0xAC298, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x18A0, symBinAddr: 0x3620, symSize: 0x20 } + - { offsetInCU: 0x7F2, offset: 0xAC30C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D00, symBinAddr: 0x3A80, symSize: 0x30 } + - { offsetInCU: 0x829, offset: 0xAC343, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1F90, symBinAddr: 0x3D10, symSize: 0x30 } + - { offsetInCU: 0x87B, offset: 0xAC395, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E0, symBinAddr: 0x3F40, symSize: 0x80 } + - { offsetInCU: 0x8EE, offset: 0xAC408, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x2400, symBinAddr: 0x4160, symSize: 0x30 } + - { offsetInCU: 0x920, offset: 0xAC43A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24B0, symBinAddr: 0x4210, symSize: 0x30 } + - { offsetInCU: 0xA4E, offset: 0xAC568, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4BA0, symBinAddr: 0x6900, symSize: 0x17D0 } + - { offsetInCU: 0x16BB, offset: 0xAD1D5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6370, symBinAddr: 0x80D0, symSize: 0x2B0 } + - { offsetInCU: 0x18BE, offset: 0xAD3D8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6620, symBinAddr: 0x8380, symSize: 0x3D0 } + - { offsetInCU: 0x1AF2, offset: 0xAD60C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x69F0, symBinAddr: 0x8750, symSize: 0x470 } + - { offsetInCU: 0x1D54, offset: 0xAD86E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xB0, symBinAddr: 0x1E40, symSize: 0x40 } + - { offsetInCU: 0x1D8A, offset: 0xAD8A4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x1F0, symBinAddr: 0x1F80, symSize: 0x40 } + - { offsetInCU: 0x1DC0, offset: 0xAD8DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x230, symBinAddr: 0x1FC0, symSize: 0x50 } + - { offsetInCU: 0x1DEE, offset: 0xAD908, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x330, symBinAddr: 0x20C0, symSize: 0x40 } + - { offsetInCU: 0x1E24, offset: 0xAD93E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x570, symBinAddr: 0x2300, symSize: 0x40 } + - { offsetInCU: 0x1E5A, offset: 0xAD974, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x5B0, symBinAddr: 0x2340, symSize: 0x50 } + - { offsetInCU: 0x1F15, offset: 0xADA2F, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C60, symBinAddr: 0x39E0, symSize: 0x40 } + - { offsetInCU: 0x1F29, offset: 0xADA43, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1CE0, symBinAddr: 0x3A60, symSize: 0x20 } + - { offsetInCU: 0x1F58, offset: 0xADA72, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x46F0, symBinAddr: 0x6450, symSize: 0x70 } + - { offsetInCU: 0x1FAC, offset: 0xADAC6, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCSS_Tgm5', symObjAddr: 0x4830, symBinAddr: 0x6590, symSize: 0x80 } + - { offsetInCU: 0x23F6, offset: 0xADF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6E90, symBinAddr: 0x8BF0, symSize: 0x20 } + - { offsetInCU: 0x240A, offset: 0xADF24, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x6EB0, symBinAddr: 0x8C10, symSize: 0x20 } + - { offsetInCU: 0x241E, offset: 0xADF38, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x6ED0, symBinAddr: 0x8C30, symSize: 0x10 } + - { offsetInCU: 0x2432, offset: 0xADF4C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6F60, symBinAddr: 0x8CC0, symSize: 0x20 } + - { offsetInCU: 0x2446, offset: 0xADF60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6FC0, symBinAddr: 0x8D20, symSize: 0x20 } + - { offsetInCU: 0x245A, offset: 0xADF74, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x71E0, symBinAddr: 0x8F40, symSize: 0x10 } + - { offsetInCU: 0x246E, offset: 0xADF88, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x71F0, symBinAddr: 0x8F50, symSize: 0x10 } + - { offsetInCU: 0x2482, offset: 0xADF9C, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x7200, symBinAddr: 0x8F60, symSize: 0x20 } + - { offsetInCU: 0x2496, offset: 0xADFB0, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x7220, symBinAddr: 0x8F80, symSize: 0x30 } + - { offsetInCU: 0x24B5, offset: 0xADFCF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x72C0, symBinAddr: 0x9020, symSize: 0x20 } + - { offsetInCU: 0x24DE, offset: 0xADFF8, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x72E0, symBinAddr: 0x9040, symSize: 0x30 } + - { offsetInCU: 0x24F2, offset: 0xAE00C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x7370, symBinAddr: 0x90D0, symSize: 0x20 } + - { offsetInCU: 0x2526, offset: 0xAE040, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x73C0, symBinAddr: 0x9120, symSize: 0x30 } + - { offsetInCU: 0x253A, offset: 0xAE054, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x75A0, symBinAddr: 0x9300, symSize: 0x120 } + - { offsetInCU: 0x261F, offset: 0xAE139, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x76E0, symBinAddr: 0x9440, symSize: 0x10 } + - { offsetInCU: 0x2BB4, offset: 0xAE6CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x40, symBinAddr: 0x1DD0, symSize: 0x30 } + - { offsetInCU: 0x2C3A, offset: 0xAE754, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x150, symBinAddr: 0x1EE0, symSize: 0x40 } + - { offsetInCU: 0x2C90, offset: 0xAE7AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2C0, symBinAddr: 0x2050, symSize: 0x30 } + - { offsetInCU: 0x2D87, offset: 0xAE8A1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4A0, symBinAddr: 0x2230, symSize: 0x30 } + - { offsetInCU: 0x2DD8, offset: 0xAE8F2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x520, symBinAddr: 0x22B0, symSize: 0x50 } + - { offsetInCU: 0x2E4A, offset: 0xAE964, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x600, symBinAddr: 0x2390, symSize: 0x40 } + - { offsetInCU: 0x2E6F, offset: 0xAE989, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x640, symBinAddr: 0x23D0, symSize: 0x30 } + - { offsetInCU: 0x2EDE, offset: 0xAE9F8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x730, symBinAddr: 0x24C0, symSize: 0x40 } + - { offsetInCU: 0x2F03, offset: 0xAEA1D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA90, symBinAddr: 0x2820, symSize: 0x40 } + - { offsetInCU: 0x30A0, offset: 0xAEBBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xBC0, symBinAddr: 0x2950, symSize: 0x460 } + - { offsetInCU: 0x33F6, offset: 0xAEF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0x1020, symBinAddr: 0x2DB0, symSize: 0x4B0 } + - { offsetInCU: 0x3696, offset: 0xAF1B0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1510, symBinAddr: 0x32A0, symSize: 0x320 } + - { offsetInCU: 0x3A1E, offset: 0xAF538, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x18C0, symBinAddr: 0x3640, symSize: 0x80 } + - { offsetInCU: 0x3A32, offset: 0xAF54C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x1940, symBinAddr: 0x36C0, symSize: 0x320 } + - { offsetInCU: 0x3AAE, offset: 0xAF5C8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D30, symBinAddr: 0x3AB0, symSize: 0x260 } + - { offsetInCU: 0x3B5D, offset: 0xAF677, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x1FC0, symBinAddr: 0x3D40, symSize: 0x200 } + - { offsetInCU: 0x3D61, offset: 0xAF87B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2260, symBinAddr: 0x3FC0, symSize: 0x1A0 } + - { offsetInCU: 0x3F3B, offset: 0xAFA55, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2430, symBinAddr: 0x4190, symSize: 0x80 } + - { offsetInCU: 0x3FFA, offset: 0xAFB14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x24E0, symBinAddr: 0x4240, symSize: 0x10 } + - { offsetInCU: 0x400E, offset: 0xAFB28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2510, symBinAddr: 0x4270, symSize: 0x10 } + - { offsetInCU: 0x4022, offset: 0xAFB3C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2540, symBinAddr: 0x42A0, symSize: 0x10 } + - { offsetInCU: 0x4042, offset: 0xAFB5C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x25B0, symBinAddr: 0x4310, symSize: 0x270 } + - { offsetInCU: 0x40AD, offset: 0xAFBC7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2820, symBinAddr: 0x4580, symSize: 0x470 } + - { offsetInCU: 0x43A0, offset: 0xAFEBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2D30, symBinAddr: 0x4A90, symSize: 0x9D0 } + - { offsetInCU: 0x4528, offset: 0xB0042, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x3A70, symBinAddr: 0x57D0, symSize: 0xC20 } + - { offsetInCU: 0x46C7, offset: 0xB01E1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x46C0, symBinAddr: 0x6420, symSize: 0x30 } + - { offsetInCU: 0x46EA, offset: 0xB0204, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4760, symBinAddr: 0x64C0, symSize: 0xD0 } + - { offsetInCU: 0x472D, offset: 0xB0247, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x48B0, symBinAddr: 0x6610, symSize: 0x220 } + - { offsetInCU: 0x479E, offset: 0xB02B8, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4AD0, symBinAddr: 0x6830, symSize: 0x20 } + - { offsetInCU: 0x47D5, offset: 0xB02EF, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4AF0, symBinAddr: 0x6850, symSize: 0xB0 } + - { offsetInCU: 0x26, offset: 0xB0610, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0xA8B80, symSize: 0x3990 } + - { offsetInCU: 0x40, offset: 0xB062A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0xEEC0, symBinAddr: 0x56A3F0, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xB067C, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0x14EC0, symBinAddr: 0x5703F0, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xB06E0, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0x14EE8, symBinAddr: 0x570418, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xB06F6, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x152F0, symBinAddr: 0x570820, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xB070D, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0x14F30, symBinAddr: 0x570460, symSize: 0x0 } + - { offsetInCU: 0xE22, offset: 0xB140C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0xA8B80, symSize: 0x3990 } + - { offsetInCU: 0x4DAE, offset: 0xB5398, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0xE6E0, symBinAddr: 0xB7260, symSize: 0x3E0 } + - { offsetInCU: 0x4FF1, offset: 0xB55DB, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x7C20, symBinAddr: 0xB07A0, symSize: 0x270 } + - { offsetInCU: 0x582C, offset: 0xB5E16, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x3990, symBinAddr: 0xAC510, symSize: 0xA10 } + - { offsetInCU: 0x684B, offset: 0xB6E35, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x43A0, symBinAddr: 0xACF20, symSize: 0xA10 } + - { offsetInCU: 0x6EE9, offset: 0xB74D3, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x4DB0, symBinAddr: 0xAD930, symSize: 0x2B0 } + - { offsetInCU: 0x74BC, offset: 0xB7AA6, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x5060, symBinAddr: 0xADBE0, symSize: 0xCD0 } + - { offsetInCU: 0x83FE, offset: 0xB89E8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x5D30, symBinAddr: 0xAE8B0, symSize: 0xB40 } + - { offsetInCU: 0x8F67, offset: 0xB9551, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x6870, symBinAddr: 0xAF3F0, symSize: 0x13B0 } + - { offsetInCU: 0xA567, offset: 0xBAB51, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x7FF0, symBinAddr: 0xB0B70, symSize: 0x2A30 } + - { offsetInCU: 0xDC6D, offset: 0xBE257, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x7E90, symBinAddr: 0xB0A10, symSize: 0x160 } + - { offsetInCU: 0xDEE7, offset: 0xBE4D1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0xAA20, symBinAddr: 0xB35A0, symSize: 0x30 } + - { offsetInCU: 0xDFDC, offset: 0xBE5C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0xAA50, symBinAddr: 0xB35D0, symSize: 0x50 } + - { offsetInCU: 0xE051, offset: 0xBE63B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0xAAA0, symBinAddr: 0xB3620, symSize: 0x10 } + - { offsetInCU: 0xE0EC, offset: 0xBE6D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0xAAB0, symBinAddr: 0xB3630, symSize: 0xB0 } + - { offsetInCU: 0xE217, offset: 0xBE801, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0xAB60, symBinAddr: 0xB36E0, symSize: 0x10 } + - { offsetInCU: 0xE4E9, offset: 0xBEAD3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0xAB70, symBinAddr: 0xB36F0, symSize: 0x21A0 } + - { offsetInCU: 0x1118F, offset: 0xC1779, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0xEAC0, symBinAddr: 0xB7640, symSize: 0x2D1 } + - { offsetInCU: 0x117CF, offset: 0xC1DB9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0xCD10, symBinAddr: 0xB5890, symSize: 0x20 } + - { offsetInCU: 0x11C6C, offset: 0xC2256, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0xCD30, symBinAddr: 0xB58B0, symSize: 0x19B0 } + - { offsetInCU: 0x26, offset: 0xC3306, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xB7920, symSize: 0x800 } + - { offsetInCU: 0x41, offset: 0xC3321, size: 0x8, addend: 0x0, symName: _aes_nohw_rcon, symObjAddr: 0x1B10, symBinAddr: 0x570900, symSize: 0x0 } + - { offsetInCU: 0x484, offset: 0xC3764, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xB7920, symSize: 0x800 } + - { offsetInCU: 0x1B2B, offset: 0xC4E0B, size: 0x8, addend: 0x0, symName: _aes_nohw_sub_bytes, symObjAddr: 0x15F0, symBinAddr: 0xB8F10, symSize: 0x300 } + - { offsetInCU: 0x32EE, offset: 0xC65CE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_encrypt, symObjAddr: 0x800, symBinAddr: 0xB8120, symSize: 0x80 } + - { offsetInCU: 0x33DC, offset: 0xC66BC, size: 0x8, addend: 0x0, symName: _aes_nohw_expand_round_keys, symObjAddr: 0x880, symBinAddr: 0xB81A0, symSize: 0x1A0 } + - { offsetInCU: 0x386D, offset: 0xC6B4D, size: 0x8, addend: 0x0, symName: _aes_nohw_to_batch, symObjAddr: 0xA20, symBinAddr: 0xB8340, symSize: 0x420 } + - { offsetInCU: 0x3D7D, offset: 0xC705D, size: 0x8, addend: 0x0, symName: _aes_nohw_encrypt_batch, symObjAddr: 0xE40, symBinAddr: 0xB8760, symSize: 0x380 } + - { offsetInCU: 0x424C, offset: 0xC752C, size: 0x8, addend: 0x0, symName: _aes_nohw_from_batch, symObjAddr: 0x11C0, symBinAddr: 0xB8AE0, symSize: 0x250 } + - { offsetInCU: 0x498D, offset: 0xC7C6D, size: 0x8, addend: 0x0, symName: _aes_nohw_shift_rows, symObjAddr: 0x18F0, symBinAddr: 0xB9210, symSize: 0x149 } + - { offsetInCU: 0x4BF9, offset: 0xC7ED9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_ctr32_encrypt_blocks, symObjAddr: 0x1410, symBinAddr: 0xB8D30, symSize: 0x1E0 } + - { offsetInCU: 0x26, offset: 0xC82FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0xB9360, symSize: 0x2DC } + - { offsetInCU: 0x1D2, offset: 0xC84A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0xB9360, symSize: 0x2DC } + - { offsetInCU: 0x26, offset: 0xC86FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0xB9640, symSize: 0x87 } + - { offsetInCU: 0x34, offset: 0xC870D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0xB9640, symSize: 0x87 } + - { offsetInCU: 0x26, offset: 0xC881D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0xB96D0, symSize: 0x46 } + - { offsetInCU: 0x34, offset: 0xC882B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0xB96D0, symSize: 0x46 } + - { offsetInCU: 0x86, offset: 0xC898E, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x15F0, symBinAddr: 0x570980, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xC89C0, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1580, symBinAddr: 0x570910, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xC89E2, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x15B0, symBinAddr: 0x570940, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xC89F8, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x15E0, symBinAddr: 0x570970, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xC8CBF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x150, symBinAddr: 0xB9720, symSize: 0x20 } + - { offsetInCU: 0x594, offset: 0xC8E9C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x250, symBinAddr: 0xB9740, symSize: 0x20 } + - { offsetInCU: 0x63F, offset: 0xC8F47, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x340, symBinAddr: 0xB9760, symSize: 0x3A0 } + - { offsetInCU: 0x11A7, offset: 0xC9AAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x6E0, symBinAddr: 0xB9B00, symSize: 0x140 } + - { offsetInCU: 0x14A2, offset: 0xC9DAA, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x820, symBinAddr: 0xB9C40, symSize: 0x6B0 } + - { offsetInCU: 0x26DA, offset: 0xCAFE2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xED0, symBinAddr: 0xBA2F0, symSize: 0x380 } + - { offsetInCU: 0x2D37, offset: 0xCB63F, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0x1250, symBinAddr: 0xBA670, symSize: 0x170 } + - { offsetInCU: 0x2F2F, offset: 0xCB837, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0x13C0, symBinAddr: 0xBA7E0, symSize: 0x1BF } + - { offsetInCU: 0x26, offset: 0xCBB82, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0xBA9A0, symSize: 0x50 } + - { offsetInCU: 0xFA, offset: 0xCBC56, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0xBA9A0, symSize: 0x50 } + - { offsetInCU: 0x18D, offset: 0xCBCE9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x50, symBinAddr: 0xBA9F0, symSize: 0x60 } + - { offsetInCU: 0x2F1, offset: 0xCBE4D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0xB0, symBinAddr: 0xBAA50, symSize: 0x90 } + - { offsetInCU: 0x4C6, offset: 0xCC022, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0x140, symBinAddr: 0xBAAE0, symSize: 0x20 } + - { offsetInCU: 0x5E3, offset: 0xCC13F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0x160, symBinAddr: 0xBAB00, symSize: 0xB0 } + - { offsetInCU: 0x696, offset: 0xCC1F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x210, symBinAddr: 0xBABB0, symSize: 0x70 } + - { offsetInCU: 0x861, offset: 0xCC3BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x280, symBinAddr: 0xBAC20, symSize: 0x170 } + - { offsetInCU: 0xB67, offset: 0xCC6C3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x3F0, symBinAddr: 0xBAD90, symSize: 0x270 } + - { offsetInCU: 0xE6A, offset: 0xCC9C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x660, symBinAddr: 0xBB000, symSize: 0x1A0 } + - { offsetInCU: 0x105D, offset: 0xCCBB9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x800, symBinAddr: 0xBB1A0, symSize: 0x280 } + - { offsetInCU: 0x128C, offset: 0xCCDE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0xC20, symBinAddr: 0xBB420, symSize: 0x20 } + - { offsetInCU: 0x12F3, offset: 0xCCE4F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0xC40, symBinAddr: 0xBB440, symSize: 0x20 } + - { offsetInCU: 0x132A, offset: 0xCCE86, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0xC60, symBinAddr: 0xBB460, symSize: 0x10 } + - { offsetInCU: 0x13AC, offset: 0xCCF08, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0xC70, symBinAddr: 0xBB470, symSize: 0x4A } + - { offsetInCU: 0x26, offset: 0xCD094, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0xBB4C0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xCD0A2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0xBB4C0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xCD1A4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_ia32cap_P, symObjAddr: 0x3F0, symBinAddr: 0xBE6A10, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xCD1F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0xBB5F0, symSize: 0xF8 } + - { offsetInCU: 0xD5, offset: 0xCD2A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0xBB5F0, symSize: 0xF8 } + - { offsetInCU: 0x26, offset: 0xCD3FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0xBB6F0, symSize: 0x1210 } + - { offsetInCU: 0x92E, offset: 0xCDD05, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0xBB6F0, symSize: 0x1210 } + - { offsetInCU: 0x5347, offset: 0xD271E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base_adx, symObjAddr: 0x1210, symBinAddr: 0xBC900, symSize: 0x1E50 } + - { offsetInCU: 0x9B2F, offset: 0xD6F06, size: 0x8, addend: 0x0, symName: _inline_x25519_ge_dbl_4, symObjAddr: 0x3060, symBinAddr: 0xBE750, symSize: 0x361 } + - { offsetInCU: 0x26, offset: 0xD82F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0xBEAC0, symSize: 0xD0 } + - { offsetInCU: 0x303, offset: 0xD85D0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0xBEAC0, symSize: 0xD0 } + - { offsetInCU: 0x5A4, offset: 0xD8871, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_update, symObjAddr: 0xD0, symBinAddr: 0xBEB90, symSize: 0x1C0 } + - { offsetInCU: 0x764, offset: 0xD8A31, size: 0x8, addend: 0x0, symName: _poly1305_blocks, symObjAddr: 0x5F0, symBinAddr: 0xBF0B0, symSize: 0x780 } + - { offsetInCU: 0x903, offset: 0xD8BD0, size: 0x8, addend: 0x0, symName: _poly1305_first_block, symObjAddr: 0x290, symBinAddr: 0xBED50, symSize: 0x360 } + - { offsetInCU: 0xEFC, offset: 0xD91C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_finish, symObjAddr: 0xD70, symBinAddr: 0xBF830, symSize: 0xAA2 } + - { offsetInCU: 0x10, offset: 0xD9952, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0xC02D2, symSize: 0x2AF } + - { offsetInCU: 0x51, offset: 0xD9993, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0xC02D2, symSize: 0x2AF } + - { offsetInCU: 0x10, offset: 0xD9988, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0xC0581, symSize: 0x1F4 } + - { offsetInCU: 0x54, offset: 0xD99CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0xC0581, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xD99D4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0xC0780, symSize: 0x490 } + - { offsetInCU: 0x76, offset: 0xD9A24, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x571000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xD9AA8, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x596000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xD9D09, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0xC0780, symSize: 0x490 } + - { offsetInCU: 0xC5A, offset: 0xDA608, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x490, symBinAddr: 0xC0C10, symSize: 0x300 } + - { offsetInCU: 0x1135, offset: 0xDAAE3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x790, symBinAddr: 0xC0F10, symSize: 0x25D } + - { offsetInCU: 0x10, offset: 0xDAEA8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xC1180, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xDAEE0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xC1180, symSize: 0x3A0 } + - { offsetInCU: 0x4D, offset: 0xDAEE5, size: 0x8, addend: 0x0, symName: ChaCha20_ssse3, symObjAddr: 0x3A0, symBinAddr: 0xC1520, symSize: 0x220 } + - { offsetInCU: 0x60, offset: 0xDAEF8, size: 0x8, addend: 0x0, symName: ChaCha20_4x, symObjAddr: 0x5C0, symBinAddr: 0xC1740, symSize: 0xA20 } + - { offsetInCU: 0x76, offset: 0xDAF0E, size: 0x8, addend: 0x0, symName: ChaCha20_8x, symObjAddr: 0xFE0, symBinAddr: 0xC2160, symSize: 0xB4C } + - { offsetInCU: 0x10, offset: 0xDAF20, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0xC2CC0, symSize: 0x40 } + - { offsetInCU: 0x48, offset: 0xDAF58, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0xC2CC0, symSize: 0x40 } + - { offsetInCU: 0x4D, offset: 0xDAF5D, size: 0x8, addend: 0x0, symName: _aesni_encrypt2, symObjAddr: 0x40, symBinAddr: 0xC2D00, symSize: 0x60 } + - { offsetInCU: 0x63, offset: 0xDAF73, size: 0x8, addend: 0x0, symName: _aesni_encrypt3, symObjAddr: 0xA0, symBinAddr: 0xC2D60, symSize: 0x70 } + - { offsetInCU: 0x79, offset: 0xDAF89, size: 0x8, addend: 0x0, symName: _aesni_encrypt4, symObjAddr: 0x110, symBinAddr: 0xC2DD0, symSize: 0x90 } + - { offsetInCU: 0x8F, offset: 0xDAF9F, size: 0x8, addend: 0x0, symName: _aesni_encrypt6, symObjAddr: 0x1A0, symBinAddr: 0xC2E60, symSize: 0xE0 } + - { offsetInCU: 0xA5, offset: 0xDAFB5, size: 0x8, addend: 0x0, symName: _aesni_encrypt8, symObjAddr: 0x280, symBinAddr: 0xC2F40, symSize: 0x110 } + - { offsetInCU: 0xD9, offset: 0xDAFE9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x390, symBinAddr: 0xC3050, symSize: 0x940 } + - { offsetInCU: 0xEA, offset: 0xDAFFA, size: 0x8, addend: 0x0, symName: __aesni_set_encrypt_key, symObjAddr: 0xCD0, symBinAddr: 0xC3990, symSize: 0x44D } + - { offsetInCU: 0x10, offset: 0xDAFF0, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0xC3DE0, symSize: 0x160 } + - { offsetInCU: 0x3B, offset: 0xDB01B, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0xC3DE0, symSize: 0x160 } + - { offsetInCU: 0x54, offset: 0xDB034, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core_2x, symObjAddr: 0x160, symBinAddr: 0xC3F40, symSize: 0x290 } + - { offsetInCU: 0x68, offset: 0xDB048, size: 0x8, addend: 0x0, symName: _vpaes_schedule_core, symObjAddr: 0x3F0, symBinAddr: 0xC41D0, symSize: 0xF0 } + - { offsetInCU: 0x7F, offset: 0xDB05F, size: 0x8, addend: 0x0, symName: _vpaes_schedule_round, symObjAddr: 0x4E0, symBinAddr: 0xC42C0, symSize: 0x21 } + - { offsetInCU: 0x99, offset: 0xDB079, size: 0x8, addend: 0x0, symName: _vpaes_schedule_low_round, symObjAddr: 0x501, symBinAddr: 0xC42E1, symSize: 0x9F } + - { offsetInCU: 0xAF, offset: 0xDB08F, size: 0x8, addend: 0x0, symName: _vpaes_schedule_transform, symObjAddr: 0x5A0, symBinAddr: 0xC4380, symSize: 0x30 } + - { offsetInCU: 0xC2, offset: 0xDB0A2, size: 0x8, addend: 0x0, symName: _vpaes_schedule_mangle, symObjAddr: 0x5D0, symBinAddr: 0xC43B0, symSize: 0x50 } + - { offsetInCU: 0xE9, offset: 0xDB0C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_set_encrypt_key, symObjAddr: 0x620, symBinAddr: 0xC4400, symSize: 0x30 } + - { offsetInCU: 0xF7, offset: 0xDB0D7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_encrypt, symObjAddr: 0x650, symBinAddr: 0xC4430, symSize: 0x20 } + - { offsetInCU: 0x11A, offset: 0xDB0FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_ctr32_encrypt_blocks, symObjAddr: 0x670, symBinAddr: 0xC4450, symSize: 0xD0 } + - { offsetInCU: 0x112, offset: 0xDB0F2, size: 0x8, addend: 0x0, symName: _vpaes_preheat, symObjAddr: 0x740, symBinAddr: 0xC4520, symSize: 0x31 } + - { offsetInCU: 0x10, offset: 0xDB102, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xC4560, symSize: 0x2A0 } + - { offsetInCU: 0x45, offset: 0xDB137, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xC4560, symSize: 0x2A0 } + - { offsetInCU: 0x4C, offset: 0xDB13E, size: 0x8, addend: 0x0, symName: bn_mul4x_mont, symObjAddr: 0x2A0, symBinAddr: 0xC4800, symSize: 0x560 } + - { offsetInCU: 0x62, offset: 0xDB154, size: 0x8, addend: 0x0, symName: bn_sqr8x_mont, symObjAddr: 0x800, symBinAddr: 0xC4D60, symSize: 0x220 } + - { offsetInCU: 0x79, offset: 0xDB16B, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont, symObjAddr: 0xA20, symBinAddr: 0xC4F80, symSize: 0x570 } + - { offsetInCU: 0x10, offset: 0xDB17A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0xC5500, symSize: 0x660 } + - { offsetInCU: 0x4D, offset: 0xDB1B7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0xC5500, symSize: 0x660 } + - { offsetInCU: 0x54, offset: 0xDB1BE, size: 0x8, addend: 0x0, symName: bn_mul4x_mont_gather5, symObjAddr: 0x660, symBinAddr: 0xC5B60, symSize: 0x100 } + - { offsetInCU: 0x63, offset: 0xDB1CD, size: 0x8, addend: 0x0, symName: mul4x_internal, symObjAddr: 0x760, symBinAddr: 0xC5C60, symSize: 0x7E0 } + - { offsetInCU: 0x85, offset: 0xDB1EF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_power5, symObjAddr: 0xF40, symBinAddr: 0xC6440, symSize: 0x180 } + - { offsetInCU: 0xA3, offset: 0xDB20D, size: 0x8, addend: 0x0, symName: __bn_sqr8x_internal, symObjAddr: 0x10C0, symBinAddr: 0xC65C0, symSize: 0x579 } + - { offsetInCU: 0xAA, offset: 0xDB214, size: 0x8, addend: 0x0, symName: __bn_sqr8x_reduction, symObjAddr: 0x1639, symBinAddr: 0xC6B39, symSize: 0x347 } + - { offsetInCU: 0xC0, offset: 0xDB22A, size: 0x8, addend: 0x0, symName: __bn_post4x_internal, symObjAddr: 0x1980, symBinAddr: 0xC6E80, symSize: 0xA0 } + - { offsetInCU: 0xD9, offset: 0xDB243, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont_gather5, symObjAddr: 0x1A20, symBinAddr: 0xC6F20, symSize: 0xE0 } + - { offsetInCU: 0xE8, offset: 0xDB252, size: 0x8, addend: 0x0, symName: mulx4x_internal, symObjAddr: 0x1B00, symBinAddr: 0xC7000, symSize: 0x7E0 } + - { offsetInCU: 0xF9, offset: 0xDB263, size: 0x8, addend: 0x0, symName: bn_powerx5, symObjAddr: 0x22E0, symBinAddr: 0xC77E0, symSize: 0x160 } + - { offsetInCU: 0x128, offset: 0xDB292, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_internal, symObjAddr: 0x2440, symBinAddr: 0xC7940, symSize: 0x637 } + - { offsetInCU: 0x12F, offset: 0xDB299, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_reduction, symObjAddr: 0x2A77, symBinAddr: 0xC7F77, symSize: 0x329 } + - { offsetInCU: 0x145, offset: 0xDB2AF, size: 0x8, addend: 0x0, symName: __bn_postx4x_internal, symObjAddr: 0x2DA0, symBinAddr: 0xC82A0, symSize: 0x90 } + - { offsetInCU: 0x163, offset: 0xDB2CD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_scatter5, symObjAddr: 0x2E30, symBinAddr: 0xC8330, symSize: 0x30 } + - { offsetInCU: 0x178, offset: 0xDB2E2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_gather5, symObjAddr: 0x2E60, symBinAddr: 0xC8360, symSize: 0x27F } + - { offsetInCU: 0x10, offset: 0xDB2E4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0xC85E0, symSize: 0x80 } + - { offsetInCU: 0x4A, offset: 0xDB31E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0xC85E0, symSize: 0x80 } + - { offsetInCU: 0x64, offset: 0xDB338, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0x80, symBinAddr: 0xC8660, symSize: 0x360 } + - { offsetInCU: 0x7E, offset: 0xDB352, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x3E0, symBinAddr: 0xC89C0, symSize: 0x300 } + - { offsetInCU: 0x85, offset: 0xDB359, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_mul_montx, symObjAddr: 0x6E0, symBinAddr: 0xC8CC0, symSize: 0x3C0 } + - { offsetInCU: 0x9B, offset: 0xDB36F, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_sqr_montx, symObjAddr: 0xAA0, symBinAddr: 0xC9080, symSize: 0x320 } + - { offsetInCU: 0xB5, offset: 0xDB389, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0xDC0, symBinAddr: 0xC93A0, symSize: 0xA0 } + - { offsetInCU: 0xC4, offset: 0xDB398, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montq, symObjAddr: 0xE60, symBinAddr: 0xC9440, symSize: 0x240 } + - { offsetInCU: 0xE1, offset: 0xDB3B5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x10A0, symBinAddr: 0xC9680, symSize: 0x80 } + - { offsetInCU: 0xF0, offset: 0xDB3C4, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montq, symObjAddr: 0x1120, symBinAddr: 0xC9700, symSize: 0x1A0 } + - { offsetInCU: 0x106, offset: 0xDB3DA, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montx, symObjAddr: 0x12C0, symBinAddr: 0xC98A0, symSize: 0x260 } + - { offsetInCU: 0x11C, offset: 0xDB3F0, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montx, symObjAddr: 0x1520, symBinAddr: 0xC9B00, symSize: 0x1C0 } + - { offsetInCU: 0x142, offset: 0xDB416, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x16E0, symBinAddr: 0xC9CC0, symSize: 0xE0 } + - { offsetInCU: 0x158, offset: 0xDB42C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x17C0, symBinAddr: 0xC9DA0, symSize: 0xC0 } + - { offsetInCU: 0x162, offset: 0xDB436, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w5, symObjAddr: 0x1880, symBinAddr: 0xC9E60, symSize: 0xC0 } + - { offsetInCU: 0x178, offset: 0xDB44C, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w7, symObjAddr: 0x1940, symBinAddr: 0xC9F20, symSize: 0xE0 } + - { offsetInCU: 0x188, offset: 0xDB45C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_toq, symObjAddr: 0x1A20, symBinAddr: 0xCA000, symSize: 0x60 } + - { offsetInCU: 0x1A0, offset: 0xDB474, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromq, symObjAddr: 0x1A80, symBinAddr: 0xCA060, symSize: 0x60 } + - { offsetInCU: 0x1B1, offset: 0xDB485, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subq, symObjAddr: 0x1AE0, symBinAddr: 0xCA0C0, symSize: 0x40 } + - { offsetInCU: 0x1CC, offset: 0xDB4A0, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2q, symObjAddr: 0x1B20, symBinAddr: 0xCA100, symSize: 0x60 } + - { offsetInCU: 0x1ED, offset: 0xDB4C1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x1B80, symBinAddr: 0xCA160, symSize: 0x320 } + - { offsetInCU: 0x200, offset: 0xDB4D4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x1EA0, symBinAddr: 0xCA480, symSize: 0x780 } + - { offsetInCU: 0x21D, offset: 0xDB4F1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0x2620, symBinAddr: 0xCAC00, symSize: 0x580 } + - { offsetInCU: 0x222, offset: 0xDB4F6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_tox, symObjAddr: 0x2BA0, symBinAddr: 0xCB180, symSize: 0x60 } + - { offsetInCU: 0x23A, offset: 0xDB50E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromx, symObjAddr: 0x2C00, symBinAddr: 0xCB1E0, symSize: 0x60 } + - { offsetInCU: 0x24B, offset: 0xDB51F, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subx, symObjAddr: 0x2C60, symBinAddr: 0xCB240, symSize: 0x60 } + - { offsetInCU: 0x266, offset: 0xDB53A, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2x, symObjAddr: 0x2CC0, symBinAddr: 0xCB2A0, symSize: 0x60 } + - { offsetInCU: 0x27F, offset: 0xDB553, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_doublex, symObjAddr: 0x2D20, symBinAddr: 0xCB300, symSize: 0x320 } + - { offsetInCU: 0x292, offset: 0xDB566, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_addx, symObjAddr: 0x3040, symBinAddr: 0xCB620, symSize: 0x760 } + - { offsetInCU: 0x2AF, offset: 0xDB583, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_add_affinex, symObjAddr: 0x37A0, symBinAddr: 0xCBD80, symSize: 0x555 } + - { offsetInCU: 0x10, offset: 0xDB582, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0xCC2E0, symSize: 0x5A0 } + - { offsetInCU: 0x3D, offset: 0xDB5AF, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0xCC2E0, symSize: 0x5A0 } + - { offsetInCU: 0x61, offset: 0xDB5D3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_decrypt, symObjAddr: 0x5A0, symBinAddr: 0xCC880, symSize: 0x140 } + - { offsetInCU: 0x63, offset: 0xDB5D5, size: 0x8, addend: 0x0, symName: _aesni_ctr32_6x, symObjAddr: 0x6E0, symBinAddr: 0xCC9C0, symSize: 0x180 } + - { offsetInCU: 0x8D, offset: 0xDB5FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_encrypt, symObjAddr: 0x860, symBinAddr: 0xCCB40, symSize: 0x423 } + - { offsetInCU: 0x10, offset: 0xDB5FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xCCF80, symSize: 0x260 } + - { offsetInCU: 0x48, offset: 0xDB632, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xCCF80, symSize: 0x260 } + - { offsetInCU: 0x5F, offset: 0xDB649, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x260, symBinAddr: 0xCD1E0, symSize: 0xC0 } + - { offsetInCU: 0x75, offset: 0xDB65F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x320, symBinAddr: 0xCD2A0, symSize: 0x660 } + - { offsetInCU: 0x88, offset: 0xDB672, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_avx, symObjAddr: 0x980, symBinAddr: 0xCD900, symSize: 0x1A0 } + - { offsetInCU: 0x9F, offset: 0xDB689, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_avx, symObjAddr: 0xB20, symBinAddr: 0xCDAA0, symSize: 0x697 } + - { offsetInCU: 0x10, offset: 0xDB688, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xCE140, symSize: 0x1240 } + - { offsetInCU: 0x51, offset: 0xDB6C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xCE140, symSize: 0x1240 } + - { offsetInCU: 0x5A, offset: 0xDB6D2, size: 0x8, addend: 0x0, symName: sha512_block_data_order_avx, symObjAddr: 0x1240, symBinAddr: 0xCF380, symSize: 0x1176 } + - { offsetInCU: 0x10, offset: 0xDB6D4, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0xD0500, symSize: 0x200 } + - { offsetInCU: 0x44, offset: 0xDB708, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0xD0500, symSize: 0x200 } + - { offsetInCU: 0x66, offset: 0xDB72A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x200, symBinAddr: 0xD0700, symSize: 0x21C0 } + - { offsetInCU: 0x7C, offset: 0xDB740, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x23C0, symBinAddr: 0xD28C0, symSize: 0x1D2D } + - { offsetInCU: 0x83, offset: 0xDB747, size: 0x8, addend: 0x0, symName: process_extra_in_trailer, symObjAddr: 0x40ED, symBinAddr: 0xD45ED, symSize: 0x553 } + - { offsetInCU: 0x9C, offset: 0xDB760, size: 0x8, addend: 0x0, symName: chacha20_poly1305_open_avx2, symObjAddr: 0x4640, symBinAddr: 0xD4B40, symSize: 0x25C0 } + - { offsetInCU: 0xB2, offset: 0xDB776, size: 0x8, addend: 0x0, symName: chacha20_poly1305_seal_avx2, symObjAddr: 0x6C00, symBinAddr: 0xD7100, symSize: 0x2F01 } + - { offsetInCU: 0x10, offset: 0xDB778, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xDA040, symSize: 0x1200 } + - { offsetInCU: 0x51, offset: 0xDB7B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xDA040, symSize: 0x1200 } + - { offsetInCU: 0x5D, offset: 0xDB7C5, size: 0x8, addend: 0x0, symName: sha256_block_data_order_shaext, symObjAddr: 0x1200, symBinAddr: 0xDB240, symSize: 0x340 } + - { offsetInCU: 0x72, offset: 0xDB7DA, size: 0x8, addend: 0x0, symName: sha256_block_data_order_ssse3, symObjAddr: 0x1540, symBinAddr: 0xDB580, symSize: 0xEC0 } + - { offsetInCU: 0x86, offset: 0xDB7EE, size: 0x8, addend: 0x0, symName: sha256_block_data_order_avx, symObjAddr: 0x2400, symBinAddr: 0xDC440, symSize: 0xEF7 } ... diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG index b55ced842..d723ad565 100644 Binary files a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG and b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml index bf6f79171..05972ac4e 100644 --- a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +++ b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml @@ -2,8 +2,8 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xA80B8, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xDA50, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xA80ED, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xDA80, symSize: 0x0 } + - { offsetInCU: 0x34, offset: 0xA80B8, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x4A4000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xA80ED, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x4A4030, symSize: 0x0 } - { offsetInCU: 0x27, offset: 0xA812A, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0xB4 } - { offsetInCU: 0x66, offset: 0xA8169, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0xB4 } - { offsetInCU: 0x15B, offset: 0xA825E, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x40B4, symSize: 0xB4 } @@ -97,4 +97,128 @@ relocations: - { offsetInCU: 0x47E9, offset: 0xACB41, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x4574, symBinAddr: 0x86BC, symSize: 0x1F4 } - { offsetInCU: 0x4846, offset: 0xACB9E, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4768, symBinAddr: 0x88B0, symSize: 0x1C } - { offsetInCU: 0x487D, offset: 0xACBD5, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4784, symBinAddr: 0x88CC, symSize: 0xBC } + - { offsetInCU: 0x26, offset: 0xACF12, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x94798, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0xACF2C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9DE0, symBinAddr: 0x4DC230, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xACF7E, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFDE0, symBinAddr: 0x4E2230, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xACFE2, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE08, symBinAddr: 0x4E2258, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xACFF8, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10210, symBinAddr: 0x4E2660, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xAD00F, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE50, symBinAddr: 0x4E22A0, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0xAD8AE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x94798, symSize: 0x265C } + - { offsetInCU: 0x45CD, offset: 0xB14B9, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x96DF4, symSize: 0x134 } + - { offsetInCU: 0x46F3, offset: 0xB15DF, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9918, symBinAddr: 0x9E0B0, symSize: 0x21C } + - { offsetInCU: 0x4922, offset: 0xB180E, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FDC, symBinAddr: 0x99774, symSize: 0x1B8 } + - { offsetInCU: 0x530F, offset: 0xB21FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x96F28, symSize: 0x5BC } + - { offsetInCU: 0x5F72, offset: 0xB2E5E, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x974E4, symSize: 0x7F8 } + - { offsetInCU: 0x642A, offset: 0xB3316, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x97CDC, symSize: 0x208 } + - { offsetInCU: 0x69F8, offset: 0xB38E4, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x97EE4, symSize: 0x7B0 } + - { offsetInCU: 0x77D8, offset: 0xB46C4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3EFC, symBinAddr: 0x98694, symSize: 0x634 } + - { offsetInCU: 0x8199, offset: 0xB5085, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4530, symBinAddr: 0x98CC8, symSize: 0xAAC } + - { offsetInCU: 0x956A, offset: 0xB6456, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x5298, symBinAddr: 0x99A30, symSize: 0x23F8 } + - { offsetInCU: 0xCABB, offset: 0xB99A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5194, symBinAddr: 0x9992C, symSize: 0x104 } + - { offsetInCU: 0xCD03, offset: 0xB9BEF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7690, symBinAddr: 0x9BE28, symSize: 0x30 } + - { offsetInCU: 0xCDF4, offset: 0xB9CE0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C0, symBinAddr: 0x9BE58, symSize: 0x58 } + - { offsetInCU: 0xCE69, offset: 0xB9D55, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCEB1, offset: 0xB9D9D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCEE0, offset: 0xB9DCC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x9BEB0, symSize: 0x4 } + - { offsetInCU: 0xCF04, offset: 0xB9DF0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x771C, symBinAddr: 0x9BEB4, symSize: 0x8C } + - { offsetInCU: 0xD039, offset: 0xB9F25, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x9BF40, symSize: 0x4 } + - { offsetInCU: 0xD072, offset: 0xB9F5E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x9BF40, symSize: 0x4 } + - { offsetInCU: 0xD30B, offset: 0xBA1F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77AC, symBinAddr: 0x9BF44, symSize: 0x1598 } + - { offsetInCU: 0x10654, offset: 0xBD540, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B34, symBinAddr: 0x9E2CC, symSize: 0x218 } + - { offsetInCU: 0x10C86, offset: 0xBDB72, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D44, symBinAddr: 0x9D4DC, symSize: 0x20 } + - { offsetInCU: 0x11123, offset: 0xBE00F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8D64, symBinAddr: 0x9D4FC, symSize: 0xBB4 } + - { offsetInCU: 0x26, offset: 0xBEDF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9E4E4, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0xBEF9E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9E4E4, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xBF239, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9E6D8, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0xBF247, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9E6D8, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xBF357, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9E714, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0xBF365, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9E714, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0xBF4C8, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x4E2710, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xBF4FA, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x4E26A0, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xBF51C, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x4E26D0, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xBF532, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x4E2700, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xBF7F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9E7AC, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0xBF83D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9E7AC, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0xBF9D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x9E7C4, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0xBFA81, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x9E7DC, symSize: 0x320 } + - { offsetInCU: 0x1199, offset: 0xC05DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x9EAFC, symSize: 0xAC } + - { offsetInCU: 0x148F, offset: 0xC08D1, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x9EBA8, symSize: 0x500 } + - { offsetInCU: 0x268C, offset: 0xC1ACE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x9F0A8, symSize: 0x2C8 } + - { offsetInCU: 0x2CDB, offset: 0xC211D, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x9F370, symSize: 0xF4 } + - { offsetInCU: 0x2EED, offset: 0xC232F, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x9F464, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0xC2694, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0xC2768, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0xC279A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9F5CC, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0xC2807, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9F604, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0xC2861, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9F604, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0xC2989, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x9F640, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0xC2B85, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x9F69C, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0xC2CA4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x9F6B8, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0xC2D47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x9F70C, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0xC2F15, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9F758, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0xC2F79, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9F758, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0xC3218, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9F800, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0xC32BA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9F800, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0xC354C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9F910, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0xC35CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9F910, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0xC374F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x9F9C0, symSize: 0x178 } + - { offsetInCU: 0x13AB, offset: 0xC3A19, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x56C, symBinAddr: 0x9FB38, symSize: 0x1F4 } + - { offsetInCU: 0x1500, offset: 0xC3B6E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x760, symBinAddr: 0x9FD2C, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0xC3BD5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x778, symBinAddr: 0x9FD44, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0xC3C0E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x784, symBinAddr: 0x9FD50, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0xC3C92, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x78C, symBinAddr: 0x9FD58, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xC3E45, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9FD94, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0xC3E53, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9FD94, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0xC3F59, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x374, symBinAddr: 0xB56F10, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xC3F9B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9FF04, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0xC3FEB, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x4E3000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xC406F, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x508000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xC42D0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9FF04, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xC4BDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0xA028C, symSize: 0x204 } + - { offsetInCU: 0x1171, offset: 0xC50E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0xA0490, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xC54BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xA0660, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xC54FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xA0660, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xC5509, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0xA0800, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xC552C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0xA0860, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xC551D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xA0AF0, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xC5555, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xA0AF0, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xC556C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0xA0C20, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xC5582, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0xA0C90, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xC5587, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0xA0DF0, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xC5595, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xA1180, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xC55CD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xA1180, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xC55D1, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0xA1520, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xC55EB, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0xA1BE0, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xC5637, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0xA2E80, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xC564D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0xA4000, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xC5643, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA5420, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xC5678, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA5420, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xC5680, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0xA5660, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xC5696, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0xA6040, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xC56A5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA66A0, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xC56DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA66A0, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xC56F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0xA66E0, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xC570B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0xA6720, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xC5716, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0xA6760, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xC572C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0xA6940, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xC5740, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0xA6AB0, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xC5758, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0xA6B00, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xC576E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0xA6B50, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xC5784, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0xA6BA0, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xC57A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0xA6C00, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xC57B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0xA6DE0, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xC57D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0xA7140, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xC57EB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0xA7410, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xC5805, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0xA76C0, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xC5819, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0xA7910, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xC582F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0xA7970, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xC5825, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA79C0, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xC5861, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA79C0, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xC5877, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0xA8550, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xC5871, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA9100, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58B2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA9100, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58B2, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA9F40, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xC58BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xAA740, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58FE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xAA740, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC58FE, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xAB580, symSize: 0x1F0 } ... diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG index eeededafb..4c880f63e 100755 Binary files a/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG and b/packages/canvas-svg/src-native/ios/dist/Release-iphoneos/CanvasSVG.framework/CanvasSVG differ diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG index 0b7b7ae14..083608d47 100644 Binary files a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/DWARF/CanvasSVG differ diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml index 5b5a06348..d9d83ac31 100644 --- a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml +++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasSVG.yml @@ -2,99 +2,223 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xA8AAE, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xB120, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xA8AE3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xB150, symSize: 0x0 } - - { offsetInCU: 0x27, offset: 0xA8B20, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x282C, symSize: 0xB4 } - - { offsetInCU: 0x66, offset: 0xA8B5F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x282C, symSize: 0xB4 } - - { offsetInCU: 0x15B, offset: 0xA8C54, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x28E0, symSize: 0xB4 } - - { offsetInCU: 0x65, offset: 0xA8DB3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2994, symSize: 0x44 } - - { offsetInCU: 0xBD, offset: 0xA8E0B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x88, symBinAddr: 0x2A1C, symSize: 0x48 } - - { offsetInCU: 0x118, offset: 0xA8E66, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x12C, symBinAddr: 0x2AC0, symSize: 0x44 } - - { offsetInCU: 0x170, offset: 0xA8EBE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x1B4, symBinAddr: 0x2B48, symSize: 0x54 } - - { offsetInCU: 0x1CD, offset: 0xA8F1B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x2B0, symBinAddr: 0x2C44, symSize: 0x44 } - - { offsetInCU: 0x225, offset: 0xA8F73, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x338, symBinAddr: 0x2CCC, symSize: 0x48 } - - { offsetInCU: 0x280, offset: 0xA8FCE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2DB8, symSize: 0x10 } - - { offsetInCU: 0x2A0, offset: 0xA8FEE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2DB8, symSize: 0x10 } - - { offsetInCU: 0x2D6, offset: 0xA9024, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2DC8, symSize: 0x10 } - - { offsetInCU: 0x2F6, offset: 0xA9044, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2DC8, symSize: 0x10 } - - { offsetInCU: 0x32F, offset: 0xA907D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2DD8, symSize: 0x10 } - - { offsetInCU: 0x34F, offset: 0xA909D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2DD8, symSize: 0x10 } - - { offsetInCU: 0x385, offset: 0xA90D3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2DE8, symSize: 0x10 } - - { offsetInCU: 0x3A5, offset: 0xA90F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2DE8, symSize: 0x10 } - - { offsetInCU: 0x3DE, offset: 0xA912C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2DF8, symSize: 0x10 } - - { offsetInCU: 0x3FE, offset: 0xA914C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2DF8, symSize: 0x10 } - - { offsetInCU: 0x434, offset: 0xA9182, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2E08, symSize: 0x10 } - - { offsetInCU: 0x454, offset: 0xA91A2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2E08, symSize: 0x10 } - - { offsetInCU: 0x48D, offset: 0xA91DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x484, symBinAddr: 0x2E18, symSize: 0x44 } - - { offsetInCU: 0x4FB, offset: 0xA9249, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x50C, symBinAddr: 0x2EA0, symSize: 0x64 } - - { offsetInCU: 0x5EF, offset: 0xA933D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xADC, symBinAddr: 0x3470, symSize: 0xB8 } - - { offsetInCU: 0x6E0, offset: 0xA942E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x1628, symBinAddr: 0x3FBC, symSize: 0x28 } - - { offsetInCU: 0x712, offset: 0xA9460, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x18F0, symBinAddr: 0x4284, symSize: 0x28 } - - { offsetInCU: 0x744, offset: 0xA9492, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x191C, symBinAddr: 0x42AC, symSize: 0x28 } - - { offsetInCU: 0x78C, offset: 0xA94DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x42D4, symSize: 0x10 } - - { offsetInCU: 0x7AC, offset: 0xA94FA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x42D4, symSize: 0x10 } - - { offsetInCU: 0x800, offset: 0xA954E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D3C, symBinAddr: 0x46CC, symSize: 0x20 } - - { offsetInCU: 0x837, offset: 0xA9585, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1FD8, symBinAddr: 0x4968, symSize: 0x28 } - - { offsetInCU: 0x889, offset: 0xA95D7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E4, symBinAddr: 0x4B58, symSize: 0x80 } - - { offsetInCU: 0x8FC, offset: 0xA964A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x240C, symBinAddr: 0x4D80, symSize: 0x34 } - - { offsetInCU: 0x92E, offset: 0xA967C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24D0, symBinAddr: 0x4E44, symSize: 0x34 } - - { offsetInCU: 0xA5C, offset: 0xA97AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4870, symBinAddr: 0x71E4, symSize: 0x13E8 } - - { offsetInCU: 0x172A, offset: 0xAA478, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5C58, symBinAddr: 0x85CC, symSize: 0x238 } - - { offsetInCU: 0x1948, offset: 0xAA696, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5E90, symBinAddr: 0x8804, symSize: 0x2F0 } - - { offsetInCU: 0x1B96, offset: 0xAA8E4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6180, symBinAddr: 0x8AF4, symSize: 0x3A4 } - - { offsetInCU: 0x1E0D, offset: 0xAAB5B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xD0, symBinAddr: 0x2A64, symSize: 0x50 } - - { offsetInCU: 0x1E45, offset: 0xAAB93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x208, symBinAddr: 0x2B9C, symSize: 0x50 } - - { offsetInCU: 0x1E7D, offset: 0xAABCB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x258, symBinAddr: 0x2BEC, symSize: 0x58 } - - { offsetInCU: 0x1EBF, offset: 0xAAC0D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x380, symBinAddr: 0x2D14, symSize: 0x50 } - - { offsetInCU: 0x1EF7, offset: 0xAAC45, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x5D0, symBinAddr: 0x2F64, symSize: 0x50 } - - { offsetInCU: 0x1F2F, offset: 0xAAC7D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x620, symBinAddr: 0x2FB4, symSize: 0x64 } - - { offsetInCU: 0x1FEA, offset: 0xAAD38, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C98, symBinAddr: 0x4628, symSize: 0x40 } - - { offsetInCU: 0x1FFE, offset: 0xAAD4C, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x1CD8, symBinAddr: 0x4668, symSize: 0x44 } - - { offsetInCU: 0x2012, offset: 0xAAD60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1D1C, symBinAddr: 0x46AC, symSize: 0x20 } - - { offsetInCU: 0x2036, offset: 0xAAD84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x4404, symBinAddr: 0x6D78, symSize: 0x70 } - - { offsetInCU: 0x2480, offset: 0xAB1CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6550, symBinAddr: 0x8EC4, symSize: 0xC } - - { offsetInCU: 0x2494, offset: 0xAB1E2, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x655C, symBinAddr: 0x8ED0, symSize: 0x10 } - - { offsetInCU: 0x24A8, offset: 0xAB1F6, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x656C, symBinAddr: 0x8EE0, symSize: 0x8 } - - { offsetInCU: 0x24BC, offset: 0xAB20A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x65F8, symBinAddr: 0x8F6C, symSize: 0xC } - - { offsetInCU: 0x24D0, offset: 0xAB21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6634, symBinAddr: 0x8FA8, symSize: 0xC } - - { offsetInCU: 0x24E4, offset: 0xAB232, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x67E8, symBinAddr: 0x915C, symSize: 0xC } - - { offsetInCU: 0x24F8, offset: 0xAB246, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x67F4, symBinAddr: 0x9168, symSize: 0x4 } - - { offsetInCU: 0x250C, offset: 0xAB25A, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x67F8, symBinAddr: 0x916C, symSize: 0x20 } - - { offsetInCU: 0x2520, offset: 0xAB26E, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x6818, symBinAddr: 0x918C, symSize: 0x28 } - - { offsetInCU: 0x253F, offset: 0xAB28D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x68BC, symBinAddr: 0x9230, symSize: 0x10 } - - { offsetInCU: 0x2568, offset: 0xAB2B6, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x68CC, symBinAddr: 0x9240, symSize: 0x40 } - - { offsetInCU: 0x257C, offset: 0xAB2CA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x6948, symBinAddr: 0x92BC, symSize: 0x24 } - - { offsetInCU: 0x25B0, offset: 0xAB2FE, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x69A4, symBinAddr: 0x9318, symSize: 0x44 } - - { offsetInCU: 0x25C4, offset: 0xAB312, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x6B64, symBinAddr: 0x94D8, symSize: 0x108 } - - { offsetInCU: 0x26D7, offset: 0xAB425, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x6C90, symBinAddr: 0x9604, symSize: 0x8 } - - { offsetInCU: 0x2C80, offset: 0xAB9CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x44, symBinAddr: 0x29D8, symSize: 0x44 } - - { offsetInCU: 0x2D08, offset: 0xABA56, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x170, symBinAddr: 0x2B04, symSize: 0x44 } - - { offsetInCU: 0x2D60, offset: 0xABAAE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2F4, symBinAddr: 0x2C88, symSize: 0x44 } - - { offsetInCU: 0x2E59, offset: 0xABBA7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4C8, symBinAddr: 0x2E5C, symSize: 0x44 } - - { offsetInCU: 0x2EAC, offset: 0xABBFA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x570, symBinAddr: 0x2F04, symSize: 0x60 } - - { offsetInCU: 0x2F1C, offset: 0xABC6A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x684, symBinAddr: 0x3018, symSize: 0x48 } - - { offsetInCU: 0x2F41, offset: 0xABC8F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x6CC, symBinAddr: 0x3060, symSize: 0x3C } - - { offsetInCU: 0x2F9D, offset: 0xABCEB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x750, symBinAddr: 0x30E4, symSize: 0x48 } - - { offsetInCU: 0x2FC2, offset: 0xABD10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA60, symBinAddr: 0x33F4, symSize: 0x48 } - - { offsetInCU: 0x315F, offset: 0xABEAD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xB94, symBinAddr: 0x3528, symSize: 0x45C } - - { offsetInCU: 0x347B, offset: 0xAC1C9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xFF0, symBinAddr: 0x3984, symSize: 0x634 } - - { offsetInCU: 0x3733, offset: 0xAC481, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1650, symBinAddr: 0x3FE4, symSize: 0x2A0 } - - { offsetInCU: 0x3AD2, offset: 0xAC820, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1954, symBinAddr: 0x42E4, symSize: 0x50 } - - { offsetInCU: 0x3AE6, offset: 0xAC834, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x19A4, symBinAddr: 0x4334, symSize: 0x2F4 } - - { offsetInCU: 0x3B6A, offset: 0xAC8B8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D5C, symBinAddr: 0x46EC, symSize: 0x27C } - - { offsetInCU: 0x3C21, offset: 0xAC96F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x2000, symBinAddr: 0x4990, symSize: 0x1C8 } - - { offsetInCU: 0x3E27, offset: 0xACB75, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2264, symBinAddr: 0x4BD8, symSize: 0x1A8 } - - { offsetInCU: 0x4003, offset: 0xACD51, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2440, symBinAddr: 0x4DB4, symSize: 0x90 } - - { offsetInCU: 0x40B2, offset: 0xACE00, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x2504, symBinAddr: 0x4E78, symSize: 0x4 } - - { offsetInCU: 0x40C6, offset: 0xACE14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2514, symBinAddr: 0x4E88, symSize: 0x4 } - - { offsetInCU: 0x40DA, offset: 0xACE28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2524, symBinAddr: 0x4E98, symSize: 0x4 } - - { offsetInCU: 0x40FA, offset: 0xACE48, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x2570, symBinAddr: 0x4EE4, symSize: 0x26C } - - { offsetInCU: 0x416D, offset: 0xACEBB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x27DC, symBinAddr: 0x5150, symSize: 0x3DC } - - { offsetInCU: 0x4466, offset: 0xAD1B4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2C20, symBinAddr: 0x5594, symSize: 0x81C } - - { offsetInCU: 0x45C6, offset: 0xAD314, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x36D8, symBinAddr: 0x604C, symSize: 0xC38 } - - { offsetInCU: 0x478D, offset: 0xAD4DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x43D4, symBinAddr: 0x6D48, symSize: 0x30 } - - { offsetInCU: 0x47B0, offset: 0xAD4FE, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4474, symBinAddr: 0x6DE8, symSize: 0xE8 } - - { offsetInCU: 0x47E5, offset: 0xAD533, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x455C, symBinAddr: 0x6ED0, symSize: 0x1F4 } - - { offsetInCU: 0x4842, offset: 0xAD590, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4750, symBinAddr: 0x70C4, symSize: 0x1C } - - { offsetInCU: 0x4880, offset: 0xAD5CE, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x476C, symBinAddr: 0x70E0, symSize: 0x104 } + - { offsetInCU: 0x34, offset: 0xA8AAE, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x49D000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xA8AE3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x49D030, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0xA8B20, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2980, symSize: 0xB4 } + - { offsetInCU: 0x66, offset: 0xA8B5F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2980, symSize: 0xB4 } + - { offsetInCU: 0x15B, offset: 0xA8C54, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xB4, symBinAddr: 0x2A34, symSize: 0xB4 } + - { offsetInCU: 0x65, offset: 0xA8DB3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2AE8, symSize: 0x44 } + - { offsetInCU: 0xBD, offset: 0xA8E0B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x88, symBinAddr: 0x2B70, symSize: 0x48 } + - { offsetInCU: 0x118, offset: 0xA8E66, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x12C, symBinAddr: 0x2C14, symSize: 0x44 } + - { offsetInCU: 0x170, offset: 0xA8EBE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x1B4, symBinAddr: 0x2C9C, symSize: 0x54 } + - { offsetInCU: 0x1CD, offset: 0xA8F1B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x2B0, symBinAddr: 0x2D98, symSize: 0x44 } + - { offsetInCU: 0x225, offset: 0xA8F73, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x338, symBinAddr: 0x2E20, symSize: 0x48 } + - { offsetInCU: 0x280, offset: 0xA8FCE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2F0C, symSize: 0x10 } + - { offsetInCU: 0x2A0, offset: 0xA8FEE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x424, symBinAddr: 0x2F0C, symSize: 0x10 } + - { offsetInCU: 0x2D6, offset: 0xA9024, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2F1C, symSize: 0x10 } + - { offsetInCU: 0x2F6, offset: 0xA9044, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x434, symBinAddr: 0x2F1C, symSize: 0x10 } + - { offsetInCU: 0x32F, offset: 0xA907D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2F2C, symSize: 0x10 } + - { offsetInCU: 0x34F, offset: 0xA909D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x444, symBinAddr: 0x2F2C, symSize: 0x10 } + - { offsetInCU: 0x385, offset: 0xA90D3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2F3C, symSize: 0x10 } + - { offsetInCU: 0x3A5, offset: 0xA90F3, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x454, symBinAddr: 0x2F3C, symSize: 0x10 } + - { offsetInCU: 0x3DE, offset: 0xA912C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2F4C, symSize: 0x10 } + - { offsetInCU: 0x3FE, offset: 0xA914C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x464, symBinAddr: 0x2F4C, symSize: 0x10 } + - { offsetInCU: 0x434, offset: 0xA9182, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2F5C, symSize: 0x10 } + - { offsetInCU: 0x454, offset: 0xA91A2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x474, symBinAddr: 0x2F5C, symSize: 0x10 } + - { offsetInCU: 0x48D, offset: 0xA91DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x484, symBinAddr: 0x2F6C, symSize: 0x44 } + - { offsetInCU: 0x4FB, offset: 0xA9249, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x50C, symBinAddr: 0x2FF4, symSize: 0x64 } + - { offsetInCU: 0x5EF, offset: 0xA933D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xADC, symBinAddr: 0x35C4, symSize: 0xB8 } + - { offsetInCU: 0x6E0, offset: 0xA942E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x1628, symBinAddr: 0x4110, symSize: 0x28 } + - { offsetInCU: 0x712, offset: 0xA9460, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x18F0, symBinAddr: 0x43D8, symSize: 0x28 } + - { offsetInCU: 0x744, offset: 0xA9492, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x191C, symBinAddr: 0x4400, symSize: 0x28 } + - { offsetInCU: 0x78C, offset: 0xA94DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x4428, symSize: 0x10 } + - { offsetInCU: 0x7AC, offset: 0xA94FA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x1944, symBinAddr: 0x4428, symSize: 0x10 } + - { offsetInCU: 0x800, offset: 0xA954E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D3C, symBinAddr: 0x4820, symSize: 0x20 } + - { offsetInCU: 0x837, offset: 0xA9585, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1FD8, symBinAddr: 0x4ABC, symSize: 0x28 } + - { offsetInCU: 0x889, offset: 0xA95D7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E4, symBinAddr: 0x4CAC, symSize: 0x80 } + - { offsetInCU: 0x8FC, offset: 0xA964A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x240C, symBinAddr: 0x4ED4, symSize: 0x34 } + - { offsetInCU: 0x92E, offset: 0xA967C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24D0, symBinAddr: 0x4F98, symSize: 0x34 } + - { offsetInCU: 0xA5C, offset: 0xA97AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4870, symBinAddr: 0x7338, symSize: 0x13E8 } + - { offsetInCU: 0x172A, offset: 0xAA478, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5C58, symBinAddr: 0x8720, symSize: 0x238 } + - { offsetInCU: 0x1948, offset: 0xAA696, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x5E90, symBinAddr: 0x8958, symSize: 0x2F0 } + - { offsetInCU: 0x1B96, offset: 0xAA8E4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6180, symBinAddr: 0x8C48, symSize: 0x3A4 } + - { offsetInCU: 0x1E0D, offset: 0xAAB5B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xD0, symBinAddr: 0x2BB8, symSize: 0x50 } + - { offsetInCU: 0x1E45, offset: 0xAAB93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x208, symBinAddr: 0x2CF0, symSize: 0x50 } + - { offsetInCU: 0x1E7D, offset: 0xAABCB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x258, symBinAddr: 0x2D40, symSize: 0x58 } + - { offsetInCU: 0x1EBF, offset: 0xAAC0D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x380, symBinAddr: 0x2E68, symSize: 0x50 } + - { offsetInCU: 0x1EF7, offset: 0xAAC45, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x5D0, symBinAddr: 0x30B8, symSize: 0x50 } + - { offsetInCU: 0x1F2F, offset: 0xAAC7D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x620, symBinAddr: 0x3108, symSize: 0x64 } + - { offsetInCU: 0x1FEA, offset: 0xAAD38, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C98, symBinAddr: 0x477C, symSize: 0x40 } + - { offsetInCU: 0x1FFE, offset: 0xAAD4C, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x1CD8, symBinAddr: 0x47BC, symSize: 0x44 } + - { offsetInCU: 0x2012, offset: 0xAAD60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1D1C, symBinAddr: 0x4800, symSize: 0x20 } + - { offsetInCU: 0x2036, offset: 0xAAD84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x4404, symBinAddr: 0x6ECC, symSize: 0x70 } + - { offsetInCU: 0x2480, offset: 0xAB1CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6550, symBinAddr: 0x9018, symSize: 0xC } + - { offsetInCU: 0x2494, offset: 0xAB1E2, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x655C, symBinAddr: 0x9024, symSize: 0x10 } + - { offsetInCU: 0x24A8, offset: 0xAB1F6, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x656C, symBinAddr: 0x9034, symSize: 0x8 } + - { offsetInCU: 0x24BC, offset: 0xAB20A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x65F8, symBinAddr: 0x90C0, symSize: 0xC } + - { offsetInCU: 0x24D0, offset: 0xAB21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6634, symBinAddr: 0x90FC, symSize: 0xC } + - { offsetInCU: 0x24E4, offset: 0xAB232, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x67E8, symBinAddr: 0x92B0, symSize: 0xC } + - { offsetInCU: 0x24F8, offset: 0xAB246, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x67F4, symBinAddr: 0x92BC, symSize: 0x4 } + - { offsetInCU: 0x250C, offset: 0xAB25A, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x67F8, symBinAddr: 0x92C0, symSize: 0x20 } + - { offsetInCU: 0x2520, offset: 0xAB26E, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x6818, symBinAddr: 0x92E0, symSize: 0x28 } + - { offsetInCU: 0x253F, offset: 0xAB28D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x68BC, symBinAddr: 0x9384, symSize: 0x10 } + - { offsetInCU: 0x2568, offset: 0xAB2B6, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x68CC, symBinAddr: 0x9394, symSize: 0x40 } + - { offsetInCU: 0x257C, offset: 0xAB2CA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x6948, symBinAddr: 0x9410, symSize: 0x24 } + - { offsetInCU: 0x25B0, offset: 0xAB2FE, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x69A4, symBinAddr: 0x946C, symSize: 0x44 } + - { offsetInCU: 0x25C4, offset: 0xAB312, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x6B64, symBinAddr: 0x962C, symSize: 0x108 } + - { offsetInCU: 0x26D7, offset: 0xAB425, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x6C90, symBinAddr: 0x9758, symSize: 0x8 } + - { offsetInCU: 0x2C80, offset: 0xAB9CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x44, symBinAddr: 0x2B2C, symSize: 0x44 } + - { offsetInCU: 0x2D08, offset: 0xABA56, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x170, symBinAddr: 0x2C58, symSize: 0x44 } + - { offsetInCU: 0x2D60, offset: 0xABAAE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2F4, symBinAddr: 0x2DDC, symSize: 0x44 } + - { offsetInCU: 0x2E59, offset: 0xABBA7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4C8, symBinAddr: 0x2FB0, symSize: 0x44 } + - { offsetInCU: 0x2EAC, offset: 0xABBFA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x570, symBinAddr: 0x3058, symSize: 0x60 } + - { offsetInCU: 0x2F1C, offset: 0xABC6A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x684, symBinAddr: 0x316C, symSize: 0x48 } + - { offsetInCU: 0x2F41, offset: 0xABC8F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x6CC, symBinAddr: 0x31B4, symSize: 0x3C } + - { offsetInCU: 0x2F9D, offset: 0xABCEB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x750, symBinAddr: 0x3238, symSize: 0x48 } + - { offsetInCU: 0x2FC2, offset: 0xABD10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA60, symBinAddr: 0x3548, symSize: 0x48 } + - { offsetInCU: 0x315F, offset: 0xABEAD, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xB94, symBinAddr: 0x367C, symSize: 0x45C } + - { offsetInCU: 0x347B, offset: 0xAC1C9, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0xFF0, symBinAddr: 0x3AD8, symSize: 0x634 } + - { offsetInCU: 0x3733, offset: 0xAC481, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1650, symBinAddr: 0x4138, symSize: 0x2A0 } + - { offsetInCU: 0x3AD2, offset: 0xAC820, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x1954, symBinAddr: 0x4438, symSize: 0x50 } + - { offsetInCU: 0x3AE6, offset: 0xAC834, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x19A4, symBinAddr: 0x4488, symSize: 0x2F4 } + - { offsetInCU: 0x3B6A, offset: 0xAC8B8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D5C, symBinAddr: 0x4840, symSize: 0x27C } + - { offsetInCU: 0x3C21, offset: 0xAC96F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x2000, symBinAddr: 0x4AE4, symSize: 0x1C8 } + - { offsetInCU: 0x3E27, offset: 0xACB75, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2264, symBinAddr: 0x4D2C, symSize: 0x1A8 } + - { offsetInCU: 0x4003, offset: 0xACD51, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2440, symBinAddr: 0x4F08, symSize: 0x90 } + - { offsetInCU: 0x40B2, offset: 0xACE00, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x2504, symBinAddr: 0x4FCC, symSize: 0x4 } + - { offsetInCU: 0x40C6, offset: 0xACE14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2514, symBinAddr: 0x4FDC, symSize: 0x4 } + - { offsetInCU: 0x40DA, offset: 0xACE28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2524, symBinAddr: 0x4FEC, symSize: 0x4 } + - { offsetInCU: 0x40FA, offset: 0xACE48, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x2570, symBinAddr: 0x5038, symSize: 0x26C } + - { offsetInCU: 0x416D, offset: 0xACEBB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x27DC, symBinAddr: 0x52A4, symSize: 0x3DC } + - { offsetInCU: 0x4466, offset: 0xAD1B4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2C20, symBinAddr: 0x56E8, symSize: 0x81C } + - { offsetInCU: 0x45C6, offset: 0xAD314, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x36D8, symBinAddr: 0x61A0, symSize: 0xC38 } + - { offsetInCU: 0x478D, offset: 0xAD4DB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x43D4, symBinAddr: 0x6E9C, symSize: 0x30 } + - { offsetInCU: 0x47B0, offset: 0xAD4FE, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4474, symBinAddr: 0x6F3C, symSize: 0xE8 } + - { offsetInCU: 0x47E5, offset: 0xAD533, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x455C, symBinAddr: 0x7024, symSize: 0x1F4 } + - { offsetInCU: 0x4842, offset: 0xAD590, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4750, symBinAddr: 0x7218, symSize: 0x1C } + - { offsetInCU: 0x4880, offset: 0xAD5CE, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x476C, symBinAddr: 0x7234, symSize: 0x104 } + - { offsetInCU: 0x26, offset: 0xAD94B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x92A04, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0xAD965, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9E20, symBinAddr: 0x4D5230, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xAD9B7, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFE20, symBinAddr: 0x4DB230, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xADA1B, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE48, symBinAddr: 0x4DB258, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xADA31, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10250, symBinAddr: 0x4DB660, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xADA48, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE90, symBinAddr: 0x4DB2A0, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0xAE2E7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x92A04, symSize: 0x265C } + - { offsetInCU: 0x45D1, offset: 0xB1EF6, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x95060, symSize: 0x134 } + - { offsetInCU: 0x46F7, offset: 0xB201C, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9954, symBinAddr: 0x9C358, symSize: 0x21C } + - { offsetInCU: 0x4926, offset: 0xB224B, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FE0, symBinAddr: 0x979E4, symSize: 0x1B8 } + - { offsetInCU: 0x5313, offset: 0xB2C38, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x95194, symSize: 0x5BC } + - { offsetInCU: 0x5F76, offset: 0xB389B, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x95750, symSize: 0x7F8 } + - { offsetInCU: 0x642E, offset: 0xB3D53, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x95F48, symSize: 0x208 } + - { offsetInCU: 0x69FC, offset: 0xB4321, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x96150, symSize: 0x7B4 } + - { offsetInCU: 0x77D5, offset: 0xB50FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3F00, symBinAddr: 0x96904, symSize: 0x634 } + - { offsetInCU: 0x8196, offset: 0xB5ABB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4534, symBinAddr: 0x96F38, symSize: 0xAAC } + - { offsetInCU: 0x9567, offset: 0xB6E8C, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x529C, symBinAddr: 0x97CA0, symSize: 0x23F8 } + - { offsetInCU: 0xCAB8, offset: 0xBA3DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5198, symBinAddr: 0x97B9C, symSize: 0x104 } + - { offsetInCU: 0xCD20, offset: 0xBA645, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7694, symBinAddr: 0x9A098, symSize: 0x30 } + - { offsetInCU: 0xCE11, offset: 0xBA736, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C4, symBinAddr: 0x9A0C8, symSize: 0x58 } + - { offsetInCU: 0xCE86, offset: 0xBA7AB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCECE, offset: 0xBA7F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCEFD, offset: 0xBA822, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x9A120, symSize: 0x4 } + - { offsetInCU: 0xCF21, offset: 0xBA846, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x7720, symBinAddr: 0x9A124, symSize: 0x8C } + - { offsetInCU: 0xD056, offset: 0xBA97B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x9A1B0, symSize: 0x4 } + - { offsetInCU: 0xD08F, offset: 0xBA9B4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x9A1B0, symSize: 0x4 } + - { offsetInCU: 0xD328, offset: 0xBAC4D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77B0, symBinAddr: 0x9A1B4, symSize: 0x15D8 } + - { offsetInCU: 0x10671, offset: 0xBDF96, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B70, symBinAddr: 0x9C574, symSize: 0x218 } + - { offsetInCU: 0x10CA3, offset: 0xBE5C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D88, symBinAddr: 0x9B78C, symSize: 0x20 } + - { offsetInCU: 0x11140, offset: 0xBEA65, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8DA8, symBinAddr: 0x9B7AC, symSize: 0xBAC } + - { offsetInCU: 0x26, offset: 0xBF830, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9C78C, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0xBF9DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x9C78C, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xBFC77, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9C980, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0xBFC85, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x9C980, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xBFD95, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9C9BC, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0xBFDA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x9C9BC, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0xBFF06, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x4DB710, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xBFF38, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x4DB6A0, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xBFF5A, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x4DB6D0, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xBFF70, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x4DB700, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xC0237, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9CA54, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0xC027B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x9CA54, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0xC0414, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x9CA6C, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0xC04BF, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x9CA84, symSize: 0x320 } + - { offsetInCU: 0x1173, offset: 0xC0FF3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x9CDA4, symSize: 0xAC } + - { offsetInCU: 0x1469, offset: 0xC12E9, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x9CE50, symSize: 0x500 } + - { offsetInCU: 0x2666, offset: 0xC24E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x9D350, symSize: 0x2C8 } + - { offsetInCU: 0x2CB5, offset: 0xC2B35, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x9D618, symSize: 0xF4 } + - { offsetInCU: 0x2EC7, offset: 0xC2D47, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x9D70C, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0xC3072, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0xC3146, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0xC3178, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x9D874, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0xC31E5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9D8AC, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0xC323F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x9D8AC, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0xC3367, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x9D8E8, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0xC3563, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x9D944, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0xC3682, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x9D960, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0xC3725, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x9D9B4, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0xC38F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9DA00, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0xC3957, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x9DA00, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0xC3BF6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9DAA8, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0xC3C98, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x9DAA8, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0xC3F2A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9DBB8, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0xC3FAA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x9DBB8, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0xC412D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x9DC68, symSize: 0x198 } + - { offsetInCU: 0x13AB, offset: 0xC43F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x58C, symBinAddr: 0x9DE00, symSize: 0x290 } + - { offsetInCU: 0x1500, offset: 0xC454C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x81C, symBinAddr: 0x9E090, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0xC45B3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x834, symBinAddr: 0x9E0A8, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0xC45EC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x840, symBinAddr: 0x9E0B4, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0xC4670, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x848, symBinAddr: 0x9E0BC, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xC4823, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9E0F8, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xC4831, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x9E0F8, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xC4937, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x398, symBinAddr: 0xB51258, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xC4979, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9E288, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0xC49C9, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x4DC000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xC4A4D, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x501000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xC4CAE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x9E288, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xC55B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x9E610, symSize: 0x204 } + - { offsetInCU: 0x1163, offset: 0xC5AB6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x9E814, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xC5E8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x9E9E0, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xC5ECB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x9E9E0, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xC5ED9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x9EB80, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xC5EFC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x9EBE0, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xC5EED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x9EE70, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xC5F25, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x9EE70, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xC5F3C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x9EFA0, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xC5F52, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x9F010, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xC5F57, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x9F170, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xC5F65, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x9F500, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xC5F9D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x9F500, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xC5FA1, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x9F8A0, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xC5FBB, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x9FF60, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xC6007, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0xA1200, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xC601D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0xA2380, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xC6013, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA37A0, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xC6048, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA37A0, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xC6050, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0xA39E0, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xC6066, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0xA43C0, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xC6075, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA4A20, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xC60AC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0xA4A20, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xC60C2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0xA4A60, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xC60DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0xA4AA0, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xC60E6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0xA4AE0, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xC60FC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0xA4CC0, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xC6110, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0xA4E30, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xC6128, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0xA4E80, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xC613E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0xA4ED0, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xC6154, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0xA4F20, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xC6176, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0xA4F80, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xC6189, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0xA5160, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xC61A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0xA54C0, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xC61BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0xA5790, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xC61D5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0xA5A40, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xC61E9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0xA5C90, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xC61FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0xA5CF0, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xC61F5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA5D40, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xC6231, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0xA5D40, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xC6247, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0xA68D0, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xC6241, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA7480, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC6282, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA7480, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC6282, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA82C0, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xC628D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA8AC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC62CE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xA8AC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xC62CE, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0xA9900, symSize: 0x1F0 } ... diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml index e098a7116..d2102e6b8 100644 --- a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml +++ b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasSVG.yml @@ -2,92 +2,290 @@ triple: 'x86_64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG' relocations: - - { offsetInCU: 0x34, offset: 0xAB77E, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0xC550, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0xAB7B3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0xC580, symSize: 0x0 } - - { offsetInCU: 0x27, offset: 0xAB7F0, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2290, symSize: 0xC5 } - - { offsetInCU: 0x66, offset: 0xAB82F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x2290, symSize: 0xC5 } - - { offsetInCU: 0x1D9, offset: 0xAB9A2, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xC5, symBinAddr: 0x2355, symSize: 0xC5 } - - { offsetInCU: 0x65, offset: 0xABB7F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x2420, symSize: 0x40 } - - { offsetInCU: 0xBB, offset: 0xABBD5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x70, symBinAddr: 0x2490, symSize: 0x40 } - - { offsetInCU: 0x114, offset: 0xABC2E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x110, symBinAddr: 0x2530, symSize: 0x40 } - - { offsetInCU: 0x16A, offset: 0xABC84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x190, symBinAddr: 0x25B0, symSize: 0x60 } - - { offsetInCU: 0x1C5, offset: 0xABCDF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x280, symBinAddr: 0x26A0, symSize: 0x40 } - - { offsetInCU: 0x21B, offset: 0xABD35, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x2F0, symBinAddr: 0x2710, symSize: 0x40 } - - { offsetInCU: 0x274, offset: 0xABD8E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x3D0, symBinAddr: 0x27F0, symSize: 0x20 } - - { offsetInCU: 0x2CA, offset: 0xABDE4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x3F0, symBinAddr: 0x2810, symSize: 0x10 } - - { offsetInCU: 0x323, offset: 0xABE3D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x400, symBinAddr: 0x2820, symSize: 0x20 } - - { offsetInCU: 0x379, offset: 0xABE93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x420, symBinAddr: 0x2840, symSize: 0x10 } - - { offsetInCU: 0x3D2, offset: 0xABEEC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x430, symBinAddr: 0x2850, symSize: 0x20 } - - { offsetInCU: 0x428, offset: 0xABF42, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x450, symBinAddr: 0x2870, symSize: 0x10 } - - { offsetInCU: 0x481, offset: 0xABF9B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x460, symBinAddr: 0x2880, symSize: 0x40 } - - { offsetInCU: 0x4ED, offset: 0xAC007, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x4D0, symBinAddr: 0x28F0, symSize: 0x50 } - - { offsetInCU: 0x5E1, offset: 0xAC0FB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xB10, symBinAddr: 0x2F30, symSize: 0xB0 } - - { offsetInCU: 0x6D2, offset: 0xAC1EC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x14E0, symBinAddr: 0x3900, symSize: 0x30 } - - { offsetInCU: 0x704, offset: 0xAC21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1830, symBinAddr: 0x3C50, symSize: 0x30 } - - { offsetInCU: 0x736, offset: 0xAC250, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1870, symBinAddr: 0x3C80, symSize: 0x30 } - - { offsetInCU: 0x77E, offset: 0xAC298, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x18A0, symBinAddr: 0x3CB0, symSize: 0x20 } - - { offsetInCU: 0x7F2, offset: 0xAC30C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D00, symBinAddr: 0x4110, symSize: 0x30 } - - { offsetInCU: 0x829, offset: 0xAC343, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1F90, symBinAddr: 0x43A0, symSize: 0x30 } - - { offsetInCU: 0x87B, offset: 0xAC395, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E0, symBinAddr: 0x45D0, symSize: 0x80 } - - { offsetInCU: 0x8EE, offset: 0xAC408, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x2400, symBinAddr: 0x47F0, symSize: 0x30 } - - { offsetInCU: 0x920, offset: 0xAC43A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24B0, symBinAddr: 0x48A0, symSize: 0x30 } - - { offsetInCU: 0xA4E, offset: 0xAC568, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4BA0, symBinAddr: 0x6F90, symSize: 0x17D0 } - - { offsetInCU: 0x16BB, offset: 0xAD1D5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6370, symBinAddr: 0x8760, symSize: 0x2B0 } - - { offsetInCU: 0x18BE, offset: 0xAD3D8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6620, symBinAddr: 0x8A10, symSize: 0x3D0 } - - { offsetInCU: 0x1AF2, offset: 0xAD60C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x69F0, symBinAddr: 0x8DE0, symSize: 0x470 } - - { offsetInCU: 0x1D54, offset: 0xAD86E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xB0, symBinAddr: 0x24D0, symSize: 0x40 } - - { offsetInCU: 0x1D8A, offset: 0xAD8A4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x1F0, symBinAddr: 0x2610, symSize: 0x40 } - - { offsetInCU: 0x1DC0, offset: 0xAD8DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x230, symBinAddr: 0x2650, symSize: 0x50 } - - { offsetInCU: 0x1DEE, offset: 0xAD908, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x330, symBinAddr: 0x2750, symSize: 0x40 } - - { offsetInCU: 0x1E24, offset: 0xAD93E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x570, symBinAddr: 0x2990, symSize: 0x40 } - - { offsetInCU: 0x1E5A, offset: 0xAD974, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x5B0, symBinAddr: 0x29D0, symSize: 0x50 } - - { offsetInCU: 0x1F15, offset: 0xADA2F, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C60, symBinAddr: 0x4070, symSize: 0x40 } - - { offsetInCU: 0x1F29, offset: 0xADA43, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1CE0, symBinAddr: 0x40F0, symSize: 0x20 } - - { offsetInCU: 0x1F58, offset: 0xADA72, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x46F0, symBinAddr: 0x6AE0, symSize: 0x70 } - - { offsetInCU: 0x1FAC, offset: 0xADAC6, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCSS_Tgm5', symObjAddr: 0x4830, symBinAddr: 0x6C20, symSize: 0x80 } - - { offsetInCU: 0x23F6, offset: 0xADF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6E90, symBinAddr: 0x9280, symSize: 0x20 } - - { offsetInCU: 0x240A, offset: 0xADF24, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x6EB0, symBinAddr: 0x92A0, symSize: 0x20 } - - { offsetInCU: 0x241E, offset: 0xADF38, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x6ED0, symBinAddr: 0x92C0, symSize: 0x10 } - - { offsetInCU: 0x2432, offset: 0xADF4C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6F60, symBinAddr: 0x9350, symSize: 0x20 } - - { offsetInCU: 0x2446, offset: 0xADF60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6FC0, symBinAddr: 0x93B0, symSize: 0x20 } - - { offsetInCU: 0x245A, offset: 0xADF74, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x71E0, symBinAddr: 0x95D0, symSize: 0x10 } - - { offsetInCU: 0x246E, offset: 0xADF88, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x71F0, symBinAddr: 0x95E0, symSize: 0x10 } - - { offsetInCU: 0x2482, offset: 0xADF9C, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x7200, symBinAddr: 0x95F0, symSize: 0x20 } - - { offsetInCU: 0x2496, offset: 0xADFB0, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x7220, symBinAddr: 0x9610, symSize: 0x30 } - - { offsetInCU: 0x24B5, offset: 0xADFCF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x72C0, symBinAddr: 0x96B0, symSize: 0x20 } - - { offsetInCU: 0x24DE, offset: 0xADFF8, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x72E0, symBinAddr: 0x96D0, symSize: 0x30 } - - { offsetInCU: 0x24F2, offset: 0xAE00C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x7370, symBinAddr: 0x9760, symSize: 0x20 } - - { offsetInCU: 0x2526, offset: 0xAE040, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x73C0, symBinAddr: 0x97B0, symSize: 0x30 } - - { offsetInCU: 0x253A, offset: 0xAE054, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x75A0, symBinAddr: 0x9990, symSize: 0x120 } - - { offsetInCU: 0x261F, offset: 0xAE139, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x76E0, symBinAddr: 0x9AD0, symSize: 0x10 } - - { offsetInCU: 0x2BB4, offset: 0xAE6CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x40, symBinAddr: 0x2460, symSize: 0x30 } - - { offsetInCU: 0x2C3A, offset: 0xAE754, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x150, symBinAddr: 0x2570, symSize: 0x40 } - - { offsetInCU: 0x2C90, offset: 0xAE7AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2C0, symBinAddr: 0x26E0, symSize: 0x30 } - - { offsetInCU: 0x2D87, offset: 0xAE8A1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4A0, symBinAddr: 0x28C0, symSize: 0x30 } - - { offsetInCU: 0x2DD8, offset: 0xAE8F2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x520, symBinAddr: 0x2940, symSize: 0x50 } - - { offsetInCU: 0x2E4A, offset: 0xAE964, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x600, symBinAddr: 0x2A20, symSize: 0x40 } - - { offsetInCU: 0x2E6F, offset: 0xAE989, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x640, symBinAddr: 0x2A60, symSize: 0x30 } - - { offsetInCU: 0x2EDE, offset: 0xAE9F8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x730, symBinAddr: 0x2B50, symSize: 0x40 } - - { offsetInCU: 0x2F03, offset: 0xAEA1D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA90, symBinAddr: 0x2EB0, symSize: 0x40 } - - { offsetInCU: 0x30A0, offset: 0xAEBBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xBC0, symBinAddr: 0x2FE0, symSize: 0x460 } - - { offsetInCU: 0x33F6, offset: 0xAEF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0x1020, symBinAddr: 0x3440, symSize: 0x4B0 } - - { offsetInCU: 0x3696, offset: 0xAF1B0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1510, symBinAddr: 0x3930, symSize: 0x320 } - - { offsetInCU: 0x3A1E, offset: 0xAF538, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x18C0, symBinAddr: 0x3CD0, symSize: 0x80 } - - { offsetInCU: 0x3A32, offset: 0xAF54C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x1940, symBinAddr: 0x3D50, symSize: 0x320 } - - { offsetInCU: 0x3AAE, offset: 0xAF5C8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D30, symBinAddr: 0x4140, symSize: 0x260 } - - { offsetInCU: 0x3B5D, offset: 0xAF677, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x1FC0, symBinAddr: 0x43D0, symSize: 0x200 } - - { offsetInCU: 0x3D61, offset: 0xAF87B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2260, symBinAddr: 0x4650, symSize: 0x1A0 } - - { offsetInCU: 0x3F3B, offset: 0xAFA55, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2430, symBinAddr: 0x4820, symSize: 0x80 } - - { offsetInCU: 0x3FFA, offset: 0xAFB14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x24E0, symBinAddr: 0x48D0, symSize: 0x10 } - - { offsetInCU: 0x400E, offset: 0xAFB28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2510, symBinAddr: 0x4900, symSize: 0x10 } - - { offsetInCU: 0x4022, offset: 0xAFB3C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2540, symBinAddr: 0x4930, symSize: 0x10 } - - { offsetInCU: 0x4042, offset: 0xAFB5C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x25B0, symBinAddr: 0x49A0, symSize: 0x270 } - - { offsetInCU: 0x40AD, offset: 0xAFBC7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2820, symBinAddr: 0x4C10, symSize: 0x470 } - - { offsetInCU: 0x43A0, offset: 0xAFEBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2D30, symBinAddr: 0x5120, symSize: 0x9D0 } - - { offsetInCU: 0x4528, offset: 0xB0042, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x3A70, symBinAddr: 0x5E60, symSize: 0xC20 } - - { offsetInCU: 0x46C7, offset: 0xB01E1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x46C0, symBinAddr: 0x6AB0, symSize: 0x30 } - - { offsetInCU: 0x46EA, offset: 0xB0204, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4760, symBinAddr: 0x6B50, symSize: 0xD0 } - - { offsetInCU: 0x472D, offset: 0xB0247, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x48B0, symBinAddr: 0x6CA0, symSize: 0x220 } - - { offsetInCU: 0x479E, offset: 0xB02B8, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4AD0, symBinAddr: 0x6EC0, symSize: 0x20 } - - { offsetInCU: 0x47D5, offset: 0xB02EF, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4AF0, symBinAddr: 0x6EE0, symSize: 0xB0 } + - { offsetInCU: 0x34, offset: 0xAB77E, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionString, symObjAddr: 0x0, symBinAddr: 0x533000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0xAB7B3, size: 0x8, addend: 0x0, symName: _CanvasSVGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x533030, symSize: 0x0 } + - { offsetInCU: 0x27, offset: 0xAB7F0, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x1C00, symSize: 0xC5 } + - { offsetInCU: 0x66, offset: 0xAB82F, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromString:size:width:height:svg:]', symObjAddr: 0x0, symBinAddr: 0x1C00, symSize: 0xC5 } + - { offsetInCU: 0x1D9, offset: 0xAB9A2, size: 0x8, addend: 0x0, symName: '+[CanvasSVGHelper drawFromPath:size:width:height:path:]', symObjAddr: 0xC5, symBinAddr: 0x1CC5, symSize: 0xC5 } + - { offsetInCU: 0x65, offset: 0xABB7F, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvgTo', symObjAddr: 0x0, symBinAddr: 0x1D90, symSize: 0x40 } + - { offsetInCU: 0xBB, offset: 0xABBD5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvsTo', symObjAddr: 0x70, symBinAddr: 0x1E00, symSize: 0x40 } + - { offsetInCU: 0x114, offset: 0xABC2E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvgTo', symObjAddr: 0x110, symBinAddr: 0x1EA0, symSize: 0x40 } + - { offsetInCU: 0x16A, offset: 0xABC84, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvsTo', symObjAddr: 0x190, symBinAddr: 0x1F20, symSize: 0x60 } + - { offsetInCU: 0x1C5, offset: 0xABCDF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvgTo', symObjAddr: 0x280, symBinAddr: 0x2010, symSize: 0x40 } + - { offsetInCU: 0x21B, offset: 0xABD35, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvsTo', symObjAddr: 0x2F0, symBinAddr: 0x2080, symSize: 0x40 } + - { offsetInCU: 0x274, offset: 0xABD8E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvgTo', symObjAddr: 0x3D0, symBinAddr: 0x2160, symSize: 0x20 } + - { offsetInCU: 0x2CA, offset: 0xABDE4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14didInitDrawingSbvsTo', symObjAddr: 0x3F0, symBinAddr: 0x2180, symSize: 0x10 } + - { offsetInCU: 0x323, offset: 0xABE3D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvgTo', symObjAddr: 0x400, symBinAddr: 0x2190, symSize: 0x20 } + - { offsetInCU: 0x379, offset: 0xABE93, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11forceResizeSbvsTo', symObjAddr: 0x420, symBinAddr: 0x21B0, symSize: 0x10 } + - { offsetInCU: 0x3D2, offset: 0xABEEC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvgTo', symObjAddr: 0x430, symBinAddr: 0x21C0, symSize: 0x20 } + - { offsetInCU: 0x428, offset: 0xABF42, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4syncSbvsTo', symObjAddr: 0x450, symBinAddr: 0x21E0, symSize: 0x10 } + - { offsetInCU: 0x481, offset: 0xABF9B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvgTo', symObjAddr: 0x460, symBinAddr: 0x21F0, symSize: 0x40 } + - { offsetInCU: 0x4ED, offset: 0xAC007, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvsTo', symObjAddr: 0x4D0, symBinAddr: 0x2260, symSize: 0x50 } + - { offsetInCU: 0x5E1, offset: 0xAC0FB, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC11deviceScaleSfyFTo', symObjAddr: 0xB10, symBinAddr: 0x28A0, symSize: 0xB0 } + - { offsetInCU: 0x6D2, offset: 0xAC1EC, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFTo', symObjAddr: 0x14E0, symBinAddr: 0x3270, symSize: 0x30 } + - { offsetInCU: 0x704, offset: 0xAC21E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyFTo', symObjAddr: 0x1830, symBinAddr: 0x35C0, symSize: 0x30 } + - { offsetInCU: 0x736, offset: 0xAC250, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14layoutSubviewsyyFTo', symObjAddr: 0x1870, symBinAddr: 0x35F0, symSize: 0x30 } + - { offsetInCU: 0x77E, offset: 0xAC298, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10colorSpaceSo07CGColorE3RefavgTo', symObjAddr: 0x18A0, symBinAddr: 0x3620, symSize: 0x20 } + - { offsetInCU: 0x7F2, offset: 0xAC30C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x1D00, symBinAddr: 0x3A80, symSize: 0x30 } + - { offsetInCU: 0x829, offset: 0xAC343, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x1F90, symBinAddr: 0x3D10, symSize: 0x30 } + - { offsetInCU: 0x87B, offset: 0xAC395, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4drawyySo6CGRectVFTo', symObjAddr: 0x21E0, symBinAddr: 0x3F40, symSize: 0x80 } + - { offsetInCU: 0x8EE, offset: 0xAC408, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyFTo', symObjAddr: 0x2400, symBinAddr: 0x4160, symSize: 0x30 } + - { offsetInCU: 0x920, offset: 0xAC43A, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyFTo', symObjAddr: 0x24B0, symBinAddr: 0x4210, symSize: 0x30 } + - { offsetInCU: 0xA4E, offset: 0xAC568, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC18parseSVGDimensionsyAC10DimensionsVSSFZTf4nd_n', symObjAddr: 0x4BA0, symBinAddr: 0x6900, symSize: 0x17D0 } + - { offsetInCU: 0x16BB, offset: 0xAD1D5, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6370, symBinAddr: 0x80D0, symSize: 0x2B0 } + - { offsetInCU: 0x18BE, offset: 0xAD3D8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZTf4nd_n', symObjAddr: 0x6620, symBinAddr: 0x8380, symSize: 0x3D0 } + - { offsetInCU: 0x1AF2, offset: 0xAD60C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZTf4nd_n', symObjAddr: 0x69F0, symBinAddr: 0x8750, symSize: 0x470 } + - { offsetInCU: 0x1D54, offset: 0xAD86E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvpACTK', symObjAddr: 0xB0, symBinAddr: 0x1E40, symSize: 0x40 } + - { offsetInCU: 0x1D8A, offset: 0xAD8A4, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTK', symObjAddr: 0x1F0, symBinAddr: 0x1F80, symSize: 0x40 } + - { offsetInCU: 0x1DC0, offset: 0xAD8DA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvpACTk', symObjAddr: 0x230, symBinAddr: 0x1FC0, symSize: 0x50 } + - { offsetInCU: 0x1DEE, offset: 0xAD908, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvpACTK', symObjAddr: 0x330, symBinAddr: 0x20C0, symSize: 0x40 } + - { offsetInCU: 0x1E24, offset: 0xAD93E, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTK', symObjAddr: 0x570, symBinAddr: 0x2300, symSize: 0x40 } + - { offsetInCU: 0x1E5A, offset: 0xAD974, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvpACTk', symObjAddr: 0x5B0, symBinAddr: 0x2340, symSize: 0x50 } + - { offsetInCU: 0x1F15, offset: 0xADA2F, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x1C60, symBinAddr: 0x39E0, symSize: 0x40 } + - { offsetInCU: 0x1F29, offset: 0xADA43, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCMa', symObjAddr: 0x1CE0, symBinAddr: 0x3A60, symSize: 0x20 } + - { offsetInCU: 0x1F58, offset: 0xADA72, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfETo', symObjAddr: 0x46F0, symBinAddr: 0x6450, symSize: 0x70 } + - { offsetInCU: 0x1FAC, offset: 0xADAC6, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCSS_Tgm5', symObjAddr: 0x4830, symBinAddr: 0x6590, symSize: 0x80 } + - { offsetInCU: 0x23F6, offset: 0xADF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6E90, symBinAddr: 0x8BF0, symSize: 0x20 } + - { offsetInCU: 0x240A, offset: 0xADF24, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x6EB0, symBinAddr: 0x8C10, symSize: 0x20 } + - { offsetInCU: 0x241E, offset: 0xADF38, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x6ED0, symBinAddr: 0x8C30, symSize: 0x10 } + - { offsetInCU: 0x2432, offset: 0xADF4C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6F60, symBinAddr: 0x8CC0, symSize: 0x20 } + - { offsetInCU: 0x2446, offset: 0xADF60, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_TA', symObjAddr: 0x6FC0, symBinAddr: 0x8D20, symSize: 0x20 } + - { offsetInCU: 0x245A, offset: 0xADF74, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x71E0, symBinAddr: 0x8F40, symSize: 0x10 } + - { offsetInCU: 0x246E, offset: 0xADF88, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x71F0, symBinAddr: 0x8F50, symSize: 0x10 } + - { offsetInCU: 0x2482, offset: 0xADF9C, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x7200, symBinAddr: 0x8F60, symSize: 0x20 } + - { offsetInCU: 0x2496, offset: 0xADFB0, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x7220, symBinAddr: 0x8F80, symSize: 0x30 } + - { offsetInCU: 0x24B5, offset: 0xADFCF, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCSgIeyBy_ADIegg_TRTA', symObjAddr: 0x72C0, symBinAddr: 0x9020, symSize: 0x20 } + - { offsetInCU: 0x24DE, offset: 0xADFF8, size: 0x8, addend: 0x0, symName: '_$s10Foundation3URLVSgWOh', symObjAddr: 0x72E0, symBinAddr: 0x9040, symSize: 0x30 } + - { offsetInCU: 0x24F2, offset: 0xAE00C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x7370, symBinAddr: 0x90D0, symSize: 0x20 } + - { offsetInCU: 0x2526, offset: 0xAE040, size: 0x8, addend: 0x0, symName: '_$sS2SSysWl', symObjAddr: 0x73C0, symBinAddr: 0x9120, symSize: 0x30 } + - { offsetInCU: 0x253A, offset: 0xAE054, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_yyScMYccfU_Tf2niiin_nTA', symObjAddr: 0x75A0, symBinAddr: 0x9300, symSize: 0x120 } + - { offsetInCU: 0x261F, offset: 0xAE139, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_TA', symObjAddr: 0x76E0, symBinAddr: 0x9440, symSize: 0x10 } + - { offsetInCU: 0x2BB4, offset: 0xAE6CE, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC4dataSvSgvg', symObjAddr: 0x40, symBinAddr: 0x1DD0, symSize: 0x30 } + - { offsetInCU: 0x2C3A, offset: 0xAE754, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9data_sizeSo6CGSizeVvg', symObjAddr: 0x150, symBinAddr: 0x1EE0, symSize: 0x40 } + - { offsetInCU: 0x2C90, offset: 0xAE7AA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8buf_sizeSuvg', symObjAddr: 0x2C0, symBinAddr: 0x2050, symSize: 0x30 } + - { offsetInCU: 0x2D87, offset: 0xAE8A1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvg', symObjAddr: 0x4A0, symBinAddr: 0x2230, symSize: 0x30 } + - { offsetInCU: 0x2DD8, offset: 0xAE8F2, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvs', symObjAddr: 0x520, symBinAddr: 0x22B0, symSize: 0x50 } + - { offsetInCU: 0x2E4A, offset: 0xAE964, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM', symObjAddr: 0x600, symBinAddr: 0x2390, symSize: 0x40 } + - { offsetInCU: 0x2E6F, offset: 0xAE989, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9autoScaleSbvM.resume.0', symObjAddr: 0x640, symBinAddr: 0x23D0, symSize: 0x30 } + - { offsetInCU: 0x2EDE, offset: 0xAE9F8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC3srcSSSgvM', symObjAddr: 0x730, symBinAddr: 0x24C0, symSize: 0x40 } + - { offsetInCU: 0x2F03, offset: 0xAEA1D, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7srcPathSSSgvM', symObjAddr: 0xA90, symBinAddr: 0x2820, symSize: 0x40 } + - { offsetInCU: 0x30A0, offset: 0xAEBBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyF', symObjAddr: 0xBC0, symBinAddr: 0x2950, symSize: 0x460 } + - { offsetInCU: 0x33F6, offset: 0xAEF10, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6doDrawyyFyycfU_', symObjAddr: 0x1020, symBinAddr: 0x2DB0, symSize: 0x4B0 } + - { offsetInCU: 0x3696, offset: 0xAF1B0, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6updateyyF', symObjAddr: 0x1510, symBinAddr: 0x32A0, symSize: 0x320 } + - { offsetInCU: 0x3A1E, offset: 0xAF538, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfC', symObjAddr: 0x18C0, symBinAddr: 0x3640, symSize: 0x80 } + - { offsetInCU: 0x3A32, offset: 0xAF54C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5frameACSo6CGRectV_tcfc', symObjAddr: 0x1940, symBinAddr: 0x36C0, symSize: 0x320 } + - { offsetInCU: 0x3AAE, offset: 0xAF5C8, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1D30, symBinAddr: 0x3AB0, symSize: 0x260 } + - { offsetInCU: 0x3B5D, offset: 0xAF677, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC9drawImage33_C2B5A81EA80ED94FA09E8C035710AE36LLyySo6CGRectVF', symObjAddr: 0x1FC0, symBinAddr: 0x3D40, symSize: 0x200 } + - { offsetInCU: 0x3D61, offset: 0xAF87B, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC7toImageSo7UIImageCSgyF', symObjAddr: 0x2260, symBinAddr: 0x3FC0, symSize: 0x1A0 } + - { offsetInCU: 0x3F3B, offset: 0xAFA55, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC6toDataSo6NSDataCSgyF', symObjAddr: 0x2430, symBinAddr: 0x4190, symSize: 0x80 } + - { offsetInCU: 0x3FFA, offset: 0xAFB14, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromStringSyncyACSgSSFZ', symObjAddr: 0x24E0, symBinAddr: 0x4240, symSize: 0x10 } + - { offsetInCU: 0x400E, offset: 0xAFB28, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC12fromPathSyncyACSgSSFZ', symObjAddr: 0x2510, symBinAddr: 0x4270, symSize: 0x10 } + - { offsetInCU: 0x4022, offset: 0xAFB3C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC14fromRemoteSyncyACSgSSFZ', symObjAddr: 0x2540, symBinAddr: 0x42A0, symSize: 0x10 } + - { offsetInCU: 0x4042, offset: 0xAFB5C, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZ', symObjAddr: 0x25B0, symBinAddr: 0x4310, symSize: 0x270 } + - { offsetInCU: 0x40AD, offset: 0xAFBC7, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromStringyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2820, symBinAddr: 0x4580, symSize: 0x470 } + - { offsetInCU: 0x43A0, offset: 0xAFEBA, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC8fromPathyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x2D30, symBinAddr: 0x4A90, symSize: 0x9D0 } + - { offsetInCU: 0x4528, offset: 0xB0042, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGC10fromRemoteyySS_yACSgctFZyyYbcfU_', symObjAddr: 0x3A70, symBinAddr: 0x57D0, symSize: 0xC20 } + - { offsetInCU: 0x46C7, offset: 0xB01E1, size: 0x8, addend: 0x0, symName: '_$s9CanvasSVG6NSCSVGCfD', symObjAddr: 0x46C0, symBinAddr: 0x6420, symSize: 0x30 } + - { offsetInCU: 0x46EA, offset: 0xB0204, size: 0x8, addend: 0x0, symName: '_$sSo19NSRegularExpressionC7pattern7optionsABSS_So0aB7OptionsVtKcfcTO', symObjAddr: 0x4760, symBinAddr: 0x64C0, symSize: 0xD0 } + - { offsetInCU: 0x472D, offset: 0xB0247, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFSo20NSTextCheckingResultC_Tg5', symObjAddr: 0x48B0, symBinAddr: 0x6610, symSize: 0x220 } + - { offsetInCU: 0x479E, offset: 0xB02B8, size: 0x8, addend: 0x0, symName: '_$ss15ContiguousArrayV16_createNewBuffer14bufferIsUnique15minimumCapacity13growForAppendySb_SiSbtFSS_Tg5', symObjAddr: 0x4AD0, symBinAddr: 0x6830, symSize: 0x20 } + - { offsetInCU: 0x47D5, offset: 0xB02EF, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFSS_Tg5', symObjAddr: 0x4AF0, symBinAddr: 0x6850, symSize: 0xB0 } + - { offsetInCU: 0x26, offset: 0xB0610, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0xA8B80, symSize: 0x3990 } + - { offsetInCU: 0x40, offset: 0xB062A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0xEEC0, symBinAddr: 0x56A3F0, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0xB067C, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0x14EC0, symBinAddr: 0x5703F0, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0xB06E0, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0x14EE8, symBinAddr: 0x570418, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0xB06F6, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x152F0, symBinAddr: 0x570820, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0xB070D, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0x14F30, symBinAddr: 0x570460, symSize: 0x0 } + - { offsetInCU: 0xE22, offset: 0xB140C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0xA8B80, symSize: 0x3990 } + - { offsetInCU: 0x4DAE, offset: 0xB5398, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0xE6E0, symBinAddr: 0xB7260, symSize: 0x3E0 } + - { offsetInCU: 0x4FF1, offset: 0xB55DB, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x7C20, symBinAddr: 0xB07A0, symSize: 0x270 } + - { offsetInCU: 0x582C, offset: 0xB5E16, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x3990, symBinAddr: 0xAC510, symSize: 0xA10 } + - { offsetInCU: 0x684B, offset: 0xB6E35, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x43A0, symBinAddr: 0xACF20, symSize: 0xA10 } + - { offsetInCU: 0x6EE9, offset: 0xB74D3, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x4DB0, symBinAddr: 0xAD930, symSize: 0x2B0 } + - { offsetInCU: 0x74BC, offset: 0xB7AA6, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x5060, symBinAddr: 0xADBE0, symSize: 0xCD0 } + - { offsetInCU: 0x83FE, offset: 0xB89E8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x5D30, symBinAddr: 0xAE8B0, symSize: 0xB40 } + - { offsetInCU: 0x8F67, offset: 0xB9551, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x6870, symBinAddr: 0xAF3F0, symSize: 0x13B0 } + - { offsetInCU: 0xA567, offset: 0xBAB51, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x7FF0, symBinAddr: 0xB0B70, symSize: 0x2A30 } + - { offsetInCU: 0xDC6D, offset: 0xBE257, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x7E90, symBinAddr: 0xB0A10, symSize: 0x160 } + - { offsetInCU: 0xDEE7, offset: 0xBE4D1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0xAA20, symBinAddr: 0xB35A0, symSize: 0x30 } + - { offsetInCU: 0xDFDC, offset: 0xBE5C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0xAA50, symBinAddr: 0xB35D0, symSize: 0x50 } + - { offsetInCU: 0xE051, offset: 0xBE63B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0xAAA0, symBinAddr: 0xB3620, symSize: 0x10 } + - { offsetInCU: 0xE0EC, offset: 0xBE6D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0xAAB0, symBinAddr: 0xB3630, symSize: 0xB0 } + - { offsetInCU: 0xE217, offset: 0xBE801, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0xAB60, symBinAddr: 0xB36E0, symSize: 0x10 } + - { offsetInCU: 0xE4E9, offset: 0xBEAD3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0xAB70, symBinAddr: 0xB36F0, symSize: 0x21A0 } + - { offsetInCU: 0x1118F, offset: 0xC1779, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0xEAC0, symBinAddr: 0xB7640, symSize: 0x2D1 } + - { offsetInCU: 0x117CF, offset: 0xC1DB9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0xCD10, symBinAddr: 0xB5890, symSize: 0x20 } + - { offsetInCU: 0x11C6C, offset: 0xC2256, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0xCD30, symBinAddr: 0xB58B0, symSize: 0x19B0 } + - { offsetInCU: 0x26, offset: 0xC3306, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xB7920, symSize: 0x800 } + - { offsetInCU: 0x41, offset: 0xC3321, size: 0x8, addend: 0x0, symName: _aes_nohw_rcon, symObjAddr: 0x1B10, symBinAddr: 0x570900, symSize: 0x0 } + - { offsetInCU: 0x484, offset: 0xC3764, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0xB7920, symSize: 0x800 } + - { offsetInCU: 0x1B2B, offset: 0xC4E0B, size: 0x8, addend: 0x0, symName: _aes_nohw_sub_bytes, symObjAddr: 0x15F0, symBinAddr: 0xB8F10, symSize: 0x300 } + - { offsetInCU: 0x32EE, offset: 0xC65CE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_encrypt, symObjAddr: 0x800, symBinAddr: 0xB8120, symSize: 0x80 } + - { offsetInCU: 0x33DC, offset: 0xC66BC, size: 0x8, addend: 0x0, symName: _aes_nohw_expand_round_keys, symObjAddr: 0x880, symBinAddr: 0xB81A0, symSize: 0x1A0 } + - { offsetInCU: 0x386D, offset: 0xC6B4D, size: 0x8, addend: 0x0, symName: _aes_nohw_to_batch, symObjAddr: 0xA20, symBinAddr: 0xB8340, symSize: 0x420 } + - { offsetInCU: 0x3D7D, offset: 0xC705D, size: 0x8, addend: 0x0, symName: _aes_nohw_encrypt_batch, symObjAddr: 0xE40, symBinAddr: 0xB8760, symSize: 0x380 } + - { offsetInCU: 0x424C, offset: 0xC752C, size: 0x8, addend: 0x0, symName: _aes_nohw_from_batch, symObjAddr: 0x11C0, symBinAddr: 0xB8AE0, symSize: 0x250 } + - { offsetInCU: 0x498D, offset: 0xC7C6D, size: 0x8, addend: 0x0, symName: _aes_nohw_shift_rows, symObjAddr: 0x18F0, symBinAddr: 0xB9210, symSize: 0x149 } + - { offsetInCU: 0x4BF9, offset: 0xC7ED9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_ctr32_encrypt_blocks, symObjAddr: 0x1410, symBinAddr: 0xB8D30, symSize: 0x1E0 } + - { offsetInCU: 0x26, offset: 0xC82FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0xB9360, symSize: 0x2DC } + - { offsetInCU: 0x1D2, offset: 0xC84A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0xB9360, symSize: 0x2DC } + - { offsetInCU: 0x26, offset: 0xC86FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0xB9640, symSize: 0x87 } + - { offsetInCU: 0x34, offset: 0xC870D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0xB9640, symSize: 0x87 } + - { offsetInCU: 0x26, offset: 0xC881D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0xB96D0, symSize: 0x46 } + - { offsetInCU: 0x34, offset: 0xC882B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0xB96D0, symSize: 0x46 } + - { offsetInCU: 0x86, offset: 0xC898E, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x15F0, symBinAddr: 0x570980, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xC89C0, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1580, symBinAddr: 0x570910, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xC89E2, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x15B0, symBinAddr: 0x570940, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xC89F8, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x15E0, symBinAddr: 0x570970, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xC8CBF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x150, symBinAddr: 0xB9720, symSize: 0x20 } + - { offsetInCU: 0x594, offset: 0xC8E9C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x250, symBinAddr: 0xB9740, symSize: 0x20 } + - { offsetInCU: 0x63F, offset: 0xC8F47, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x340, symBinAddr: 0xB9760, symSize: 0x3A0 } + - { offsetInCU: 0x11A7, offset: 0xC9AAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x6E0, symBinAddr: 0xB9B00, symSize: 0x140 } + - { offsetInCU: 0x14A2, offset: 0xC9DAA, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x820, symBinAddr: 0xB9C40, symSize: 0x6B0 } + - { offsetInCU: 0x26DA, offset: 0xCAFE2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xED0, symBinAddr: 0xBA2F0, symSize: 0x380 } + - { offsetInCU: 0x2D37, offset: 0xCB63F, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0x1250, symBinAddr: 0xBA670, symSize: 0x170 } + - { offsetInCU: 0x2F2F, offset: 0xCB837, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0x13C0, symBinAddr: 0xBA7E0, symSize: 0x1BF } + - { offsetInCU: 0x26, offset: 0xCBB82, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0xBA9A0, symSize: 0x50 } + - { offsetInCU: 0xFA, offset: 0xCBC56, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0xBA9A0, symSize: 0x50 } + - { offsetInCU: 0x18D, offset: 0xCBCE9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x50, symBinAddr: 0xBA9F0, symSize: 0x60 } + - { offsetInCU: 0x2F1, offset: 0xCBE4D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0xB0, symBinAddr: 0xBAA50, symSize: 0x90 } + - { offsetInCU: 0x4C6, offset: 0xCC022, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0x140, symBinAddr: 0xBAAE0, symSize: 0x20 } + - { offsetInCU: 0x5E3, offset: 0xCC13F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0x160, symBinAddr: 0xBAB00, symSize: 0xB0 } + - { offsetInCU: 0x696, offset: 0xCC1F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x210, symBinAddr: 0xBABB0, symSize: 0x70 } + - { offsetInCU: 0x861, offset: 0xCC3BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x280, symBinAddr: 0xBAC20, symSize: 0x170 } + - { offsetInCU: 0xB67, offset: 0xCC6C3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x3F0, symBinAddr: 0xBAD90, symSize: 0x270 } + - { offsetInCU: 0xE6A, offset: 0xCC9C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x660, symBinAddr: 0xBB000, symSize: 0x1A0 } + - { offsetInCU: 0x105D, offset: 0xCCBB9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x800, symBinAddr: 0xBB1A0, symSize: 0x280 } + - { offsetInCU: 0x128C, offset: 0xCCDE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0xC20, symBinAddr: 0xBB420, symSize: 0x20 } + - { offsetInCU: 0x12F3, offset: 0xCCE4F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0xC40, symBinAddr: 0xBB440, symSize: 0x20 } + - { offsetInCU: 0x132A, offset: 0xCCE86, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0xC60, symBinAddr: 0xBB460, symSize: 0x10 } + - { offsetInCU: 0x13AC, offset: 0xCCF08, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0xC70, symBinAddr: 0xBB470, symSize: 0x4A } + - { offsetInCU: 0x26, offset: 0xCD094, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0xBB4C0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xCD0A2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0xBB4C0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xCD1A4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_ia32cap_P, symObjAddr: 0x3F0, symBinAddr: 0xBE6A10, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xCD1F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0xBB5F0, symSize: 0xF8 } + - { offsetInCU: 0xD5, offset: 0xCD2A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0xBB5F0, symSize: 0xF8 } + - { offsetInCU: 0x26, offset: 0xCD3FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0xBB6F0, symSize: 0x1210 } + - { offsetInCU: 0x92E, offset: 0xCDD05, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0xBB6F0, symSize: 0x1210 } + - { offsetInCU: 0x5347, offset: 0xD271E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base_adx, symObjAddr: 0x1210, symBinAddr: 0xBC900, symSize: 0x1E50 } + - { offsetInCU: 0x9B2F, offset: 0xD6F06, size: 0x8, addend: 0x0, symName: _inline_x25519_ge_dbl_4, symObjAddr: 0x3060, symBinAddr: 0xBE750, symSize: 0x361 } + - { offsetInCU: 0x26, offset: 0xD82F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0xBEAC0, symSize: 0xD0 } + - { offsetInCU: 0x303, offset: 0xD85D0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0xBEAC0, symSize: 0xD0 } + - { offsetInCU: 0x5A4, offset: 0xD8871, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_update, symObjAddr: 0xD0, symBinAddr: 0xBEB90, symSize: 0x1C0 } + - { offsetInCU: 0x764, offset: 0xD8A31, size: 0x8, addend: 0x0, symName: _poly1305_blocks, symObjAddr: 0x5F0, symBinAddr: 0xBF0B0, symSize: 0x780 } + - { offsetInCU: 0x903, offset: 0xD8BD0, size: 0x8, addend: 0x0, symName: _poly1305_first_block, symObjAddr: 0x290, symBinAddr: 0xBED50, symSize: 0x360 } + - { offsetInCU: 0xEFC, offset: 0xD91C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_finish, symObjAddr: 0xD70, symBinAddr: 0xBF830, symSize: 0xAA2 } + - { offsetInCU: 0x10, offset: 0xD9952, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0xC02D2, symSize: 0x2AF } + - { offsetInCU: 0x51, offset: 0xD9993, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0xC02D2, symSize: 0x2AF } + - { offsetInCU: 0x10, offset: 0xD9988, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0xC0581, symSize: 0x1F4 } + - { offsetInCU: 0x54, offset: 0xD99CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0xC0581, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xD99D4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0xC0780, symSize: 0x490 } + - { offsetInCU: 0x76, offset: 0xD9A24, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x571000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xD9AA8, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x596000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xD9D09, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0xC0780, symSize: 0x490 } + - { offsetInCU: 0xC5A, offset: 0xDA608, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x490, symBinAddr: 0xC0C10, symSize: 0x300 } + - { offsetInCU: 0x1135, offset: 0xDAAE3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x790, symBinAddr: 0xC0F10, symSize: 0x25D } + - { offsetInCU: 0x10, offset: 0xDAEA8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xC1180, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xDAEE0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0xC1180, symSize: 0x3A0 } + - { offsetInCU: 0x4D, offset: 0xDAEE5, size: 0x8, addend: 0x0, symName: ChaCha20_ssse3, symObjAddr: 0x3A0, symBinAddr: 0xC1520, symSize: 0x220 } + - { offsetInCU: 0x60, offset: 0xDAEF8, size: 0x8, addend: 0x0, symName: ChaCha20_4x, symObjAddr: 0x5C0, symBinAddr: 0xC1740, symSize: 0xA20 } + - { offsetInCU: 0x76, offset: 0xDAF0E, size: 0x8, addend: 0x0, symName: ChaCha20_8x, symObjAddr: 0xFE0, symBinAddr: 0xC2160, symSize: 0xB4C } + - { offsetInCU: 0x10, offset: 0xDAF20, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0xC2CC0, symSize: 0x40 } + - { offsetInCU: 0x48, offset: 0xDAF58, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0xC2CC0, symSize: 0x40 } + - { offsetInCU: 0x4D, offset: 0xDAF5D, size: 0x8, addend: 0x0, symName: _aesni_encrypt2, symObjAddr: 0x40, symBinAddr: 0xC2D00, symSize: 0x60 } + - { offsetInCU: 0x63, offset: 0xDAF73, size: 0x8, addend: 0x0, symName: _aesni_encrypt3, symObjAddr: 0xA0, symBinAddr: 0xC2D60, symSize: 0x70 } + - { offsetInCU: 0x79, offset: 0xDAF89, size: 0x8, addend: 0x0, symName: _aesni_encrypt4, symObjAddr: 0x110, symBinAddr: 0xC2DD0, symSize: 0x90 } + - { offsetInCU: 0x8F, offset: 0xDAF9F, size: 0x8, addend: 0x0, symName: _aesni_encrypt6, symObjAddr: 0x1A0, symBinAddr: 0xC2E60, symSize: 0xE0 } + - { offsetInCU: 0xA5, offset: 0xDAFB5, size: 0x8, addend: 0x0, symName: _aesni_encrypt8, symObjAddr: 0x280, symBinAddr: 0xC2F40, symSize: 0x110 } + - { offsetInCU: 0xD9, offset: 0xDAFE9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x390, symBinAddr: 0xC3050, symSize: 0x940 } + - { offsetInCU: 0xEA, offset: 0xDAFFA, size: 0x8, addend: 0x0, symName: __aesni_set_encrypt_key, symObjAddr: 0xCD0, symBinAddr: 0xC3990, symSize: 0x44D } + - { offsetInCU: 0x10, offset: 0xDAFF0, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0xC3DE0, symSize: 0x160 } + - { offsetInCU: 0x3B, offset: 0xDB01B, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0xC3DE0, symSize: 0x160 } + - { offsetInCU: 0x54, offset: 0xDB034, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core_2x, symObjAddr: 0x160, symBinAddr: 0xC3F40, symSize: 0x290 } + - { offsetInCU: 0x68, offset: 0xDB048, size: 0x8, addend: 0x0, symName: _vpaes_schedule_core, symObjAddr: 0x3F0, symBinAddr: 0xC41D0, symSize: 0xF0 } + - { offsetInCU: 0x7F, offset: 0xDB05F, size: 0x8, addend: 0x0, symName: _vpaes_schedule_round, symObjAddr: 0x4E0, symBinAddr: 0xC42C0, symSize: 0x21 } + - { offsetInCU: 0x99, offset: 0xDB079, size: 0x8, addend: 0x0, symName: _vpaes_schedule_low_round, symObjAddr: 0x501, symBinAddr: 0xC42E1, symSize: 0x9F } + - { offsetInCU: 0xAF, offset: 0xDB08F, size: 0x8, addend: 0x0, symName: _vpaes_schedule_transform, symObjAddr: 0x5A0, symBinAddr: 0xC4380, symSize: 0x30 } + - { offsetInCU: 0xC2, offset: 0xDB0A2, size: 0x8, addend: 0x0, symName: _vpaes_schedule_mangle, symObjAddr: 0x5D0, symBinAddr: 0xC43B0, symSize: 0x50 } + - { offsetInCU: 0xE9, offset: 0xDB0C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_set_encrypt_key, symObjAddr: 0x620, symBinAddr: 0xC4400, symSize: 0x30 } + - { offsetInCU: 0xF7, offset: 0xDB0D7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_encrypt, symObjAddr: 0x650, symBinAddr: 0xC4430, symSize: 0x20 } + - { offsetInCU: 0x11A, offset: 0xDB0FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_ctr32_encrypt_blocks, symObjAddr: 0x670, symBinAddr: 0xC4450, symSize: 0xD0 } + - { offsetInCU: 0x112, offset: 0xDB0F2, size: 0x8, addend: 0x0, symName: _vpaes_preheat, symObjAddr: 0x740, symBinAddr: 0xC4520, symSize: 0x31 } + - { offsetInCU: 0x10, offset: 0xDB102, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xC4560, symSize: 0x2A0 } + - { offsetInCU: 0x45, offset: 0xDB137, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0xC4560, symSize: 0x2A0 } + - { offsetInCU: 0x4C, offset: 0xDB13E, size: 0x8, addend: 0x0, symName: bn_mul4x_mont, symObjAddr: 0x2A0, symBinAddr: 0xC4800, symSize: 0x560 } + - { offsetInCU: 0x62, offset: 0xDB154, size: 0x8, addend: 0x0, symName: bn_sqr8x_mont, symObjAddr: 0x800, symBinAddr: 0xC4D60, symSize: 0x220 } + - { offsetInCU: 0x79, offset: 0xDB16B, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont, symObjAddr: 0xA20, symBinAddr: 0xC4F80, symSize: 0x570 } + - { offsetInCU: 0x10, offset: 0xDB17A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0xC5500, symSize: 0x660 } + - { offsetInCU: 0x4D, offset: 0xDB1B7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0xC5500, symSize: 0x660 } + - { offsetInCU: 0x54, offset: 0xDB1BE, size: 0x8, addend: 0x0, symName: bn_mul4x_mont_gather5, symObjAddr: 0x660, symBinAddr: 0xC5B60, symSize: 0x100 } + - { offsetInCU: 0x63, offset: 0xDB1CD, size: 0x8, addend: 0x0, symName: mul4x_internal, symObjAddr: 0x760, symBinAddr: 0xC5C60, symSize: 0x7E0 } + - { offsetInCU: 0x85, offset: 0xDB1EF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_power5, symObjAddr: 0xF40, symBinAddr: 0xC6440, symSize: 0x180 } + - { offsetInCU: 0xA3, offset: 0xDB20D, size: 0x8, addend: 0x0, symName: __bn_sqr8x_internal, symObjAddr: 0x10C0, symBinAddr: 0xC65C0, symSize: 0x579 } + - { offsetInCU: 0xAA, offset: 0xDB214, size: 0x8, addend: 0x0, symName: __bn_sqr8x_reduction, symObjAddr: 0x1639, symBinAddr: 0xC6B39, symSize: 0x347 } + - { offsetInCU: 0xC0, offset: 0xDB22A, size: 0x8, addend: 0x0, symName: __bn_post4x_internal, symObjAddr: 0x1980, symBinAddr: 0xC6E80, symSize: 0xA0 } + - { offsetInCU: 0xD9, offset: 0xDB243, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont_gather5, symObjAddr: 0x1A20, symBinAddr: 0xC6F20, symSize: 0xE0 } + - { offsetInCU: 0xE8, offset: 0xDB252, size: 0x8, addend: 0x0, symName: mulx4x_internal, symObjAddr: 0x1B00, symBinAddr: 0xC7000, symSize: 0x7E0 } + - { offsetInCU: 0xF9, offset: 0xDB263, size: 0x8, addend: 0x0, symName: bn_powerx5, symObjAddr: 0x22E0, symBinAddr: 0xC77E0, symSize: 0x160 } + - { offsetInCU: 0x128, offset: 0xDB292, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_internal, symObjAddr: 0x2440, symBinAddr: 0xC7940, symSize: 0x637 } + - { offsetInCU: 0x12F, offset: 0xDB299, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_reduction, symObjAddr: 0x2A77, symBinAddr: 0xC7F77, symSize: 0x329 } + - { offsetInCU: 0x145, offset: 0xDB2AF, size: 0x8, addend: 0x0, symName: __bn_postx4x_internal, symObjAddr: 0x2DA0, symBinAddr: 0xC82A0, symSize: 0x90 } + - { offsetInCU: 0x163, offset: 0xDB2CD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_scatter5, symObjAddr: 0x2E30, symBinAddr: 0xC8330, symSize: 0x30 } + - { offsetInCU: 0x178, offset: 0xDB2E2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_gather5, symObjAddr: 0x2E60, symBinAddr: 0xC8360, symSize: 0x27F } + - { offsetInCU: 0x10, offset: 0xDB2E4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0xC85E0, symSize: 0x80 } + - { offsetInCU: 0x4A, offset: 0xDB31E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0xC85E0, symSize: 0x80 } + - { offsetInCU: 0x64, offset: 0xDB338, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0x80, symBinAddr: 0xC8660, symSize: 0x360 } + - { offsetInCU: 0x7E, offset: 0xDB352, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x3E0, symBinAddr: 0xC89C0, symSize: 0x300 } + - { offsetInCU: 0x85, offset: 0xDB359, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_mul_montx, symObjAddr: 0x6E0, symBinAddr: 0xC8CC0, symSize: 0x3C0 } + - { offsetInCU: 0x9B, offset: 0xDB36F, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_sqr_montx, symObjAddr: 0xAA0, symBinAddr: 0xC9080, symSize: 0x320 } + - { offsetInCU: 0xB5, offset: 0xDB389, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0xDC0, symBinAddr: 0xC93A0, symSize: 0xA0 } + - { offsetInCU: 0xC4, offset: 0xDB398, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montq, symObjAddr: 0xE60, symBinAddr: 0xC9440, symSize: 0x240 } + - { offsetInCU: 0xE1, offset: 0xDB3B5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x10A0, symBinAddr: 0xC9680, symSize: 0x80 } + - { offsetInCU: 0xF0, offset: 0xDB3C4, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montq, symObjAddr: 0x1120, symBinAddr: 0xC9700, symSize: 0x1A0 } + - { offsetInCU: 0x106, offset: 0xDB3DA, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montx, symObjAddr: 0x12C0, symBinAddr: 0xC98A0, symSize: 0x260 } + - { offsetInCU: 0x11C, offset: 0xDB3F0, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montx, symObjAddr: 0x1520, symBinAddr: 0xC9B00, symSize: 0x1C0 } + - { offsetInCU: 0x142, offset: 0xDB416, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x16E0, symBinAddr: 0xC9CC0, symSize: 0xE0 } + - { offsetInCU: 0x158, offset: 0xDB42C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x17C0, symBinAddr: 0xC9DA0, symSize: 0xC0 } + - { offsetInCU: 0x162, offset: 0xDB436, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w5, symObjAddr: 0x1880, symBinAddr: 0xC9E60, symSize: 0xC0 } + - { offsetInCU: 0x178, offset: 0xDB44C, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w7, symObjAddr: 0x1940, symBinAddr: 0xC9F20, symSize: 0xE0 } + - { offsetInCU: 0x188, offset: 0xDB45C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_toq, symObjAddr: 0x1A20, symBinAddr: 0xCA000, symSize: 0x60 } + - { offsetInCU: 0x1A0, offset: 0xDB474, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromq, symObjAddr: 0x1A80, symBinAddr: 0xCA060, symSize: 0x60 } + - { offsetInCU: 0x1B1, offset: 0xDB485, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subq, symObjAddr: 0x1AE0, symBinAddr: 0xCA0C0, symSize: 0x40 } + - { offsetInCU: 0x1CC, offset: 0xDB4A0, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2q, symObjAddr: 0x1B20, symBinAddr: 0xCA100, symSize: 0x60 } + - { offsetInCU: 0x1ED, offset: 0xDB4C1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x1B80, symBinAddr: 0xCA160, symSize: 0x320 } + - { offsetInCU: 0x200, offset: 0xDB4D4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x1EA0, symBinAddr: 0xCA480, symSize: 0x780 } + - { offsetInCU: 0x21D, offset: 0xDB4F1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0x2620, symBinAddr: 0xCAC00, symSize: 0x580 } + - { offsetInCU: 0x222, offset: 0xDB4F6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_tox, symObjAddr: 0x2BA0, symBinAddr: 0xCB180, symSize: 0x60 } + - { offsetInCU: 0x23A, offset: 0xDB50E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromx, symObjAddr: 0x2C00, symBinAddr: 0xCB1E0, symSize: 0x60 } + - { offsetInCU: 0x24B, offset: 0xDB51F, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subx, symObjAddr: 0x2C60, symBinAddr: 0xCB240, symSize: 0x60 } + - { offsetInCU: 0x266, offset: 0xDB53A, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2x, symObjAddr: 0x2CC0, symBinAddr: 0xCB2A0, symSize: 0x60 } + - { offsetInCU: 0x27F, offset: 0xDB553, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_doublex, symObjAddr: 0x2D20, symBinAddr: 0xCB300, symSize: 0x320 } + - { offsetInCU: 0x292, offset: 0xDB566, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_addx, symObjAddr: 0x3040, symBinAddr: 0xCB620, symSize: 0x760 } + - { offsetInCU: 0x2AF, offset: 0xDB583, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_add_affinex, symObjAddr: 0x37A0, symBinAddr: 0xCBD80, symSize: 0x555 } + - { offsetInCU: 0x10, offset: 0xDB582, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0xCC2E0, symSize: 0x5A0 } + - { offsetInCU: 0x3D, offset: 0xDB5AF, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0xCC2E0, symSize: 0x5A0 } + - { offsetInCU: 0x61, offset: 0xDB5D3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_decrypt, symObjAddr: 0x5A0, symBinAddr: 0xCC880, symSize: 0x140 } + - { offsetInCU: 0x63, offset: 0xDB5D5, size: 0x8, addend: 0x0, symName: _aesni_ctr32_6x, symObjAddr: 0x6E0, symBinAddr: 0xCC9C0, symSize: 0x180 } + - { offsetInCU: 0x8D, offset: 0xDB5FF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_encrypt, symObjAddr: 0x860, symBinAddr: 0xCCB40, symSize: 0x423 } + - { offsetInCU: 0x10, offset: 0xDB5FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xCCF80, symSize: 0x260 } + - { offsetInCU: 0x48, offset: 0xDB632, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0xCCF80, symSize: 0x260 } + - { offsetInCU: 0x5F, offset: 0xDB649, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x260, symBinAddr: 0xCD1E0, symSize: 0xC0 } + - { offsetInCU: 0x75, offset: 0xDB65F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x320, symBinAddr: 0xCD2A0, symSize: 0x660 } + - { offsetInCU: 0x88, offset: 0xDB672, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_avx, symObjAddr: 0x980, symBinAddr: 0xCD900, symSize: 0x1A0 } + - { offsetInCU: 0x9F, offset: 0xDB689, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_avx, symObjAddr: 0xB20, symBinAddr: 0xCDAA0, symSize: 0x697 } + - { offsetInCU: 0x10, offset: 0xDB688, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xCE140, symSize: 0x1240 } + - { offsetInCU: 0x51, offset: 0xDB6C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0xCE140, symSize: 0x1240 } + - { offsetInCU: 0x5A, offset: 0xDB6D2, size: 0x8, addend: 0x0, symName: sha512_block_data_order_avx, symObjAddr: 0x1240, symBinAddr: 0xCF380, symSize: 0x1176 } + - { offsetInCU: 0x10, offset: 0xDB6D4, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0xD0500, symSize: 0x200 } + - { offsetInCU: 0x44, offset: 0xDB708, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0xD0500, symSize: 0x200 } + - { offsetInCU: 0x66, offset: 0xDB72A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x200, symBinAddr: 0xD0700, symSize: 0x21C0 } + - { offsetInCU: 0x7C, offset: 0xDB740, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x23C0, symBinAddr: 0xD28C0, symSize: 0x1D2D } + - { offsetInCU: 0x83, offset: 0xDB747, size: 0x8, addend: 0x0, symName: process_extra_in_trailer, symObjAddr: 0x40ED, symBinAddr: 0xD45ED, symSize: 0x553 } + - { offsetInCU: 0x9C, offset: 0xDB760, size: 0x8, addend: 0x0, symName: chacha20_poly1305_open_avx2, symObjAddr: 0x4640, symBinAddr: 0xD4B40, symSize: 0x25C0 } + - { offsetInCU: 0xB2, offset: 0xDB776, size: 0x8, addend: 0x0, symName: chacha20_poly1305_seal_avx2, symObjAddr: 0x6C00, symBinAddr: 0xD7100, symSize: 0x2F01 } + - { offsetInCU: 0x10, offset: 0xDB778, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xDA040, symSize: 0x1200 } + - { offsetInCU: 0x51, offset: 0xDB7B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0xDA040, symSize: 0x1200 } + - { offsetInCU: 0x5D, offset: 0xDB7C5, size: 0x8, addend: 0x0, symName: sha256_block_data_order_shaext, symObjAddr: 0x1200, symBinAddr: 0xDB240, symSize: 0x340 } + - { offsetInCU: 0x72, offset: 0xDB7DA, size: 0x8, addend: 0x0, symName: sha256_block_data_order_ssse3, symObjAddr: 0x1540, symBinAddr: 0xDB580, symSize: 0xEC0 } + - { offsetInCU: 0x86, offset: 0xDB7EE, size: 0x8, addend: 0x0, symName: sha256_block_data_order_avx, symObjAddr: 0x2400, symBinAddr: 0xDC440, symSize: 0xEF7 } ... diff --git a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG index ffcab34f2..b3e2e3091 100755 Binary files a/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG and b/packages/canvas-svg/src-native/ios/dist/Release-iphonesimulator/CanvasSVG.framework/CanvasSVG differ diff --git a/packages/canvas/Canvas/index.android.ts b/packages/canvas/Canvas/index.android.ts index 99119f5fb..2c96a7e21 100644 --- a/packages/canvas/Canvas/index.android.ts +++ b/packages/canvas/Canvas/index.android.ts @@ -40,7 +40,7 @@ export class Canvas extends CanvasBase { private _2dContext: CanvasRenderingContext2D; private _webglContext: WebGLRenderingContext; private _webgl2Context: WebGL2RenderingContext; - private _webgpuContext: GPUCanvasContext; + private _gpuContext: GPUCanvasContext; private _canvas; private _didPause: boolean = false; @@ -338,10 +338,15 @@ export class Canvas extends CanvasBase { return null; } - if (!this._webgpuContext) { + if (!this._gpuContext) { + this._layoutNative(); + const ptr = navigator.gpu.native.__getPointer(); + this._canvas.initWebGPUContext(long(ptr)); + + this._gpuContext = new (GPUCanvasContext as any)(this._canvas); } - return this._webgpuContext; + return this._gpuContext; } } return null; diff --git a/packages/canvas/WebGPU/GPUCanvasContext.ts b/packages/canvas/WebGPU/GPUCanvasContext.ts index 8ce2a17fc..3e0806430 100644 --- a/packages/canvas/WebGPU/GPUCanvasContext.ts +++ b/packages/canvas/WebGPU/GPUCanvasContext.ts @@ -25,7 +25,7 @@ export class GPUCanvasContext { const ctxPtr = BigInt(nativeContext); this[native_] = global.CanvasModule.createWebGPUContextWithPointer(ctxPtr); this[contextPtr_] = context; - this._type = '2d'; + this._type = 'webgpu'; } get context() { diff --git a/packages/canvas/WebGPU/GPUCommandBuffer.ts b/packages/canvas/WebGPU/GPUCommandBuffer.ts new file mode 100644 index 000000000..54ae3bdb5 --- /dev/null +++ b/packages/canvas/WebGPU/GPUCommandBuffer.ts @@ -0,0 +1,13 @@ +import { native_ } from './Constants'; + +export class GPUCommandBuffer { + [native_]; + static fromNative(commandBuffer) { + if (commandBuffer) { + const ret = new GPUCommandBuffer(); + ret[native_] = commandBuffer; + return ret; + } + return null; + } +} diff --git a/packages/canvas/WebGPU/GPUCommandEncoder.ts b/packages/canvas/WebGPU/GPUCommandEncoder.ts index ccfe9d7ce..eff070aef 100644 --- a/packages/canvas/WebGPU/GPUCommandEncoder.ts +++ b/packages/canvas/WebGPU/GPUCommandEncoder.ts @@ -1 +1,27 @@ -export class GPUCommandEncoder {} \ No newline at end of file +import { native_ } from './Constants'; +import { GPUCommandBuffer } from './GPUCommandBuffer'; +import { GPURenderPassEncoder } from './GPURenderPassEncoder'; + +export class GPUCommandEncoder { + [native_]; + + static fromNative(encoder) { + if (encoder) { + const ret = new GPUCommandEncoder(); + ret[native_] = encoder; + return ret; + } + return null; + } + + beginRenderPass(desc) { + const passEncoder = this[native_].beginRenderPass(desc); + return GPURenderPassEncoder.fromNative(passEncoder); + } + + finish(descriptor?: { label?: string }) { + const ret = this[native_].finish(descriptor); + console.log('finish', ret); + return GPUCommandBuffer.fromNative(ret); + } +} diff --git a/packages/canvas/WebGPU/GPUComputePassEncoder.ts b/packages/canvas/WebGPU/GPUComputePassEncoder.ts index 34fbcf998..5efbf6bdf 100644 --- a/packages/canvas/WebGPU/GPUComputePassEncoder.ts +++ b/packages/canvas/WebGPU/GPUComputePassEncoder.ts @@ -1 +1,5 @@ -export class GPUComputePassEncoder {} \ No newline at end of file +import { native_ } from "./Constants"; + +export class GPUComputePassEncoder { + [native_]; +} \ No newline at end of file diff --git a/packages/canvas/WebGPU/GPUDevice.ts b/packages/canvas/WebGPU/GPUDevice.ts index 31dbc03fd..b7d5ce0ed 100644 --- a/packages/canvas/WebGPU/GPUDevice.ts +++ b/packages/canvas/WebGPU/GPUDevice.ts @@ -3,6 +3,11 @@ import { GPUBuffer } from './GPUBuffer'; import { GPUTexture } from './GPUTexture'; import { native_ } from './Constants'; import { GPUShaderModule } from './GPUShaderModule'; +import { GPUQueue } from './GPUQueue'; +import { GPUPipelineLayout } from './GPUPipelineLayout'; +import { parseVertexFormat } from './Utils'; +import { GPURenderPipeline } from './GPURenderPipeline'; +import { GPUCommandEncoder } from './GPUCommandEncoder'; // Doing so because :D export class EventTarget { @@ -161,4 +166,85 @@ export class GPUDevice extends EventTarget { return undefined; } + + createRenderPipeline(desc) { + const depthStencil = desc['depthStencil']; + if (depthStencil) { + } + const fragment = desc['fragment']; + if (fragment) { + fragment.module = fragment?.module?.[native_]; + console.log(fragment.targets); + } + const layout = desc['layout']; + + if (layout instanceof GPUPipelineLayout) { + desc.layout = layout[native_]; + } + + const multisample = desc['multisample']; + const primitive = desc['primitive']; + + if (primitive) { + switch (primitive.topology) { + case 'point-list': + primitive.topology = 0; + break; + case 'line-list': + primitive.topology = 1; + break; + case 'line-strip': + primitive.topology = 2; + break; + case 'triangle-list': + primitive.topology = 3; + break; + case 'triangle-strip': + primitive.topology = 4; + break; + default: + break; + } + } + + const vertex = desc['vertex']; + desc.vertex.module = vertex?.module?.[native_]; + + const buffers = vertex['buffers']; + if (Array.isArray(buffers)) { + vertex['buffers'] = buffers.map((buffer) => { + buffer.attributes = buffer.attributes.map((attr) => { + attr['format'] = parseVertexFormat(attr['format']); + return attr; + }); + + console.log('is', Array.isArray(buffer.attributes)); + switch (buffer.stepmode) { + case 'vertex': + buffer.stepmode = 0; + break; + case 'instance': + buffer.stepmode = 1; + break; + } + + return buffer; + }); + } + + return GPURenderPipeline.fromNative(this[native_].createRenderPipeline(desc)); + } + + createCommandEncoder(desc) { + const encoder = this.native.createCommandEncoder(desc); + return GPUCommandEncoder.fromNative(encoder); + } + + private _queue; + get queue() { + if (!this._queue) { + this._queue = GPUQueue.fromNative(this[native_].queue); + } + return this._queue; + } } diff --git a/packages/canvas/WebGPU/GPUPipelineLayout.ts b/packages/canvas/WebGPU/GPUPipelineLayout.ts new file mode 100644 index 000000000..b063c3797 --- /dev/null +++ b/packages/canvas/WebGPU/GPUPipelineLayout.ts @@ -0,0 +1,5 @@ +import { native_ } from './Constants'; + +export class GPUPipelineLayout { + [native_]; +} diff --git a/packages/canvas/WebGPU/GPUQueue.ts b/packages/canvas/WebGPU/GPUQueue.ts new file mode 100644 index 000000000..e966ec86a --- /dev/null +++ b/packages/canvas/WebGPU/GPUQueue.ts @@ -0,0 +1,28 @@ +import { native_ } from './Constants'; +import { GPUBuffer } from './GPUBuffer'; +import { GPUCommandBuffer } from './GPUCommandBuffer'; + +export class GPUQueue { + [native_]; + + static fromNative(value) { + if (value) { + const ret = new GPUQueue(); + ret[native_] = value; + return ret; + } + return null; + } + + writeBuffer(buffer: GPUBuffer, bufferOffset: number, data: Uint8Array | Array, dataOffset: number, size?: number) { + if (Array.isArray(data)) { + data = new Uint8Array(data); + } + + this[native_].writeBuffer(buffer?.[native_], bufferOffset ?? 0, data, dataOffset ?? 0, size ?? -1); + } + + submit(commands: GPUCommandBuffer[]) { + console.log('submit', commands); + } +} diff --git a/packages/canvas/WebGPU/GPURenderPassEncoder.ts b/packages/canvas/WebGPU/GPURenderPassEncoder.ts new file mode 100644 index 000000000..d21a97288 --- /dev/null +++ b/packages/canvas/WebGPU/GPURenderPassEncoder.ts @@ -0,0 +1,32 @@ +import { native_ } from './Constants'; +import { GPUBuffer } from './GPUBuffer'; +import { GPURenderPipeline } from './GPURenderPipeline'; + +export class GPURenderPassEncoder { + [native_]; + + static fromNative(pass) { + if (pass) { + const ret = new GPURenderPassEncoder(); + ret[native_] = pass; + return ret; + } + return null; + } + + setPipeline(renderPipeline: GPURenderPipeline) { + this[native_].setPipeline(renderPipeline[native_]); + } + + setVertexBuffer(slot: number, buffer: GPUBuffer, offset?: number, size?: number) { + this[native_].setVertexBuffer(slot, buffer[native_], offset, size); + } + + draw(vertexCount: number, instanceCount: number = 1, firstVertex: number = 0, firstInstance: number = 0) { + this[native_].draw(vertexCount, instanceCount, firstVertex, firstInstance); + } + + end() { + this[native_].end(); + } +} diff --git a/packages/canvas/WebGPU/GPURenderPipeline.ts b/packages/canvas/WebGPU/GPURenderPipeline.ts new file mode 100644 index 000000000..c6ce64bf0 --- /dev/null +++ b/packages/canvas/WebGPU/GPURenderPipeline.ts @@ -0,0 +1,14 @@ +import { native_ } from './Constants'; + +export class GPURenderPipeline { + [native_]; + + static fromNative(pipeline) { + if (pipeline) { + const ret = new GPURenderPipeline(); + ret[native_] = pipeline; + return ret; + } + return null; + } +} diff --git a/packages/canvas/WebGPU/GPUTexture.ts b/packages/canvas/WebGPU/GPUTexture.ts index 7e4d23d2f..36c363fe4 100644 --- a/packages/canvas/WebGPU/GPUTexture.ts +++ b/packages/canvas/WebGPU/GPUTexture.ts @@ -1,4 +1,5 @@ import { native_ } from './Constants'; +import { GPUTextureView } from './GPUTextureView'; export class GPUTexture { [native_]; @@ -35,4 +36,10 @@ export class GPUTexture { } return null; } + + createView(desc?) { + const view = this[native_].createView(desc); + console.log('createView', desc, view); + return GPUTextureView.fromNative(view); + } } diff --git a/packages/canvas/WebGPU/GPUTextureView.ts b/packages/canvas/WebGPU/GPUTextureView.ts index 5faacd9d6..07296221b 100644 --- a/packages/canvas/WebGPU/GPUTextureView.ts +++ b/packages/canvas/WebGPU/GPUTextureView.ts @@ -2,4 +2,13 @@ import { native_ } from './Constants'; export class GPUTextureView { [native_]; + static fromNative(view) { + console.log('GPUTextureView', !!view); + if (view) { + const ret = new GPUTextureView(); + ret[native_] = view; + return ret; + } + return null; + } } diff --git a/packages/canvas/WebGPU/Utils.ts b/packages/canvas/WebGPU/Utils.ts new file mode 100644 index 000000000..8b1d21adc --- /dev/null +++ b/packages/canvas/WebGPU/Utils.ts @@ -0,0 +1,74 @@ +export function parseVertexFormat(value: string) { + switch (value) { + case 'uint8x2': + return 0; + case 'uint8x4': + return 1; + case 'sint8x2': + return 2; + case 'sint8x4': + return 3; + case 'unorm8x2': + return 4; + case 'unorm8x4': + return 5; + case 'snorm8x2': + return 6; + case 'snorm8x4': + return 7; + case 'uint16x2': + return 8; + case 'uint16x4': + return 9; + case 'sint16x2': + return 10; + case 'sint16x4': + return 11; + case 'unorm16x2': + return 12; + case 'unorm16x4': + return 13; + case 'snorm16x2': + return 14; + case 'snorm16x4': + return 15; + case 'float16x2': + return 16; + case 'float16x4': + return 17; + case 'float32': + return 18; + case 'float32x2': + return 19; + case 'float32x3': + return 20; + case 'float32x4': + return 21; + case 'uint32': + return 22; + case 'uint32x2': + return 23; + case 'uint32x3': + return 24; + case 'uint32x4': + return 25; + case 'sint32': + return 26; + case 'sint32x2': + return 27; + case 'sint32x3': + return 28; + case 'sint32x4': + return 29; + case 'float64': + return 30; + case 'float64x2': + return 31; + case 'float64x3': + return 32; + case 'float64x4': + return 33; + case 'unorm10-10-10-2': + return 34; + } +} diff --git a/packages/canvas/platforms/android/canvas-release.aar b/packages/canvas/platforms/android/canvas-release.aar index 87dea962e..27914a349 100644 Binary files a/packages/canvas/platforms/android/canvas-release.aar and b/packages/canvas/platforms/android/canvas-release.aar differ diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative index fd08e2fc3..062b590f4 100755 Binary files a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative and b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative differ diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h index 3dea8b11c..432707706 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h @@ -345,6 +345,7 @@ SWIFT_CLASS_NAMED("CanvasHelpers") + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image sx:(float)sx sy:(float)sy sw:(float)sw sh:(float)sh dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; ++ (int64_t)initWebGPUWithViewLayer:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initWebGPUWithView:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initSharedGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas :(int64_t)shared_context SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h index a0a6d50ff..05b87959f 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h @@ -13,6 +13,13 @@ long long canvas_native_init_ios_webgpu(int64_t instance, uint32_t width, uint32_t height); +#if defined(TARGET_OS_IOS) +long long canvas_native_init_ios_webgpu_uiview(int64_t instance, + int64_t view, + uint32_t width, + uint32_t height); +#endif + long long canvas_native_init_ios_gl(int64_t view, bool alpha, bool antialias, diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h index 278620801..b299e05f8 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h @@ -15,59 +15,59 @@ typedef enum CanvasAstcBlock { /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). */ - B4x4, + CanvasAstcBlockB4x4, /** * 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). */ - B5x4, + CanvasAstcBlockB5x4, /** * 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). */ - B5x5, + CanvasAstcBlockB5x5, /** * 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). */ - B6x5, + CanvasAstcBlockB6x5, /** * 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). */ - B6x6, + CanvasAstcBlockB6x6, /** * 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). */ - B8x5, + CanvasAstcBlockB8x5, /** * 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). */ - B8x6, + CanvasAstcBlockB8x6, /** * 8x8 block compressed texture. 16 bytes per block (2 bit/px). */ - B8x8, + CanvasAstcBlockB8x8, /** * 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). */ - B10x5, + CanvasAstcBlockB10x5, /** * 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). */ - B10x6, + CanvasAstcBlockB10x6, /** * 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). */ - B10x8, + CanvasAstcBlockB10x8, /** * 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). */ - B10x10, + CanvasAstcBlockB10x10, /** * 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). */ - B12x10, + CanvasAstcBlockB12x10, /** * 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). */ - B12x12, + CanvasAstcBlockB12x12, } CanvasAstcBlock; /** @@ -79,86 +79,299 @@ typedef enum CanvasAstcChannel { * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - Unorm, + CanvasAstcChannelUnorm, /** * 8 bit integer RGBA, Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - UnormSrgb, + CanvasAstcChannelUnormSrgb, /** * floating-point RGBA, linear-color float can be outside of the [0, 1] range. * * [`Features::TEXTURE_COMPRESSION_ASTC_HDR`] must be enabled to use this channel. */ - Hdr, + CanvasAstcChannelHdr, } CanvasAstcChannel; +typedef enum CanvasBlendFactor { + /** + * 0.0 + */ + CanvasBlendFactorZero = 0, + /** + * 1.0 + */ + CanvasBlendFactorOne = 1, + /** + * S.component + */ + CanvasBlendFactorSrc = 2, + /** + * 1.0 - S.component + */ + CanvasBlendFactorOneMinusSrc = 3, + /** + * S.alpha + */ + CanvasBlendFactorSrcAlpha = 4, + /** + * 1.0 - S.alpha + */ + CanvasBlendFactorOneMinusSrcAlpha = 5, + /** + * D.component + */ + CanvasBlendFactorDst = 6, + /** + * 1.0 - D.component + */ + CanvasBlendFactorOneMinusDst = 7, + /** + * D.alpha + */ + CanvasBlendFactorDstAlpha = 8, + /** + * 1.0 - D.alpha + */ + CanvasBlendFactorOneMinusDstAlpha = 9, + /** + * min(S.alpha, 1.0 - D.alpha) + */ + CanvasBlendFactorSrcAlphaSaturated = 10, + /** + * Constant + */ + CanvasBlendFactorConstant = 11, + /** + * 1.0 - Constant + */ + CanvasBlendFactorOneMinusConstant = 12, + /** + * S1.component + */ + CanvasBlendFactorSrc1 = 13, + /** + * 1.0 - S1.component + */ + CanvasBlendFactorOneMinusSrc1 = 14, + /** + * S1.alpha + */ + CanvasBlendFactorSrc1Alpha = 15, + /** + * 1.0 - S1.alpha + */ + CanvasBlendFactorOneMinusSrc1Alpha = 16, +} CanvasBlendFactor; + +typedef enum CanvasBlendOperation { + /** + * Src + Dst + */ + CanvasBlendOperationAdd = 0, + /** + * Src - Dst + */ + CanvasBlendOperationSubtract = 1, + /** + * Dst - Src + */ + CanvasBlendOperationReverseSubtract = 2, + /** + * min(Src, Dst) + */ + CanvasBlendOperationMin = 3, + /** + * max(Src, Dst) + */ + CanvasBlendOperationMax = 4, +} CanvasBlendOperation; + +typedef enum CanvasCompareFunction { + CanvasCompareFunctionNever = 1, + CanvasCompareFunctionLess = 2, + CanvasCompareFunctionEqual = 3, + CanvasCompareFunctionLessEqual = 4, + CanvasCompareFunctionGreater = 5, + CanvasCompareFunctionNotEqual = 6, + CanvasCompareFunctionGreaterEqual = 7, + CanvasCompareFunctionAlways = 8, +} CanvasCompareFunction; + +typedef enum CanvasCullMode { + CanvasCullModeNone, + CanvasCullModeFront, + CanvasCullModeBack, +} CanvasCullMode; + +typedef enum CanvasFrontFace { + CanvasFrontFaceCcw = 0, + CanvasFrontFaceCw = 1, +} CanvasFrontFace; + +typedef enum CanvasGPUAutoLayoutMode { + CanvasGPUAutoLayoutModeAuto, +} CanvasGPUAutoLayoutMode; + typedef enum CanvasGPUPowerPreference { - None, - LowPower, - HighPerformance, + CanvasGPUPowerPreferenceNone, + CanvasGPUPowerPreferenceLowPower, + CanvasGPUPowerPreferenceHighPerformance, } CanvasGPUPowerPreference; typedef enum CanvasGPUPresentMode { - AutoVsync = 0, - AutoNoVsync = 1, - Fifo = 2, - FifoRelaxed = 3, - Immediate = 4, - Mailbox = 5, + CanvasGPUPresentModeAutoVsync = 0, + CanvasGPUPresentModeAutoNoVsync = 1, + CanvasGPUPresentModeFifo = 2, + CanvasGPUPresentModeFifoRelaxed = 3, + CanvasGPUPresentModeImmediate = 4, + CanvasGPUPresentModeMailbox = 5, } CanvasGPUPresentMode; typedef enum CanvasGPUSurfaceAlphaMode { - Auto = 0, - Opaque = 1, - PreMultiplied = 2, - PostMultiplied = 3, - Inherit = 4, + CanvasGPUSurfaceAlphaModeAuto = 0, + CanvasGPUSurfaceAlphaModeOpaque = 1, + CanvasGPUSurfaceAlphaModePreMultiplied = 2, + CanvasGPUSurfaceAlphaModePostMultiplied = 3, + CanvasGPUSurfaceAlphaModeInherit = 4, } CanvasGPUSurfaceAlphaMode; +typedef enum CanvasIndexFormat { + /** + * Indices are 16 bit unsigned integers. + */ + CanvasIndexFormatUint16 = 0, + /** + * Indices are 32 bit unsigned integers. + */ + CanvasIndexFormatUint32 = 1, +} CanvasIndexFormat; + +typedef enum CanvasLoadOp { + CanvasLoadOpClear = 0, + CanvasLoadOpLoad = 1, +} CanvasLoadOp; + +typedef enum CanvasOptionalTextureViewDimension { + CanvasOptionalTextureViewDimensionNone, + CanvasOptionalTextureViewDimensionD1, + CanvasOptionalTextureViewDimensionD2, + CanvasOptionalTextureViewDimensionD2Array, + CanvasOptionalTextureViewDimensionCube, + CanvasOptionalTextureViewDimensionCubeArray, + CanvasOptionalTextureViewDimensionD3, +} CanvasOptionalTextureViewDimension; + +typedef enum CanvasPrimitiveTopology { + CanvasPrimitiveTopologyPointList = 0, + CanvasPrimitiveTopologyLineList = 1, + CanvasPrimitiveTopologyLineStrip = 2, + CanvasPrimitiveTopologyTriangleList = 3, + CanvasPrimitiveTopologyTriangleStrip = 4, +} CanvasPrimitiveTopology; + +typedef enum CanvasStencilOperation { + CanvasStencilOperationKeep = 0, + CanvasStencilOperationZero = 1, + CanvasStencilOperationReplace = 2, + CanvasStencilOperationInvert = 3, + CanvasStencilOperationIncrementClamp = 4, + CanvasStencilOperationDecrementClamp = 5, + CanvasStencilOperationIncrementWrap = 6, + CanvasStencilOperationDecrementWrap = 7, +} CanvasStencilOperation; + +typedef enum CanvasStoreOp { + CanvasStoreOpDiscard = 0, + CanvasStoreOpStore = 1, +} CanvasStoreOp; + typedef enum CanvasTextureAspect { /** * Depth, Stencil, and Color. */ - All, + CanvasTextureAspectAll, /** * Stencil. */ - StencilOnly, + CanvasTextureAspectStencilOnly, /** * Depth. */ - DepthOnly, + CanvasTextureAspectDepthOnly, /** * Plane 0. */ - Plane0, + CanvasTextureAspectPlane0, /** * Plane 1. */ - Plane1, + CanvasTextureAspectPlane1, /** * Plane 2. */ - Plane2, + CanvasTextureAspectPlane2, } CanvasTextureAspect; typedef enum CanvasTextureDimension { - D1, - D2, - D3, + CanvasTextureDimensionD1, + CanvasTextureDimensionD2, + CanvasTextureDimensionD3, } CanvasTextureDimension; +typedef enum CanvasVertexFormat { + CanvasVertexFormatUint8x2 = 0, + CanvasVertexFormatUint8x4 = 1, + CanvasVertexFormatSint8x2 = 2, + CanvasVertexFormatSint8x4 = 3, + CanvasVertexFormatUnorm8x2 = 4, + CanvasVertexFormatUnorm8x4 = 5, + CanvasVertexFormatSnorm8x2 = 6, + CanvasVertexFormatSnorm8x4 = 7, + CanvasVertexFormatUint16x2 = 8, + CanvasVertexFormatUint16x4 = 9, + CanvasVertexFormatSint16x2 = 10, + CanvasVertexFormatSint16x4 = 11, + CanvasVertexFormatUnorm16x2 = 12, + CanvasVertexFormatUnorm16x4 = 13, + CanvasVertexFormatSnorm16x2 = 14, + CanvasVertexFormatSnorm16x4 = 15, + CanvasVertexFormatFloat16x2 = 16, + CanvasVertexFormatFloat16x4 = 17, + CanvasVertexFormatFloat32 = 18, + CanvasVertexFormatFloat32x2 = 19, + CanvasVertexFormatFloat32x3 = 20, + CanvasVertexFormatFloat32x4 = 21, + CanvasVertexFormatUint32 = 22, + CanvasVertexFormatUint32x2 = 23, + CanvasVertexFormatUint32x3 = 24, + CanvasVertexFormatUint32x4 = 25, + CanvasVertexFormatSint32 = 26, + CanvasVertexFormatSint32x2 = 27, + CanvasVertexFormatSint32x3 = 28, + CanvasVertexFormatSint32x4 = 29, + CanvasVertexFormatFloat64 = 30, + CanvasVertexFormatFloat64x2 = 31, + CanvasVertexFormatFloat64x3 = 32, + CanvasVertexFormatFloat64x4 = 33, + CanvasVertexFormatUnorm10_10_10_2 = 34, +} CanvasVertexFormat; + +typedef enum CanvasVertexStepMode { + CanvasVertexStepModeVertex = 0, + CanvasVertexStepModeInstance = 1, +} CanvasVertexStepMode; + typedef enum GLConstants { - UNPACK_FLIP_Y_WEBGL = 37440, - UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441, - UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443, + GLConstantsUnPackFlipYWebGL = 37440, + GLConstantsUnpackPremultiplyAlphaWebGL = 37441, + GLConstantsUnpackColorSpaceConversionWebGL = 37443, } GLConstants; typedef enum GPUMapMode { - Read, - Write, + GPUMapModeRead, + GPUMapModeWrite, } GPUMapMode; typedef enum ImageBitmapColorSpaceConversion { @@ -169,7 +382,7 @@ typedef enum ImageBitmapColorSpaceConversion { typedef enum ImageBitmapPremultiplyAlpha { ImageBitmapPremultiplyAlphaDefault, ImageBitmapPremultiplyAlphaPremultiply, - ImageBitmapPremultiplyAlphaNone, + ImageBitmapPremultiplyAlphaAlphaNone, } ImageBitmapPremultiplyAlpha; typedef enum ImageBitmapResizeQuality { @@ -193,41 +406,41 @@ typedef enum PaintStyleType { } PaintStyleType; typedef enum TextBaseLine { - TOP = 0, - HANGING = 1, - MIDDLE = 2, - ALPHABETIC = 3, - IDEOGRAPHIC = 4, - BOTTOM = 5, + TextBaseLineTOP = 0, + TextBaseLineHANGING = 1, + TextBaseLineMIDDLE = 2, + TextBaseLineALPHABETIC = 3, + TextBaseLineIDEOGRAPHIC = 4, + TextBaseLineBOTTOM = 5, } TextBaseLine; typedef enum WebGLExtensionType { - WebGLExtensionTypeEXT_blend_minmax, - WebGLExtensionTypeEXT_color_buffer_half_float, - WebGLExtensionTypeEXT_disjoint_timer_query, - WebGLExtensionTypeEXT_sRGB, - WebGLExtensionTypeEXT_shader_texture_lod, - WebGLExtensionTypeEXT_texture_filter_anisotropic, - WebGLExtensionTypeOES_element_index_uint, - WebGLExtensionTypeOES_standard_derivatives, - WebGLExtensionTypeOES_texture_float, - WebGLExtensionTypeOES_texture_float_linear, - WebGLExtensionTypeOES_texture_half_float, - WebGLExtensionTypeOES_texture_half_float_linear, - WebGLExtensionTypeOES_vertex_array_object, - WebGLExtensionTypeWEBGL_color_buffer_float, - WebGLExtensionTypeWEBGL_compressed_texture_atc, - WebGLExtensionTypeWEBGL_compressed_texture_etc1, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, - WebGLExtensionTypeWEBGL_compressed_texture_etc, - WebGLExtensionTypeWEBGL_compressed_texture_pvrtc, - WebGLExtensionTypeWEBGL_lose_context, - WebGLExtensionTypeANGLE_instanced_arrays, - WebGLExtensionTypeWEBGL_depth_texture, - WebGLExtensionTypeWEBGL_draw_buffers, - WebGLExtensionTypeOES_fbo_render_mipmap, - WebGLExtensionTypeNone, + WebGLExtensionTypeWebGLExtensionTypeEXT_blend_minmax, + WebGLExtensionTypeWebGLExtensionTypeEXT_color_buffer_half_float, + WebGLExtensionTypeWebGLExtensionTypeEXT_disjoint_timer_query, + WebGLExtensionTypeWebGLExtensionTypeEXT_sRGB, + WebGLExtensionTypeWebGLExtensionTypeEXT_shader_texture_lod, + WebGLExtensionTypeWebGLExtensionTypeEXT_texture_filter_anisotropic, + WebGLExtensionTypeWebGLExtensionTypeOES_element_index_uint, + WebGLExtensionTypeWebGLExtensionTypeOES_standard_derivatives, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_vertex_array_object, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_color_buffer_float, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_atc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc1, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_pvrtc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_lose_context, + WebGLExtensionTypeWebGLExtensionTypeANGLE_instanced_arrays, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_depth_texture, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_draw_buffers, + WebGLExtensionTypeWebGLExtensionTypeOES_fbo_render_mipmap, + WebGLExtensionTypeWebGLExtensionTypeNone, } WebGLExtensionType; typedef enum WebGLResultType { @@ -247,10 +460,16 @@ typedef struct ANGLE_instanced_arrays ANGLE_instanced_arrays; typedef struct CCow CCow; +typedef struct CanvasConstants CanvasConstants; + typedef struct CanvasGPUAdapter CanvasGPUAdapter; typedef struct CanvasGPUAdapterInfo CanvasGPUAdapterInfo; +typedef struct CanvasGPUBindGroup CanvasGPUBindGroup; + +typedef struct CanvasGPUBindGroupLayout CanvasGPUBindGroupLayout; + typedef struct CanvasGPUBuffer CanvasGPUBuffer; typedef struct CanvasGPUCanvasContext CanvasGPUCanvasContext; @@ -263,14 +482,28 @@ typedef struct CanvasGPUComputePass CanvasGPUComputePass; typedef struct CanvasGPUDevice CanvasGPUDevice; +typedef struct CanvasGPUPipelineLayout CanvasGPUPipelineLayout; + typedef struct CanvasGPUQuerySet CanvasGPUQuerySet; typedef struct CanvasGPUQueue CanvasGPUQueue; +typedef struct CanvasGPURenderBundle CanvasGPURenderBundle; + +typedef struct CanvasGPURenderPass CanvasGPURenderPass; + +typedef struct CanvasGPURenderPipeline CanvasGPURenderPipeline; + typedef struct CanvasGPUShaderModule CanvasGPUShaderModule; typedef struct CanvasGPUTexture CanvasGPUTexture; +typedef struct CanvasGPUTextureView CanvasGPUTextureView; + +typedef struct CanvasImageDataLayout CanvasImageDataLayout; + +typedef struct CanvasRenderPassDepthStencilAttachment CanvasRenderPassDepthStencilAttachment; + typedef struct CanvasRenderingContext2D CanvasRenderingContext2D; typedef struct CanvasWebGPUInstance CanvasWebGPUInstance; @@ -423,6 +656,32 @@ typedef struct CanvasGPUSupportedLimits { uint32_t max_non_sampler_bindings; } CanvasGPUSupportedLimits; +typedef struct CanvasColor { + double r; + double g; + double b; + double a; +} CanvasColor; +#define CanvasColor_TRANSPARENT (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 0.0 } +#define CanvasColor_BLACK (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_WHITE (CanvasColor){ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 } +#define CanvasColor_RED (CanvasColor){ .r = 1.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_GREEN (CanvasColor){ .r = 0.0, .g = 1.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_BLUE (CanvasColor){ .r = 0.0, .g = 0.0, .b = 1.0, .a = 1.0 } + +typedef struct CanvasPassChannelColor { + enum CanvasLoadOp load_op; + enum CanvasStoreOp store_op; + struct CanvasColor clear_value; + bool read_only; +} CanvasPassChannelColor; + +typedef struct CanvasRenderPassColorAttachment { + const struct CanvasGPUTextureView *view; + const struct CanvasGPUTextureView *resolve_target; + struct CanvasPassChannelColor channel; +} CanvasRenderPassColorAttachment; + typedef struct CanvasImageCopyBuffer { const struct CanvasGPUBuffer *buffer; uint64_t offset; @@ -467,217 +726,277 @@ typedef struct CanvasExtent3d { uint32_t depth_or_array_layers; } CanvasExtent3d; +typedef enum CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag { + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeLayout, + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeAuto, +} CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag; + +typedef struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode { + CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag tag; + union { + struct { + const struct CanvasGPUPipelineLayout *layout; + }; + struct { + enum CanvasGPUAutoLayoutMode auto_; + }; + }; +} CanvasGPUPipelineLayoutOrGPUAutoLayoutMode; + +typedef struct CanvasVertexAttribute { + enum CanvasVertexFormat format; + uint64_t offset; + uint32_t shader_location; +} CanvasVertexAttribute; + +typedef struct CanvasVertexBufferLayout { + uint64_t array_stride; + enum CanvasVertexStepMode step_mode; + const struct CanvasVertexAttribute *attributes; + uintptr_t attributes_size; +} CanvasVertexBufferLayout; + +typedef struct CanvasVertexState { + const struct CanvasGPUShaderModule *module; + const char *entry_point; + const struct CanvasConstants *constants; + const struct CanvasVertexBufferLayout *buffers; + uintptr_t buffers_size; +} CanvasVertexState; + +typedef enum CanvasOptionalIndexFormat_Tag { + CanvasOptionalIndexFormatNone, + CanvasOptionalIndexFormatSome, +} CanvasOptionalIndexFormat_Tag; + +typedef struct CanvasOptionalIndexFormat { + CanvasOptionalIndexFormat_Tag tag; + union { + struct { + enum CanvasIndexFormat some; + }; + }; +} CanvasOptionalIndexFormat; + +typedef struct CanvasPrimitiveState { + enum CanvasPrimitiveTopology topology; + struct CanvasOptionalIndexFormat strip_index_format; + enum CanvasFrontFace front_face; + enum CanvasCullMode cull_mode; + bool unclipped_depth; +} CanvasPrimitiveState; + typedef enum CanvasGPUTextureFormat_Tag { /** * Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - R8Unorm, + CanvasGPUTextureFormatR8Unorm, /** * Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - R8Snorm, + CanvasGPUTextureFormatR8Snorm, /** * Red channel only. 8 bit integer per channel. Unsigned in shader. */ - R8Uint, + CanvasGPUTextureFormatR8Uint, /** * Red channel only. 8 bit integer per channel. Signed in shader. */ - R8Sint, + CanvasGPUTextureFormatR8Sint, /** * Red channel only. 16 bit integer per channel. Unsigned in shader. */ - R16Uint, + CanvasGPUTextureFormatR16Uint, /** * Red channel only. 16 bit integer per channel. Signed in shader. */ - R16Sint, + CanvasGPUTextureFormatR16Sint, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Unorm, + CanvasGPUTextureFormatR16Unorm, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Snorm, + CanvasGPUTextureFormatR16Snorm, /** * Red channel only. 16 bit float per channel. Float in shader. */ - R16Float, + CanvasGPUTextureFormatR16Float, /** * Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rg8Unorm, + CanvasGPUTextureFormatRg8Unorm, /** * Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rg8Snorm, + CanvasGPUTextureFormatRg8Snorm, /** * Red and green channels. 8 bit integer per channel. Unsigned in shader. */ - Rg8Uint, + CanvasGPUTextureFormatRg8Uint, /** * Red and green channels. 8 bit integer per channel. Signed in shader. */ - Rg8Sint, + CanvasGPUTextureFormatRg8Sint, /** * Red channel only. 32 bit integer per channel. Unsigned in shader. */ - R32Uint, + CanvasGPUTextureFormatR32Uint, /** * Red channel only. 32 bit integer per channel. Signed in shader. */ - R32Sint, + CanvasGPUTextureFormatR32Sint, /** * Red channel only. 32 bit float per channel. Float in shader. */ - R32Float, + CanvasGPUTextureFormatR32Float, /** * Red and green channels. 16 bit integer per channel. Unsigned in shader. */ - Rg16Uint, + CanvasGPUTextureFormatRg16Uint, /** * Red and green channels. 16 bit integer per channel. Signed in shader. */ - Rg16Sint, + CanvasGPUTextureFormatRg16Sint, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Unorm, + CanvasGPUTextureFormatRg16Unorm, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Snorm, + CanvasGPUTextureFormatRg16Snorm, /** * Red and green channels. 16 bit float per channel. Float in shader. */ - Rg16Float, + CanvasGPUTextureFormatRg16Float, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rgba8Unorm, + CanvasGPUTextureFormatRgba8Unorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Rgba8UnormSrgb, + CanvasGPUTextureFormatRgba8UnormSrgb, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rgba8Snorm, + CanvasGPUTextureFormatRgba8Snorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader. */ - Rgba8Uint, + CanvasGPUTextureFormatRgba8Uint, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader. */ - Rgba8Sint, + CanvasGPUTextureFormatRgba8Sint, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Bgra8Unorm, + CanvasGPUTextureFormatBgra8Unorm, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Bgra8UnormSrgb, + CanvasGPUTextureFormatBgra8UnormSrgb, /** * Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent */ - Rgb9e5Ufloat, + CanvasGPUTextureFormatRgb9e5Ufloat, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. Unsigned in shader. */ - Rgb10a2Uint, + CanvasGPUTextureFormatRgb10a2Uint, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha) converted to/from float [0, 1] in shader. */ - Rgb10a2Unorm, + CanvasGPUTextureFormatRgb10a2Unorm, /** * Red, green, and blue channels. 11 bit float with no sign bit for RG channels. 10 bit float with no sign bit for blue channel. Float in shader. */ - Rg11b10Float, + CanvasGPUTextureFormatRg11b10Float, /** * Red and green channels. 32 bit integer per channel. Unsigned in shader. */ - Rg32Uint, + CanvasGPUTextureFormatRg32Uint, /** * Red and green channels. 32 bit integer per channel. Signed in shader. */ - Rg32Sint, + CanvasGPUTextureFormatRg32Sint, /** * Red and green channels. 32 bit float per channel. Float in shader. */ - Rg32Float, + CanvasGPUTextureFormatRg32Float, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader. */ - Rgba16Uint, + CanvasGPUTextureFormatRgba16Uint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader. */ - Rgba16Sint, + CanvasGPUTextureFormatRgba16Sint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Unorm, + CanvasGPUTextureFormatRgba16Unorm, /** * Red, green, blue, and alpha. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Snorm, + CanvasGPUTextureFormatRgba16Snorm, /** * Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader. */ - Rgba16Float, + CanvasGPUTextureFormatRgba16Float, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader. */ - Rgba32Uint, + CanvasGPUTextureFormatRgba32Uint, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader. */ - Rgba32Sint, + CanvasGPUTextureFormatRgba32Sint, /** * Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader. */ - Rgba32Float, + CanvasGPUTextureFormatRgba32Float, /** * Stencil format with 8 bit integer stencil. */ - Stencil8, + CanvasGPUTextureFormatStencil8, /** * Special depth format with 16 bit integer depth. */ - Depth16Unorm, + CanvasGPUTextureFormatDepth16Unorm, /** * Special depth format with at least 24 bit integer depth. */ - Depth24Plus, + CanvasGPUTextureFormatDepth24Plus, /** * Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil. */ - Depth24PlusStencil8, + CanvasGPUTextureFormatDepth24PlusStencil8, /** * Special depth format with 32 bit floating point depth. */ - Depth32Float, + CanvasGPUTextureFormatDepth32Float, /** * Special depth/stencil format with 32 bit floating point depth and 8 bits integer stencil. * * [`Features::DEPTH32FLOAT_STENCIL8`] must be enabled to use this texture format. */ - Depth32FloatStencil8, + CanvasGPUTextureFormatDepth32FloatStencil8, /** * YUV 4:2:0 chroma subsampled format. * @@ -693,7 +1012,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_FORMAT_NV12`] must be enabled to use this texture format. */ - NV12, + CanvasGPUTextureFormatNV12, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * [0, 63] ([0, 1] for alpha) converted to/from float [0, 1] in shader. @@ -702,7 +1021,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnorm, + CanvasGPUTextureFormatBc1RgbaUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * Srgb-color [0, 63] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -711,7 +1030,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnormSrgb, + CanvasGPUTextureFormatBc1RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * [0, 63] ([0, 15] for alpha) converted to/from float [0, 1] in shader. @@ -720,7 +1039,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnorm, + CanvasGPUTextureFormatBc2RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -729,7 +1048,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnormSrgb, + CanvasGPUTextureFormatBc2RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * [0, 63] ([0, 255] for alpha) converted to/from float [0, 1] in shader. @@ -738,7 +1057,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnorm, + CanvasGPUTextureFormatBc3RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -747,7 +1066,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnormSrgb, + CanvasGPUTextureFormatBc3RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [0, 255] converted to/from float [0, 1] in shader. @@ -756,7 +1075,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RUnorm, + CanvasGPUTextureFormatBc4RUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -765,7 +1084,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RSnorm, + CanvasGPUTextureFormatBc4RSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [0, 255] converted to/from float [0, 1] in shader. @@ -774,7 +1093,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgUnorm, + CanvasGPUTextureFormatBc5RgUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -783,7 +1102,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgSnorm, + CanvasGPUTextureFormatBc5RgSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit unsigned float RGB. Float in shader. * @@ -791,7 +1110,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbUfloat, + CanvasGPUTextureFormatBc6hRgbUfloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit signed float RGB. Float in shader. * @@ -799,7 +1118,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbFloat, + CanvasGPUTextureFormatBc6hRgbFloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * [0, 255] converted to/from float [0, 1] in shader. @@ -808,7 +1127,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnorm, + CanvasGPUTextureFormatBc7RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. @@ -817,77 +1136,77 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnormSrgb, + CanvasGPUTextureFormatBc7RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8Unorm, + CanvasGPUTextureFormatEtc2Rgb8Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * [0, 255] ([0, 1] for alpha) converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1Unorm, + CanvasGPUTextureFormatEtc2Rgb8A1Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * Srgb-color [0, 255] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8A1UnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8Unorm, + CanvasGPUTextureFormatEtc2Rgba8Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgba8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Unorm, + CanvasGPUTextureFormatEacR11Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Snorm, + CanvasGPUTextureFormatEacR11Snorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Unorm, + CanvasGPUTextureFormatEacRg11Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Snorm, + CanvasGPUTextureFormatEacRg11Snorm, /** * block compressed texture. 16 bytes per block. * @@ -897,10 +1216,10 @@ typedef enum CanvasGPUTextureFormat_Tag { * [`TEXTURE_COMPRESSION_ASTC`]: Features::TEXTURE_COMPRESSION_ASTC * [`TEXTURE_COMPRESSION_ASTC_HDR`]: Features::TEXTURE_COMPRESSION_ASTC_HDR */ - Astc, + CanvasGPUTextureFormatAstc, } CanvasGPUTextureFormat_Tag; -typedef struct Astc_Body { +typedef struct CanvasGPUTextureFormatAstc_Body { /** * compressed block dimensions */ @@ -909,15 +1228,120 @@ typedef struct Astc_Body { * ASTC RGBA channel */ enum CanvasAstcChannel channel; -} Astc_Body; +} CanvasGPUTextureFormatAstc_Body; typedef struct CanvasGPUTextureFormat { CanvasGPUTextureFormat_Tag tag; union { - Astc_Body astc; + CanvasGPUTextureFormatAstc_Body astc; }; } CanvasGPUTextureFormat; +typedef struct CanvasStencilFaceState { + enum CanvasCompareFunction compare; + enum CanvasStencilOperation fail_op; + enum CanvasStencilOperation depth_fail_op; + enum CanvasStencilOperation pass_op; +} CanvasStencilFaceState; +/** + * Ignore the stencil state for the face. + */ +#define CanvasStencilFaceState_IGNORE (CanvasStencilFaceState){ .compare = CanvasCompareFunction_Always, .fail_op = CanvasStencilOperation_Keep, .depth_fail_op = CanvasStencilOperation_Keep, .pass_op = CanvasStencilOperation_Keep } + +typedef struct CanvasDepthStencilState { + struct CanvasGPUTextureFormat format; + bool depth_write_enabled; + enum CanvasCompareFunction depth_compare; + struct CanvasStencilFaceState stencil_front; + struct CanvasStencilFaceState stencil_back; + uint32_t stencil_read_mask; + uint32_t stencil_write_mask; + int32_t depth_bias; + float depth_bias_slope_scale; + float depth_bias_clamp; +} CanvasDepthStencilState; + +typedef struct CanvasMultisampleState { + uint32_t count; + uint64_t mask; + bool alpha_to_coverage_enabled; +} CanvasMultisampleState; + +typedef struct CanvasBlendComponent { + enum CanvasBlendFactor src_factor; + enum CanvasBlendFactor dst_factor; + enum CanvasBlendOperation operation; +} CanvasBlendComponent; +/** + * Default blending state that replaces destination with the source. + */ +#define CanvasBlendComponent_REPLACE (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_One, .dst_factor = CanvasBlendFactor_Zero, .operation = CanvasBlendOperation_Add } +/** + * Blend state of (1 * src) + ((1 - src_alpha) * dst) + */ +#define CanvasBlendComponent_OVER (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_One, .dst_factor = CanvasBlendFactor_OneMinusSrcAlpha, .operation = CanvasBlendOperation_Add } + +typedef struct CanvasBlendState { + /** + * Color equation. + */ + struct CanvasBlendComponent color; + /** + * Alpha equation. + */ + struct CanvasBlendComponent alpha; +} CanvasBlendState; +/** + * Blend mode that does no color blending, just overwrites the output with the contents of the shader. + */ +#define CanvasBlendState_REPLACE (CanvasBlendState){ .color = CanvasBlendComponent_REPLACE, .alpha = CanvasBlendComponent_REPLACE } +/** + * Blend mode that does standard alpha blending with non-premultiplied alpha. + */ +#define CanvasBlendState_ALPHA_BLENDING (CanvasBlendState){ .color = (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_SrcAlpha, .dst_factor = CanvasBlendFactor_OneMinusSrcAlpha, .operation = CanvasBlendOperation_Add }, .alpha = CanvasBlendComponent_OVER } +/** + * Blend mode that does standard alpha blending with premultiplied alpha. + */ +#define CanvasBlendState_PREMULTIPLIED_ALPHA_BLENDING (CanvasBlendState){ .color = CanvasBlendComponent_OVER, .alpha = CanvasBlendComponent_OVER } + +typedef enum CanvasOptionalBlendState_Tag { + CanvasOptionalBlendStateNone, + CanvasOptionalBlendStateSome, +} CanvasOptionalBlendState_Tag; + +typedef struct CanvasOptionalBlendState { + CanvasOptionalBlendState_Tag tag; + union { + struct { + struct CanvasBlendState some; + }; + }; +} CanvasOptionalBlendState; + +typedef struct CanvasColorTargetState { + struct CanvasGPUTextureFormat format; + struct CanvasOptionalBlendState blend; + uint32_t write_mask; +} CanvasColorTargetState; + +typedef struct CanvasFragmentState { + const struct CanvasColorTargetState *targets; + uintptr_t targets_size; + const struct CanvasGPUShaderModule *module; + const char *entry_point; + const struct CanvasConstants *constants; +} CanvasFragmentState; + +typedef struct CanvasCreateRenderPipelineDescriptor { + const char *label; + struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode layout; + const struct CanvasVertexState *vertex; + const struct CanvasPrimitiveState *primitive; + const struct CanvasDepthStencilState *depth_stencil; + const struct CanvasMultisampleState *multisample; + const struct CanvasFragmentState *fragment; +} CanvasCreateRenderPipelineDescriptor; + typedef struct CanvasCreateTextureDescriptor { const char *label; enum CanvasTextureDimension dimension; @@ -932,6 +1356,43 @@ typedef struct CanvasCreateTextureDescriptor { uintptr_t view_formats_size; } CanvasCreateTextureDescriptor; +typedef struct CanvasOrigin2d { + /** + * + */ + uint32_t x; + /** + * + */ + uint32_t y; +} CanvasOrigin2d; + +typedef struct CanvasImageCopyExternalImage { + /** + * The texture to be copied from. The copy source data is captured at the moment + * the copy is issued. + */ + const uint8_t *source; + uintptr_t source_size; + /** + * The base texel used for copying from the external image. Together + * with the `copy_size` argument to copy functions, defines the + * sub-region of the image to copy. + * + * Relative to the top left of the image. + * + * Must be [`Origin2d::ZERO`] if [`DownlevelFlags::UNRESTRICTED_EXTERNAL_TEXTURE_COPIES`] is not supported. + */ + struct CanvasOrigin2d origin; + /** + * If the Y coordinate of the image should be flipped. Even if this is + * true, `origin` is still relative to the top left. + */ + bool flip_y; + uint32_t width; + uint32_t height; +} CanvasImageCopyExternalImage; + typedef struct CanvasGPUSurfaceConfiguration { enum CanvasGPUSurfaceAlphaMode alphaMode; uint32_t usage; @@ -940,6 +1401,50 @@ typedef struct CanvasGPUSurfaceConfiguration { uintptr_t view_formats_size; } CanvasGPUSurfaceConfiguration; +typedef enum CanvasOptionalGPUTextureFormat_Tag { + CanvasOptionalGPUTextureFormatNone, + CanvasOptionalGPUTextureFormatSome, +} CanvasOptionalGPUTextureFormat_Tag; + +typedef struct CanvasOptionalGPUTextureFormat { + CanvasOptionalGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionalGPUTextureFormat; + +typedef enum CanvasOptionsGPUTextureFormat_Tag { + CanvasOptionsGPUTextureFormatNone, + CanvasOptionsGPUTextureFormatSome, +} CanvasOptionsGPUTextureFormat_Tag; + +typedef struct CanvasOptionsGPUTextureFormat { + CanvasOptionsGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionsGPUTextureFormat; + +typedef struct CanvasImageSubresourceRange { + enum CanvasTextureAspect aspect; + uint32_t base_mip_level; + int32_t mip_level_count; + uint32_t base_array_layer; + int32_t array_layer_count; +} CanvasImageSubresourceRange; + +typedef struct CanvasCreateTextureViewDescriptor { + const struct CanvasGPUTexture *texture; + const char *label; + struct CanvasOptionsGPUTextureFormat format; + enum CanvasOptionalTextureViewDimension dimension; + const struct CanvasImageSubresourceRange *range; +} CanvasCreateTextureViewDescriptor; + void canvas_native_image_filter_destroy(struct ImageFilter *value); void canvas_native_font_add_family(const char *alias, @@ -3642,6 +4147,16 @@ struct CanvasGPUComputePass *canvas_native_webgpu_command_encoder_begin_compute_ int32_t beginning_of_pass_write_index, int32_t end_of_pass_write_index); +struct CanvasGPURenderPass *canvas_native_webgpu_command_encoder_begin_render_pass(struct CanvasGPUCommandEncoder *command_encoder, + const char *label, + const struct CanvasRenderPassColorAttachment *color_attachments, + uintptr_t color_attachments_size, + const struct CanvasRenderPassDepthStencilAttachment *depth_stencil_attachment, + const struct CanvasGPUQuerySet *occlusion_query_set, + const struct CanvasGPUQuerySet *query_set, + int32_t beginning_of_pass_write_index, + int32_t end_of_pass_write_index); + void canvas_native_webgpu_command_encoder_clear_buffer(struct CanvasGPUCommandEncoder *command_encoder, const struct CanvasGPUBuffer *buffer, int64_t offset, @@ -3716,18 +4231,163 @@ struct CanvasGPUBuffer *canvas_native_webgpu_device_create_buffer(const struct C bool mapped_at_creation, char *error); +struct CanvasConstants *canvas_native_webgpu_constants_create(void); + +void canvas_native_webgpu_constants_insert(struct CanvasConstants *constants, + const char *key, + double value); + +void canvas_native_webgpu_constants_destroy(struct CanvasConstants *constants); + +struct CanvasGPURenderPipeline *canvas_native_webgpu_device_create_render_pipeline(const struct CanvasGPUDevice *device, + const struct CanvasCreateRenderPipelineDescriptor *descriptor); + struct CanvasGPUTexture *canvas_native_webgpu_device_create_texture(const struct CanvasGPUDevice *device, const struct CanvasCreateTextureDescriptor *descriptor, char *error); +void canvas_native_webgpu_queue_copy_external_image_to_texture(struct CanvasGPUQueue *queue, + const struct CanvasImageCopyExternalImage *source, + const struct CanvasImageCopyTexture *destination, + const struct CanvasExtent3d *size); + +void canvas_native_webgpu_queue_on_submitted_work_done(struct CanvasGPUQueue *queue, + void (*callback)(char*, void*), + void *callback_data); + +void canvas_native_webgpu_queue_submit(struct CanvasGPUQueue *queue, + const struct CanvasGPUCommandBuffer *const *command_buffers, + uintptr_t command_buffers_size); + +void canvas_native_webgpu_queue_write_buffer(struct CanvasGPUQueue *queue, + struct CanvasGPUBuffer *buffer, + uint64_t buffer_offset, + const uint8_t *data, + uintptr_t data_size, + uintptr_t data_offset, + intptr_t size); + +void canvas_native_webgpu_queue_write_texture(struct CanvasGPUQueue *queue, + const struct CanvasImageCopyTexture *destination, + const struct CanvasImageDataLayout *data_layout, + const struct CanvasExtent3d *size, + const uint8_t *buf, + uintptr_t buf_size); + struct CanvasGPUSupportedLimits *canvas_native_webgpu_create_limits(void); void canvas_native_webgpu_limits_destroy(struct CanvasGPUSupportedLimits *limits); +void canvas_native_webgpu_render_pass_begin_occlusion_query(struct CanvasGPURenderPass *render_pass, + uint32_t query_index); + +void canvas_native_webgpu_render_pass_encoder_draw(struct CanvasGPURenderPass *render_pass, + uint32_t vertex_count, + uint32_t instance_count, + uint32_t first_vertex, + uint32_t first_instance); + +void canvas_native_webgpu_render_pass_draw_indexed(struct CanvasGPURenderPass *render_pass, + uint32_t index_count, + uint32_t instance_count, + uint32_t first_index, + int32_t base_vertex, + uint32_t first_instance); + +void canvas_native_webgpu_render_pass_draw_indexed_indirect(struct CanvasGPURenderPass *render_pass, + struct CanvasGPUBuffer *indirect_buffer, + uint64_t indirect_offset); + +void canvas_native_webgpu_render_pass_draw_indirect(struct CanvasGPURenderPass *render_pass, + struct CanvasGPUBuffer *indirect_buffer, + uint64_t indirect_offset); + +void canvas_native_webgpu_render_pass_end(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_end_occlusion_query(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_execute_bundles(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPURenderBundle *bundles, + uintptr_t bundles_size); + +void canvas_native_webgpu_render_pass_insert_debug_marker(struct CanvasGPURenderPass *render_pass, + const char *label); + +void canvas_native_webgpu_render_pass_pop_debug_group(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_push_debug_group(struct CanvasGPURenderPass *render_pass, + const char *label); + +void canvas_native_webgpu_render_pass_set_bind_group(struct CanvasGPURenderPass *render_pass, + uint32_t index, + const struct CanvasGPUBindGroup *bind_group, + const uint32_t *dynamic_offsets, + uintptr_t dynamic_offsets_size, + uintptr_t dynamic_offsets_start, + uintptr_t dynamic_offsets_length); + +void canvas_native_webgpu_render_pass_set_blend_constant(struct CanvasGPURenderPass *render_pass, + const struct CanvasColor *color); + +void canvas_native_webgpu_render_pass_set_index_buffer(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPUBuffer *buffer, + enum CanvasIndexFormat index_format, + int64_t offset, + int64_t size); + +void canvas_native_webgpu_render_pass_set_pipeline(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPURenderPipeline *pipeline); + +void canvas_native_webgpu_render_pass_set_scissor_rect(struct CanvasGPURenderPass *render_pass, + uint32_t x, + uint32_t y, + uint32_t width, + uint32_t height); + +void canvas_native_webgpu_render_pass_set_stencil_reference(struct CanvasGPURenderPass *render_pass, + uint32_t reference); + +void canvas_native_webgpu_render_pass_set_vertex_buffer(struct CanvasGPURenderPass *render_pass, + uint32_t slot, + struct CanvasGPUBuffer *buffer, + int64_t offset, + int64_t size); + +void canvas_native_webgpu_render_pass_set_viewport(struct CanvasGPURenderPass *render_pass, + float x, + float y, + float width, + float height, + float depth_min, + float depth_max); + +#if defined(TARGET_OS_ANDROID) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, + void *window, + uint32_t width, + uint32_t height); +#endif + +#if (defined(TARGET_OS_IOS) || defined(TARGET_OS_MACOS)) struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, void *view, uint32_t width, uint32_t height); +#endif + +#if defined(TARGET_OS_IOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_uiview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif + +#if defined(TARGET_OS_MACOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_nsview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif void canvas_native_webgpu_context_configure(struct CanvasGPUCanvasContext *context, struct CanvasGPUDevice *device, @@ -3741,6 +4401,11 @@ struct CanvasGPUTexture *canvas_native_webgpu_context_get_current_texture(struct char *canvas_native_webgpu_enum_gpu_texture_to_string(struct CanvasGPUTextureFormat value); +struct CanvasOptionalGPUTextureFormat canvas_native_webgpu_string_to_gpu_texture_enum(const char *format); + +struct CanvasGPUTextureView *canvas_native_webgpu_texture_create_texture_view(struct CanvasGPUTexture *texture, + const struct CanvasCreateTextureViewDescriptor *descriptor); + uint32_t canvas_native_webgpu_texture_get_depth_or_array_layers(struct CanvasGPUTexture *texture); uint32_t canvas_native_webgpu_texture_get_width(struct CanvasGPUTexture *texture); @@ -3761,6 +4426,9 @@ uint32_t canvas_native_webgpu_texture_get_sample_count(struct CanvasGPUTexture * char *canvas_native_webgpu_texture_destroy(struct CanvasGPUTexture *texture); +struct CanvasGPUBindGroupLayout *canvas_native_webgpu_render_pipeline_get_bind_group_layout(const struct CanvasGPURenderPipeline *pipeline, + uint32_t index); + const uint8_t *canvas_native_u8_buffer_get_bytes(const struct U8Buffer *buffer); uint8_t *canvas_native_u8_buffer_get_bytes_mut(struct U8Buffer *buffer); diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo index 1c4df822c..030f4aa5f 100644 Binary files a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo and b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json index 71838557a..ea5ca3953 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json @@ -375,6 +375,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "initWebGPUWithViewLayer", + "printedName": "initWebGPUWithViewLayer(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "c:@M@CanvasNative@objc(cs)NSSCanvasHelpers(cm)initWebGPUWithViewLayer::::", + "mangledName": "$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ", + "moduleName": "CanvasNative", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "initWebGPUWithView", @@ -5577,147 +5625,147 @@ { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2412, + "offset": 2396, "length": 1, "value": "1" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2315, + "offset": 2299, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2591, + "offset": 2575, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2649, + "offset": 2633, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2702, + "offset": 2686, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2807, + "offset": 2791, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2840, + "offset": 2824, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3499, + "offset": 3483, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3533, + "offset": 3517, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3563, + "offset": 3547, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3616, + "offset": 3600, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 3658, + "offset": 3642, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3698, + "offset": 3682, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3744, + "offset": 3728, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3777, + "offset": 3761, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3817, + "offset": 3801, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3855, + "offset": 3839, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15100, + "offset": 16303, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15581, + "offset": 16784, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16124, + "offset": 17327, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16156, + "offset": 17359, "length": 5, "value": "false" }, diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface index 8064fc35f..a81b03672 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface index 8064fc35f..a81b03672 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative index fa34cb674..97a24028f 100644 Binary files a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative and b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative differ diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml index 39ea909c9..04564eeaf 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml @@ -2,608 +2,606 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas/src-native/canvas-ios/dist/Release-iphoneos/CanvasNative.framework/CanvasNative' relocations: - - { offsetInCU: 0x34, offset: 0x7642B, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x87B000, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x76460, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x87B038, symSize: 0x0 } - - { offsetInCU: 0x3F, offset: 0x764B5, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x28, symBinAddr: 0x8028, symSize: 0xC } - - { offsetInCU: 0x53, offset: 0x764C9, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x34, symBinAddr: 0x8034, symSize: 0x4 } - - { offsetInCU: 0x67, offset: 0x764DD, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x38, symBinAddr: 0x8038, symSize: 0x20 } - - { offsetInCU: 0x7B, offset: 0x764F1, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x58, symBinAddr: 0x8058, symSize: 0x28 } - - { offsetInCU: 0x8F, offset: 0x76505, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0x94, symBinAddr: 0x8094, symSize: 0x30 } - - { offsetInCU: 0xA3, offset: 0x76519, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0xC4, symBinAddr: 0x80C4, symSize: 0xC } - - { offsetInCU: 0xB7, offset: 0x7652D, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0xD0, symBinAddr: 0x80D0, symSize: 0x20 } - - { offsetInCU: 0xCB, offset: 0x76541, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0xF0, symBinAddr: 0x80F0, symSize: 0x2C } - - { offsetInCU: 0x4F, offset: 0x7672A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AD0, symBinAddr: 0x1056950, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x76744, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AD8, symBinAddr: 0x1056958, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x76778, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x4, symBinAddr: 0x8194, symSize: 0x38 } - - { offsetInCU: 0xF3, offset: 0x767CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x40, symBinAddr: 0x81D0, symSize: 0x70 } - - { offsetInCU: 0x144, offset: 0x7681F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xB4, symBinAddr: 0x8244, symSize: 0x44 } - - { offsetInCU: 0x19F, offset: 0x7687A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0xFC, symBinAddr: 0x828C, symSize: 0x50 } - - { offsetInCU: 0x204, offset: 0x768DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x150, symBinAddr: 0x82E0, symSize: 0x68 } - - { offsetInCU: 0x27D, offset: 0x76958, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1BC, symBinAddr: 0x834C, symSize: 0x98 } - - { offsetInCU: 0x2DA, offset: 0x769B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x258, symBinAddr: 0x83E8, symSize: 0x14 } - - { offsetInCU: 0x389, offset: 0x76A64, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x2B0, symBinAddr: 0x8440, symSize: 0x50 } - - { offsetInCU: 0x45A, offset: 0x76B35, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x34C, symBinAddr: 0x84DC, symSize: 0x58 } - - { offsetInCU: 0x534, offset: 0x76C0F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x3EC, symBinAddr: 0x857C, symSize: 0x58 } - - { offsetInCU: 0x613, offset: 0x76CEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x494, symBinAddr: 0x8624, symSize: 0x60 } - - { offsetInCU: 0x6BF, offset: 0x76D9A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x4F8, symBinAddr: 0x8688, symSize: 0x8 } - - { offsetInCU: 0x728, offset: 0x76E03, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x504, symBinAddr: 0x8694, symSize: 0x8 } - - { offsetInCU: 0x77F, offset: 0x76E5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x520, symBinAddr: 0x86B0, symSize: 0x8 } - - { offsetInCU: 0x7D6, offset: 0x76EB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x52C, symBinAddr: 0x86BC, symSize: 0x8 } - - { offsetInCU: 0x82D, offset: 0x76F08, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x538, symBinAddr: 0x86C8, symSize: 0x8 } - - { offsetInCU: 0x884, offset: 0x76F5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x544, symBinAddr: 0x86D4, symSize: 0x8 } - - { offsetInCU: 0x903, offset: 0x76FDE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x554, symBinAddr: 0x86E4, symSize: 0x24 } - - { offsetInCU: 0x9B4, offset: 0x7708F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x57C, symBinAddr: 0x870C, symSize: 0x14 } - - { offsetInCU: 0xA27, offset: 0x77102, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x594, symBinAddr: 0x8724, symSize: 0x8 } - - { offsetInCU: 0xA7E, offset: 0x77159, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x5F4, symBinAddr: 0x8784, symSize: 0x74 } - - { offsetInCU: 0xB09, offset: 0x771E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0x7FC, symBinAddr: 0x898C, symSize: 0xA0 } - - { offsetInCU: 0xB5A, offset: 0x77235, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xB04, symBinAddr: 0x8C94, symSize: 0x98 } - - { offsetInCU: 0xBAB, offset: 0x77286, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0xE58, symBinAddr: 0x8FE8, symSize: 0x98 } - - { offsetInCU: 0xC07, offset: 0x772E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1280, symBinAddr: 0x9410, symSize: 0xD8 } - - { offsetInCU: 0xC4F, offset: 0x7732A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x135C, symBinAddr: 0x94EC, symSize: 0x34 } - - { offsetInCU: 0xCAF, offset: 0x7738A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x13E0, symBinAddr: 0x9570, symSize: 0x3C } - - { offsetInCU: 0xD00, offset: 0x773DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1450, symBinAddr: 0x95E0, symSize: 0x2AC } - - { offsetInCU: 0xF34, offset: 0x7760F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x16FC, symBinAddr: 0x988C, symSize: 0x264 } - - { offsetInCU: 0x112E, offset: 0x77809, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1960, symBinAddr: 0x9AF0, symSize: 0xEC } - - { offsetInCU: 0x122B, offset: 0x77906, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1A4C, symBinAddr: 0x9BDC, symSize: 0x1B4 } - - { offsetInCU: 0x13A0, offset: 0x77A7B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1C00, symBinAddr: 0x9D90, symSize: 0x1CC } - - { offsetInCU: 0x1535, offset: 0x77C10, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x1DCC, symBinAddr: 0x9F5C, symSize: 0x1E0 } - - { offsetInCU: 0x1721, offset: 0x77DFC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x1FAC, symBinAddr: 0xA13C, symSize: 0x1B4 } - - { offsetInCU: 0x17EB, offset: 0x77EC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x2304, symBinAddr: 0xA494, symSize: 0x1D4 } - - { offsetInCU: 0x18CC, offset: 0x77FA7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x24D8, symBinAddr: 0xA668, symSize: 0x114 } - - { offsetInCU: 0x1977, offset: 0x78052, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0x89C, symBinAddr: 0x8A2C, symSize: 0x78 } - - { offsetInCU: 0x198F, offset: 0x7806A, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xB9C, symBinAddr: 0x8D2C, symSize: 0x54 } - - { offsetInCU: 0x19FC, offset: 0x780D7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x144C, symBinAddr: 0x95DC, symSize: 0x4 } - - { offsetInCU: 0x1A87, offset: 0x78162, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x25EC, symBinAddr: 0xA77C, symSize: 0x20 } - - { offsetInCU: 0x1A9B, offset: 0x78176, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2630, symBinAddr: 0xA7C0, symSize: 0x8 } - - { offsetInCU: 0x1ABA, offset: 0x78195, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2638, symBinAddr: 0xA7C8, symSize: 0x18 } - - { offsetInCU: 0x1AE3, offset: 0x781BE, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x2650, symBinAddr: 0xA7E0, symSize: 0x8 } - - { offsetInCU: 0x1AF7, offset: 0x781D2, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x2658, symBinAddr: 0xA7E8, symSize: 0x3C } - - { offsetInCU: 0x1B0B, offset: 0x781E6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x26D8, symBinAddr: 0xA868, symSize: 0x34 } - - { offsetInCU: 0x1B1F, offset: 0x781FA, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x270C, symBinAddr: 0xA89C, symSize: 0x10 } - - { offsetInCU: 0x1B33, offset: 0x7820E, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x271C, symBinAddr: 0xA8AC, symSize: 0x8 } - - { offsetInCU: 0x1B47, offset: 0x78222, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2748, symBinAddr: 0xA8D8, symSize: 0x40 } - - { offsetInCU: 0x1B7B, offset: 0x78256, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x27CC, symBinAddr: 0xA95C, symSize: 0x40 } - - { offsetInCU: 0x1BB9, offset: 0x78294, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x280C, symBinAddr: 0xA99C, symSize: 0x28 } - - { offsetInCU: 0x1BED, offset: 0x782C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x288C, symBinAddr: 0xAA1C, symSize: 0x3C } - - { offsetInCU: 0x1C21, offset: 0x782FC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x28F4, symBinAddr: 0xAA84, symSize: 0x30 } - - { offsetInCU: 0x1C5D, offset: 0x78338, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2960, symBinAddr: 0xAAF0, symSize: 0x10 } - - { offsetInCU: 0x1C71, offset: 0x7834C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2970, symBinAddr: 0xAB00, symSize: 0x40 } - - { offsetInCU: 0x213E, offset: 0x78819, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x8190, symSize: 0x4 } - - { offsetInCU: 0x2159, offset: 0x78834, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x3C, symBinAddr: 0x81CC, symSize: 0x4 } - - { offsetInCU: 0x2174, offset: 0x7884F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xB0, symBinAddr: 0x8240, symSize: 0x4 } - - { offsetInCU: 0x2195, offset: 0x78870, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0xF8, symBinAddr: 0x8288, symSize: 0x4 } - - { offsetInCU: 0x21B0, offset: 0x7888B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x14C, symBinAddr: 0x82DC, symSize: 0x4 } - - { offsetInCU: 0x21CB, offset: 0x788A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1B8, symBinAddr: 0x8348, symSize: 0x4 } - - { offsetInCU: 0x21E6, offset: 0x788C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x254, symBinAddr: 0x83E4, symSize: 0x4 } - - { offsetInCU: 0x2274, offset: 0x7894F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x26C, symBinAddr: 0x83FC, symSize: 0x44 } - - { offsetInCU: 0x23B2, offset: 0x78A8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x300, symBinAddr: 0x8490, symSize: 0x4C } - - { offsetInCU: 0x24FB, offset: 0x78BD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x3A4, symBinAddr: 0x8534, symSize: 0x48 } - - { offsetInCU: 0x2643, offset: 0x78D1E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x444, symBinAddr: 0x85D4, symSize: 0x50 } - - { offsetInCU: 0x27A0, offset: 0x78E7B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x4F4, symBinAddr: 0x8684, symSize: 0x4 } - - { offsetInCU: 0x2812, offset: 0x78EED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x500, symBinAddr: 0x8690, symSize: 0x4 } - - { offsetInCU: 0x2855, offset: 0x78F30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x50C, symBinAddr: 0x869C, symSize: 0x14 } - - { offsetInCU: 0x289A, offset: 0x78F75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x528, symBinAddr: 0x86B8, symSize: 0x4 } - - { offsetInCU: 0x28DD, offset: 0x78FB8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x534, symBinAddr: 0x86C4, symSize: 0x4 } - - { offsetInCU: 0x2920, offset: 0x78FFB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x540, symBinAddr: 0x86D0, symSize: 0x4 } - - { offsetInCU: 0x2963, offset: 0x7903E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x54C, symBinAddr: 0x86DC, symSize: 0x8 } - - { offsetInCU: 0x2A4A, offset: 0x79125, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x578, symBinAddr: 0x8708, symSize: 0x4 } - - { offsetInCU: 0x2AC9, offset: 0x791A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x590, symBinAddr: 0x8720, symSize: 0x4 } - - { offsetInCU: 0x2B0C, offset: 0x791E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x59C, symBinAddr: 0x872C, symSize: 0x58 } - - { offsetInCU: 0x2BCD, offset: 0x792A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x668, symBinAddr: 0x87F8, symSize: 0x4 } - - { offsetInCU: 0x2BE1, offset: 0x792BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x66C, symBinAddr: 0x87FC, symSize: 0x190 } - - { offsetInCU: 0x2C81, offset: 0x7935C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0x914, symBinAddr: 0x8AA4, symSize: 0x2C } - - { offsetInCU: 0x2C95, offset: 0x79370, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0x940, symBinAddr: 0x8AD0, symSize: 0x1C4 } - - { offsetInCU: 0x2D7A, offset: 0x79455, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xBF0, symBinAddr: 0x8D80, symSize: 0x2C } - - { offsetInCU: 0x2D8E, offset: 0x79469, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xC1C, symBinAddr: 0x8DAC, symSize: 0x23C } - - { offsetInCU: 0x2E42, offset: 0x7951D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0xEF0, symBinAddr: 0x9080, symSize: 0x4 } - - { offsetInCU: 0x2E56, offset: 0x79531, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0xEF4, symBinAddr: 0x9084, symSize: 0x38C } - - { offsetInCU: 0x30ED, offset: 0x797C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1358, symBinAddr: 0x94E8, symSize: 0x4 } - - { offsetInCU: 0x3108, offset: 0x797E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x1390, symBinAddr: 0x9520, symSize: 0x20 } - - { offsetInCU: 0x311C, offset: 0x797F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x13B0, symBinAddr: 0x9540, symSize: 0x30 } - - { offsetInCU: 0x3152, offset: 0x7982D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x141C, symBinAddr: 0x95AC, symSize: 0x30 } - - { offsetInCU: 0x4F, offset: 0x79A65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x54A0, symBinAddr: 0x1056990, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x79A7F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x54A8, symBinAddr: 0x1056998, symSize: 0x0 } - - { offsetInCU: 0x83, offset: 0x79A99, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x54B0, symBinAddr: 0x10569A0, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x79AB3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x54B8, symBinAddr: 0x10569A8, symSize: 0x0 } - - { offsetInCU: 0xAB, offset: 0x79AC1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0xAC28, symSize: 0x40 } - - { offsetInCU: 0xF0, offset: 0x79B06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x40, symBinAddr: 0xAC68, symSize: 0x30 } - - { offsetInCU: 0x135, offset: 0x79B4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xA8, symBinAddr: 0xACD0, symSize: 0x40 } - - { offsetInCU: 0x187, offset: 0x79B9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0xADBC, symSize: 0x10 } - - { offsetInCU: 0x1A7, offset: 0x79BBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0xADBC, symSize: 0x10 } - - { offsetInCU: 0x1DD, offset: 0x79BF3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0xADCC, symSize: 0x10 } - - { offsetInCU: 0x1FD, offset: 0x79C13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0xADCC, symSize: 0x10 } - - { offsetInCU: 0x236, offset: 0x79C4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0xADDC, symSize: 0x10 } - - { offsetInCU: 0x256, offset: 0x79C6C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0xADDC, symSize: 0x10 } - - { offsetInCU: 0x28C, offset: 0x79CA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0xADEC, symSize: 0x10 } - - { offsetInCU: 0x2AC, offset: 0x79CC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0xADEC, symSize: 0x10 } - - { offsetInCU: 0x2FB, offset: 0x79D11, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyFTo', symObjAddr: 0x218, symBinAddr: 0xAE40, symSize: 0x44 } - - { offsetInCU: 0x3C6, offset: 0x79DDC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyFTo', symObjAddr: 0x2A8, symBinAddr: 0xAED0, symSize: 0x74 } - - { offsetInCU: 0x473, offset: 0x79E89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x31C, symBinAddr: 0xAF44, symSize: 0x44 } - - { offsetInCU: 0x4B0, offset: 0x79EC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x3A4, symBinAddr: 0xAFCC, symSize: 0x30 } - - { offsetInCU: 0x53F, offset: 0x79F55, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x5F8, symBinAddr: 0xB220, symSize: 0x44 } - - { offsetInCU: 0x597, offset: 0x79FAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x680, symBinAddr: 0xB2A8, symSize: 0x48 } - - { offsetInCU: 0x5F2, offset: 0x7A008, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x6C8, symBinAddr: 0xB2F0, symSize: 0x44 } - - { offsetInCU: 0x64A, offset: 0x7A060, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x750, symBinAddr: 0xB378, symSize: 0x48 } - - { offsetInCU: 0x6A5, offset: 0x7A0BB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x798, symBinAddr: 0xB3C0, symSize: 0x10 } - - { offsetInCU: 0x6C5, offset: 0x7A0DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x798, symBinAddr: 0xB3C0, symSize: 0x10 } - - { offsetInCU: 0x6FB, offset: 0x7A111, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A8, symBinAddr: 0xB3D0, symSize: 0x10 } - - { offsetInCU: 0x71B, offset: 0x7A131, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A8, symBinAddr: 0xB3D0, symSize: 0x10 } - - { offsetInCU: 0x73E, offset: 0x7A154, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7B8, symBinAddr: 0xB3E0, symSize: 0x10 } - - { offsetInCU: 0x75E, offset: 0x7A174, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7B8, symBinAddr: 0xB3E0, symSize: 0x10 } - - { offsetInCU: 0x796, offset: 0x7A1AC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x7C8, symBinAddr: 0xB3F0, symSize: 0x34 } - - { offsetInCU: 0x7D9, offset: 0x7A1EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7FC, symBinAddr: 0xB424, symSize: 0x10 } - - { offsetInCU: 0x7F9, offset: 0x7A20F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7FC, symBinAddr: 0xB424, symSize: 0x10 } - - { offsetInCU: 0x831, offset: 0x7A247, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x80C, symBinAddr: 0xB434, symSize: 0x34 } - - { offsetInCU: 0x88A, offset: 0x7A2A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x840, symBinAddr: 0xB468, symSize: 0x10 } - - { offsetInCU: 0x8AA, offset: 0x7A2C0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x840, symBinAddr: 0xB468, symSize: 0x10 } - - { offsetInCU: 0x8E0, offset: 0x7A2F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x850, symBinAddr: 0xB478, symSize: 0x10 } - - { offsetInCU: 0x900, offset: 0x7A316, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x850, symBinAddr: 0xB478, symSize: 0x10 } - - { offsetInCU: 0x939, offset: 0x7A34F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x860, symBinAddr: 0xB488, symSize: 0x10 } - - { offsetInCU: 0x959, offset: 0x7A36F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x860, symBinAddr: 0xB488, symSize: 0x10 } - - { offsetInCU: 0x98F, offset: 0x7A3A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x870, symBinAddr: 0xB498, symSize: 0x10 } - - { offsetInCU: 0x9AF, offset: 0x7A3C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x870, symBinAddr: 0xB498, symSize: 0x10 } - - { offsetInCU: 0x9D2, offset: 0x7A3E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x880, symBinAddr: 0xB4A8, symSize: 0x34 } - - { offsetInCU: 0xA04, offset: 0x7A41A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x984, symBinAddr: 0xB5AC, symSize: 0x34 } - - { offsetInCU: 0xA4C, offset: 0x7A462, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA88, symBinAddr: 0xB6B0, symSize: 0x20 } - - { offsetInCU: 0xAB4, offset: 0x7A4CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xACC, symBinAddr: 0xB6F4, symSize: 0x20 } - - { offsetInCU: 0xB53, offset: 0x7A569, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xB34, symBinAddr: 0xB75C, symSize: 0xC4 } - - { offsetInCU: 0xC00, offset: 0x7A616, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xD58, symBinAddr: 0xB980, symSize: 0x30 } - - { offsetInCU: 0xC9A, offset: 0x7A6B0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x1610, symBinAddr: 0xC238, symSize: 0xC4 } - - { offsetInCU: 0xD04, offset: 0x7A71A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x192C, symBinAddr: 0xC554, symSize: 0xB0 } - - { offsetInCU: 0xD41, offset: 0x7A757, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1A9C, symBinAddr: 0xC6C4, symSize: 0xB8 } - - { offsetInCU: 0xDB9, offset: 0x7A7CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1C38, symBinAddr: 0xC860, symSize: 0x3C } - - { offsetInCU: 0xDEC, offset: 0x7A802, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C74, symBinAddr: 0xC89C, symSize: 0x10 } - - { offsetInCU: 0xE0C, offset: 0x7A822, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C74, symBinAddr: 0xC89C, symSize: 0x10 } - - { offsetInCU: 0xE46, offset: 0x7A85C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1C84, symBinAddr: 0xC8AC, symSize: 0x34 } - - { offsetInCU: 0xEA1, offset: 0x7A8B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1D00, symBinAddr: 0xC928, symSize: 0x48 } - - { offsetInCU: 0xF3B, offset: 0x7A951, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1D94, symBinAddr: 0xC9BC, symSize: 0x64 } - - { offsetInCU: 0x1000, offset: 0x7AA16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1E50, symBinAddr: 0xCA78, symSize: 0x94 } - - { offsetInCU: 0x108D, offset: 0x7AAA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x1F24, symBinAddr: 0xCB4C, symSize: 0x6C } - - { offsetInCU: 0x10EF, offset: 0x7AB05, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x2034, symBinAddr: 0xCC5C, symSize: 0x6C } - - { offsetInCU: 0x114C, offset: 0x7AB62, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x20A0, symBinAddr: 0xCCC8, symSize: 0xB0 } - - { offsetInCU: 0x119E, offset: 0x7ABB4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x2220, symBinAddr: 0xCE48, symSize: 0x94 } - - { offsetInCU: 0x1230, offset: 0x7AC46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x2E3C, symBinAddr: 0xDA64, symSize: 0x28 } - - { offsetInCU: 0x1285, offset: 0x7AC9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x3804, symBinAddr: 0xE42C, symSize: 0x20 } - - { offsetInCU: 0x12B8, offset: 0x7ACCE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3824, symBinAddr: 0xE44C, symSize: 0x10 } - - { offsetInCU: 0x12D8, offset: 0x7ACEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3824, symBinAddr: 0xE44C, symSize: 0x10 } - - { offsetInCU: 0x1310, offset: 0x7AD26, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x3834, symBinAddr: 0xE45C, symSize: 0x34 } - - { offsetInCU: 0x137E, offset: 0x7AD94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x38E8, symBinAddr: 0xE510, symSize: 0x20 } - - { offsetInCU: 0x13D8, offset: 0x7ADEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3908, symBinAddr: 0xE530, symSize: 0x34 } - - { offsetInCU: 0x1438, offset: 0x7AE4E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x396C, symBinAddr: 0xE594, symSize: 0x34 } - - { offsetInCU: 0x157C, offset: 0x7AF92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x3CB8, symBinAddr: 0xE8E0, symSize: 0x28 } - - { offsetInCU: 0x15AF, offset: 0x7AFC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x3FE4, symBinAddr: 0xEC0C, symSize: 0x24 } - - { offsetInCU: 0x15EA, offset: 0x7B000, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x40D0, symBinAddr: 0xECF8, symSize: 0x34 } - - { offsetInCU: 0x161D, offset: 0x7B033, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4A6C, symBinAddr: 0xF694, symSize: 0x2A8 } - - { offsetInCU: 0x179A, offset: 0x7B1B0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x4DD8, symBinAddr: 0xFA00, symSize: 0xA0 } - - { offsetInCU: 0x1A16, offset: 0x7B42C, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1EF8, symBinAddr: 0xCB20, symSize: 0x2C } - - { offsetInCU: 0x1A2E, offset: 0x7B444, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x21A8, symBinAddr: 0xCDD0, symSize: 0x78 } - - { offsetInCU: 0x1A46, offset: 0x7B45C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x2310, symBinAddr: 0xCF38, symSize: 0x94 } - - { offsetInCU: 0x1A7E, offset: 0x7B494, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x23A4, symBinAddr: 0xCFCC, symSize: 0xB8 } - - { offsetInCU: 0x1AC0, offset: 0x7B4D6, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x245C, symBinAddr: 0xD084, symSize: 0x6C } - - { offsetInCU: 0x1B65, offset: 0x7B57B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x4008, symBinAddr: 0xEC30, symSize: 0xC4 } - - { offsetInCU: 0x1B95, offset: 0x7B5AB, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x4104, symBinAddr: 0xED2C, symSize: 0x10 } - - { offsetInCU: 0x1BA9, offset: 0x7B5BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x4114, symBinAddr: 0xED3C, symSize: 0x20 } - - { offsetInCU: 0x1BC8, offset: 0x7B5DE, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x4134, symBinAddr: 0xED5C, symSize: 0x64 } - - { offsetInCU: 0x1DCF, offset: 0x7B7E5, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x4D14, symBinAddr: 0xF93C, symSize: 0x40 } - - { offsetInCU: 0x1DE3, offset: 0x7B7F9, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x4D54, symBinAddr: 0xF97C, symSize: 0x40 } - - { offsetInCU: 0x1DF7, offset: 0x7B80D, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x4D94, symBinAddr: 0xF9BC, symSize: 0x24 } - - { offsetInCU: 0x1E0B, offset: 0x7B821, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x4DB8, symBinAddr: 0xF9E0, symSize: 0x20 } - - { offsetInCU: 0x1E2A, offset: 0x7B840, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x52A4, symBinAddr: 0xFECC, symSize: 0x48 } - - { offsetInCU: 0x1E53, offset: 0x7B869, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x52EC, symBinAddr: 0xFF14, symSize: 0x10 } - - { offsetInCU: 0x1E67, offset: 0x7B87D, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x52FC, symBinAddr: 0xFF24, symSize: 0x8 } - - { offsetInCU: 0x1E7B, offset: 0x7B891, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5304, symBinAddr: 0xFF2C, symSize: 0x10 } - - { offsetInCU: 0x1E9A, offset: 0x7B8B0, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5314, symBinAddr: 0xFF3C, symSize: 0xC } - - { offsetInCU: 0x1EC3, offset: 0x7B8D9, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5344, symBinAddr: 0xFF6C, symSize: 0x8 } - - { offsetInCU: 0x1EE2, offset: 0x7B8F8, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x534C, symBinAddr: 0xFF74, symSize: 0x30 } - - { offsetInCU: 0x1F0B, offset: 0x7B921, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x537C, symBinAddr: 0xFFA4, symSize: 0x10 } - - { offsetInCU: 0x1F1F, offset: 0x7B935, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x53C4, symBinAddr: 0xFFEC, symSize: 0x3C } - - { offsetInCU: 0x21A4, offset: 0x7BBBA, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4954, symBinAddr: 0xF57C, symSize: 0x118 } - - { offsetInCU: 0x264A, offset: 0x7C060, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyF', symObjAddr: 0x1D4, symBinAddr: 0xADFC, symSize: 0x44 } - - { offsetInCU: 0x26F3, offset: 0x7C109, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyF', symObjAddr: 0x25C, symBinAddr: 0xAE84, symSize: 0x4C } - - { offsetInCU: 0x279C, offset: 0x7C1B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x360, symBinAddr: 0xAF88, symSize: 0x44 } - - { offsetInCU: 0x27CF, offset: 0x7C1E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x3D4, symBinAddr: 0xAFFC, symSize: 0xEC } - - { offsetInCU: 0x281B, offset: 0x7C231, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x4C0, symBinAddr: 0xB0E8, symSize: 0x58 } - - { offsetInCU: 0x2840, offset: 0x7C256, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x518, symBinAddr: 0xB140, symSize: 0xE0 } - - { offsetInCU: 0x2881, offset: 0x7C297, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x63C, symBinAddr: 0xB264, symSize: 0x44 } - - { offsetInCU: 0x28D9, offset: 0x7C2EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x70C, symBinAddr: 0xB334, symSize: 0x44 } - - { offsetInCU: 0x2A1F, offset: 0x7C435, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x8B4, symBinAddr: 0xB4DC, symSize: 0xD0 } - - { offsetInCU: 0x2B44, offset: 0x7C55A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x9B8, symBinAddr: 0xB5E0, symSize: 0xD0 } - - { offsetInCU: 0x2C8A, offset: 0x7C6A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xAA8, symBinAddr: 0xB6D0, symSize: 0x24 } - - { offsetInCU: 0x2CD2, offset: 0x7C6E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xAEC, symBinAddr: 0xB714, symSize: 0x24 } - - { offsetInCU: 0x2D06, offset: 0x7C71C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xB10, symBinAddr: 0xB738, symSize: 0x24 } - - { offsetInCU: 0x2E80, offset: 0x7C896, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xBF8, symBinAddr: 0xB820, symSize: 0x160 } - - { offsetInCU: 0x3252, offset: 0x7CC68, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xD88, symBinAddr: 0xB9B0, symSize: 0x888 } - - { offsetInCU: 0x3A55, offset: 0x7D46B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x16D4, symBinAddr: 0xC2FC, symSize: 0x258 } - - { offsetInCU: 0x3E87, offset: 0x7D89D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x19DC, symBinAddr: 0xC604, symSize: 0xC0 } - - { offsetInCU: 0x3F18, offset: 0x7D92E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1B54, symBinAddr: 0xC77C, symSize: 0xE4 } - - { offsetInCU: 0x4073, offset: 0x7DA89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1CB8, symBinAddr: 0xC8E0, symSize: 0x48 } - - { offsetInCU: 0x40F9, offset: 0x7DB0F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1D48, symBinAddr: 0xC970, symSize: 0x4C } - - { offsetInCU: 0x421A, offset: 0x7DC30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1DF8, symBinAddr: 0xCA20, symSize: 0x58 } - - { offsetInCU: 0x4310, offset: 0x7DD26, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x2150, symBinAddr: 0xCD78, symSize: 0x58 } - - { offsetInCU: 0x435C, offset: 0x7DD72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x22B4, symBinAddr: 0xCEDC, symSize: 0x5C } - - { offsetInCU: 0x4385, offset: 0x7DD9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x24C8, symBinAddr: 0xD0F0, symSize: 0x44 } - - { offsetInCU: 0x43AB, offset: 0x7DDC1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x250C, symBinAddr: 0xD134, symSize: 0x4 } - - { offsetInCU: 0x4467, offset: 0x7DE7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x2510, symBinAddr: 0xD138, symSize: 0x92C } - - { offsetInCU: 0x4656, offset: 0x7E06C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x2E64, symBinAddr: 0xDA8C, symSize: 0x50 } - - { offsetInCU: 0x467F, offset: 0x7E095, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x2EB4, symBinAddr: 0xDADC, symSize: 0x950 } - - { offsetInCU: 0x488F, offset: 0x7E2A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3868, symBinAddr: 0xE490, symSize: 0x80 } - - { offsetInCU: 0x4985, offset: 0x7E39B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x393C, symBinAddr: 0xE564, symSize: 0x30 } - - { offsetInCU: 0x4A23, offset: 0x7E439, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x39A0, symBinAddr: 0xE5C8, symSize: 0x144 } - - { offsetInCU: 0x4C24, offset: 0x7E63A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3AE4, symBinAddr: 0xE70C, symSize: 0x1D4 } - - { offsetInCU: 0x4EA1, offset: 0x7E8B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x3CE0, symBinAddr: 0xE908, symSize: 0x304 } - - { offsetInCU: 0x4F31, offset: 0x7E947, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x40CC, symBinAddr: 0xECF4, symSize: 0x4 } - - { offsetInCU: 0x4F5F, offset: 0x7E975, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x4198, symBinAddr: 0xEDC0, symSize: 0x64 } - - { offsetInCU: 0x4FB9, offset: 0x7E9CF, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x41FC, symBinAddr: 0xEE24, symSize: 0x6C } - - { offsetInCU: 0x5039, offset: 0x7EA4F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4268, symBinAddr: 0xEE90, symSize: 0xD8 } - - { offsetInCU: 0x5076, offset: 0x7EA8C, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4340, symBinAddr: 0xEF68, symSize: 0xE0 } - - { offsetInCU: 0x50F1, offset: 0x7EB07, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4420, symBinAddr: 0xF048, symSize: 0x1F4 } - - { offsetInCU: 0x51AD, offset: 0x7EBC3, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x4614, symBinAddr: 0xF23C, symSize: 0x340 } - - { offsetInCU: 0x27, offset: 0x7EE10, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0x1008C, symSize: 0x10 } - - { offsetInCU: 0x62, offset: 0x7EE4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x10, symBinAddr: 0x1009C, symSize: 0x20 } - - { offsetInCU: 0x1AF, offset: 0x7EF98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0x1008C, symSize: 0x10 } - - { offsetInCU: 0x65, offset: 0x7F027, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0x100BC, symSize: 0x10 } - - { offsetInCU: 0x85, offset: 0x7F047, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0x100BC, symSize: 0x10 } - - { offsetInCU: 0xBB, offset: 0x7F07D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0x100CC, symSize: 0x10 } - - { offsetInCU: 0xDB, offset: 0x7F09D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0x100CC, symSize: 0x10 } - - { offsetInCU: 0x114, offset: 0x7F0D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0x100DC, symSize: 0x44 } - - { offsetInCU: 0x16C, offset: 0x7F12E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x64, symBinAddr: 0x10120, symSize: 0x48 } - - { offsetInCU: 0x1C7, offset: 0x7F189, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xAC, symBinAddr: 0x10168, symSize: 0x44 } - - { offsetInCU: 0x21F, offset: 0x7F1E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xF0, symBinAddr: 0x101AC, symSize: 0x48 } - - { offsetInCU: 0x27A, offset: 0x7F23C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0x101F4, symSize: 0x10 } - - { offsetInCU: 0x29A, offset: 0x7F25C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0x101F4, symSize: 0x10 } - - { offsetInCU: 0x2D0, offset: 0x7F292, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0x10204, symSize: 0x10 } - - { offsetInCU: 0x2F0, offset: 0x7F2B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0x10204, symSize: 0x10 } - - { offsetInCU: 0x329, offset: 0x7F2EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0x10214, symSize: 0x10 } - - { offsetInCU: 0x349, offset: 0x7F30B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0x10214, symSize: 0x10 } - - { offsetInCU: 0x37F, offset: 0x7F341, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0x10224, symSize: 0x10 } - - { offsetInCU: 0x39F, offset: 0x7F361, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0x10224, symSize: 0x10 } - - { offsetInCU: 0x3D8, offset: 0x7F39A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x178, symBinAddr: 0x10234, symSize: 0x44 } - - { offsetInCU: 0x430, offset: 0x7F3F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1BC, symBinAddr: 0x10278, symSize: 0x48 } - - { offsetInCU: 0x48B, offset: 0x7F44D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0x102C0, symSize: 0x10 } - - { offsetInCU: 0x4AB, offset: 0x7F46D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0x102C0, symSize: 0x10 } - - { offsetInCU: 0x4E1, offset: 0x7F4A3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0x102D0, symSize: 0x10 } - - { offsetInCU: 0x501, offset: 0x7F4C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0x102D0, symSize: 0x10 } - - { offsetInCU: 0x53A, offset: 0x7F4FC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0x102E0, symSize: 0x10 } - - { offsetInCU: 0x55A, offset: 0x7F51C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0x102E0, symSize: 0x10 } - - { offsetInCU: 0x590, offset: 0x7F552, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0x102F0, symSize: 0x10 } - - { offsetInCU: 0x5B0, offset: 0x7F572, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0x102F0, symSize: 0x10 } - - { offsetInCU: 0x5E9, offset: 0x7F5AB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x244, symBinAddr: 0x10300, symSize: 0x48 } - - { offsetInCU: 0x63F, offset: 0x7F601, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x28C, symBinAddr: 0x10348, symSize: 0x40 } - - { offsetInCU: 0x682, offset: 0x7F644, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2CC, symBinAddr: 0x10388, symSize: 0x8 } - - { offsetInCU: 0x69E, offset: 0x7F660, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2D4, symBinAddr: 0x10390, symSize: 0x2C } - - { offsetInCU: 0x6D0, offset: 0x7F692, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0x103BC, symSize: 0x10 } - - { offsetInCU: 0x6F0, offset: 0x7F6B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0x103BC, symSize: 0x10 } - - { offsetInCU: 0x728, offset: 0x7F6EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x310, symBinAddr: 0x103CC, symSize: 0x34 } - - { offsetInCU: 0x781, offset: 0x7F743, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0x104D4, symSize: 0x10 } - - { offsetInCU: 0x7A1, offset: 0x7F763, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0x104D4, symSize: 0x10 } - - { offsetInCU: 0x7D7, offset: 0x7F799, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0x104E4, symSize: 0x10 } - - { offsetInCU: 0x7F7, offset: 0x7F7B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0x104E4, symSize: 0x10 } - - { offsetInCU: 0x846, offset: 0x7F808, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x5BC, symBinAddr: 0x10638, symSize: 0x20 } - - { offsetInCU: 0x878, offset: 0x7F83A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x720, symBinAddr: 0x1079C, symSize: 0x28 } - - { offsetInCU: 0x8D0, offset: 0x7F892, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x75C, symBinAddr: 0x107D8, symSize: 0x88 } - - { offsetInCU: 0x934, offset: 0x7F8F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x7E4, symBinAddr: 0x10860, symSize: 0x7C } - - { offsetInCU: 0x9D6, offset: 0x7F998, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xC0C, symBinAddr: 0x10C88, symSize: 0x28 } - - { offsetInCU: 0xAC0, offset: 0x7FA82, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x59C, symBinAddr: 0x10618, symSize: 0x20 } - - { offsetInCU: 0xB34, offset: 0x7FAF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xC64, symBinAddr: 0x10CE0, symSize: 0x58 } - - { offsetInCU: 0x123B, offset: 0x801FD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x438, symBinAddr: 0x104F4, symSize: 0x20 } - - { offsetInCU: 0x1255, offset: 0x80217, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x458, symBinAddr: 0x10514, symSize: 0x104 } - - { offsetInCU: 0x1287, offset: 0x80249, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x5DC, symBinAddr: 0x10658, symSize: 0x144 } - - { offsetInCU: 0x1442, offset: 0x80404, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x748, symBinAddr: 0x107C4, symSize: 0x14 } - - { offsetInCU: 0x14F3, offset: 0x804B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x860, symBinAddr: 0x108DC, symSize: 0x3AC } - - { offsetInCU: 0x1863, offset: 0x80825, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xC34, symBinAddr: 0x10CB0, symSize: 0x30 } - - { offsetInCU: 0x194E, offset: 0x80910, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xCBC, symBinAddr: 0x10D38, symSize: 0x65C } - - { offsetInCU: 0x214C, offset: 0x8110E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x135C, symBinAddr: 0x113D8, symSize: 0x6C8 } - - { offsetInCU: 0x10C, offset: 0x81ACE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0xED4, symBinAddr: 0x1294C, symSize: 0x68 } - - { offsetInCU: 0x19C, offset: 0x81B5E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0xF48, symBinAddr: 0x129C0, symSize: 0x10 } - - { offsetInCU: 0x1CB, offset: 0x81B8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0xF58, symBinAddr: 0x129D0, symSize: 0x4 } - - { offsetInCU: 0x368, offset: 0x81D2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x16DC, symBinAddr: 0x13154, symSize: 0x2C } - - { offsetInCU: 0x5D4, offset: 0x81F96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1744, symBinAddr: 0x131BC, symSize: 0x68 } - - { offsetInCU: 0x603, offset: 0x81FC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x17AC, symBinAddr: 0x13224, symSize: 0x20 } - - { offsetInCU: 0x617, offset: 0x81FD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x17CC, symBinAddr: 0x13244, symSize: 0x20 } - - { offsetInCU: 0x62B, offset: 0x81FED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x17EC, symBinAddr: 0x13264, symSize: 0x30 } - - { offsetInCU: 0x63F, offset: 0x82001, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x181C, symBinAddr: 0x13294, symSize: 0x8 } - - { offsetInCU: 0x653, offset: 0x82015, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1824, symBinAddr: 0x1329C, symSize: 0x3C } - - { offsetInCU: 0x667, offset: 0x82029, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1860, symBinAddr: 0x132D8, symSize: 0x50 } - - { offsetInCU: 0x67B, offset: 0x8203D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x18BC, symBinAddr: 0x13328, symSize: 0x40 } - - { offsetInCU: 0x68F, offset: 0x82051, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x18FC, symBinAddr: 0x13368, symSize: 0x48 } - - { offsetInCU: 0x6A3, offset: 0x82065, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1944, symBinAddr: 0x133B0, symSize: 0x40 } - - { offsetInCU: 0x6B7, offset: 0x82079, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1984, symBinAddr: 0x133F0, symSize: 0x10 } - - { offsetInCU: 0x6CB, offset: 0x8208D, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1994, symBinAddr: 0x13400, symSize: 0x48 } - - { offsetInCU: 0x6DF, offset: 0x820A1, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1AA0, symBinAddr: 0x13448, symSize: 0x58 } - - { offsetInCU: 0x6F3, offset: 0x820B5, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1AF8, symBinAddr: 0x134A0, symSize: 0x8 } - - { offsetInCU: 0x761, offset: 0x82123, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x1DEC, symBinAddr: 0x13794, symSize: 0x10 } - - { offsetInCU: 0xCBB, offset: 0x8267D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0x11AA0, symSize: 0x540 } - - { offsetInCU: 0xF57, offset: 0x82919, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x54C, symBinAddr: 0x11FEC, symSize: 0xE0 } - - { offsetInCU: 0xFD6, offset: 0x82998, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0x1217C, symSize: 0x9C } - - { offsetInCU: 0x1069, offset: 0x82A2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0xDCC, symBinAddr: 0x12844, symSize: 0x108 } - - { offsetInCU: 0x11B3, offset: 0x82B75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x12D0, symBinAddr: 0x12D48, symSize: 0x40C } - - { offsetInCU: 0x18C9, offset: 0x8328B, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1B00, symBinAddr: 0x134A8, symSize: 0x14 } - - { offsetInCU: 0x1968, offset: 0x8332A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1B14, symBinAddr: 0x134BC, symSize: 0x1E4 } - - { offsetInCU: 0x27, offset: 0x83507, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x137A4, symSize: 0x2C } - - { offsetInCU: 0x4B, offset: 0x8352B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2D8, symBinAddr: 0x1056CB8, symSize: 0x0 } - - { offsetInCU: 0x65, offset: 0x83545, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x137A4, symSize: 0x2C } - - { offsetInCU: 0x98, offset: 0x83578, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x178, symBinAddr: 0x1391C, symSize: 0x40 } - - { offsetInCU: 0x104, offset: 0x835E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x228, symBinAddr: 0x139CC, symSize: 0x3C } - - { offsetInCU: 0x156, offset: 0x83636, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x2C, symBinAddr: 0x137D0, symSize: 0x10C } - - { offsetInCU: 0x181, offset: 0x83661, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x208, symBinAddr: 0x139AC, symSize: 0x20 } - - { offsetInCU: 0x195, offset: 0x83675, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x294, symBinAddr: 0x13A38, symSize: 0x4 } - - { offsetInCU: 0x1C0, offset: 0x836A0, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x298, symBinAddr: 0x13A3C, symSize: 0x3C } - - { offsetInCU: 0x348, offset: 0x83828, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x138, symBinAddr: 0x138DC, symSize: 0x40 } - - { offsetInCU: 0x388, offset: 0x83868, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x1B8, symBinAddr: 0x1395C, symSize: 0x20 } - - { offsetInCU: 0x39C, offset: 0x8387C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1D8, symBinAddr: 0x1397C, symSize: 0x30 } - - { offsetInCU: 0x3D8, offset: 0x838B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x264, symBinAddr: 0x13A08, symSize: 0x30 } - - { offsetInCU: 0x2B, offset: 0x83906, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x13A78, symSize: 0xA4 } - - { offsetInCU: 0x66, offset: 0x83941, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA4, symBinAddr: 0x13B1C, symSize: 0xA4 } - - { offsetInCU: 0xF9, offset: 0x839D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D8, symBinAddr: 0x13C50, symSize: 0x110 } - - { offsetInCU: 0x1A2, offset: 0x83A7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x30C, symBinAddr: 0x13D84, symSize: 0x28 } - - { offsetInCU: 0x222, offset: 0x83AFD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x338, symBinAddr: 0x13DB0, symSize: 0xA0 } - - { offsetInCU: 0x29B, offset: 0x83B76, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4D0, symBinAddr: 0x13F48, symSize: 0x15C } - - { offsetInCU: 0x330, offset: 0x83C0B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x67C, symBinAddr: 0x140F4, symSize: 0x3C } - - { offsetInCU: 0x381, offset: 0x83C5C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6E8, symBinAddr: 0x14160, symSize: 0x160 } - - { offsetInCU: 0x4DF, offset: 0x83DBA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x848, symBinAddr: 0x142C0, symSize: 0x2E4 } - - { offsetInCU: 0x5AE, offset: 0x83E89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB2C, symBinAddr: 0x145A4, symSize: 0x20 } - - { offsetInCU: 0x5C2, offset: 0x83E9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB4C, symBinAddr: 0x145C4, symSize: 0x44 } - - { offsetInCU: 0x5D6, offset: 0x83EB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xB90, symBinAddr: 0x14608, symSize: 0x2C } - - { offsetInCU: 0x5EA, offset: 0x83EC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBBC, symBinAddr: 0x14634, symSize: 0x8 } - - { offsetInCU: 0x5FE, offset: 0x83ED9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBC4, symBinAddr: 0x1463C, symSize: 0x40 } - - { offsetInCU: 0x612, offset: 0x83EED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC10, symBinAddr: 0x1467C, symSize: 0x30 } - - { offsetInCU: 0x626, offset: 0x83F01, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC40, symBinAddr: 0x146AC, symSize: 0x48 } - - { offsetInCU: 0x63A, offset: 0x83F15, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xC88, symBinAddr: 0x146F4, symSize: 0x3C } - - { offsetInCU: 0x64E, offset: 0x83F29, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCC4, symBinAddr: 0x14730, symSize: 0x8 } - - { offsetInCU: 0x662, offset: 0x83F3D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCCC, symBinAddr: 0x14738, symSize: 0x4 } - - { offsetInCU: 0x676, offset: 0x83F51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xCD0, symBinAddr: 0x1473C, symSize: 0x4 } - - { offsetInCU: 0x68A, offset: 0x83F65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xCD4, symBinAddr: 0x14740, symSize: 0x10 } - - { offsetInCU: 0x712, offset: 0x83FED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D8, symBinAddr: 0x13E50, symSize: 0x4 } - - { offsetInCU: 0x72E, offset: 0x84009, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3DC, symBinAddr: 0x13E54, symSize: 0x4 } - - { offsetInCU: 0x74A, offset: 0x84025, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3E0, symBinAddr: 0x13E58, symSize: 0x4 } - - { offsetInCU: 0x766, offset: 0x84041, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x3E4, symBinAddr: 0x13E5C, symSize: 0x4 } - - { offsetInCU: 0xA14, offset: 0x842EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x13A78, symSize: 0xA4 } - - { offsetInCU: 0xAAA, offset: 0x84385, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x148, symBinAddr: 0x13BC0, symSize: 0x90 } - - { offsetInCU: 0xC31, offset: 0x8450C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2E8, symBinAddr: 0x13D60, symSize: 0x24 } - - { offsetInCU: 0xC7B, offset: 0x84556, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x334, symBinAddr: 0x13DAC, symSize: 0x4 } - - { offsetInCU: 0xC9D, offset: 0x84578, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x3E8, symBinAddr: 0x13E60, symSize: 0xE8 } - - { offsetInCU: 0xD4D, offset: 0x84628, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x62C, symBinAddr: 0x140A4, symSize: 0x20 } - - { offsetInCU: 0xD61, offset: 0x8463C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x64C, symBinAddr: 0x140C4, symSize: 0x30 } - - { offsetInCU: 0xD97, offset: 0x84672, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6B8, symBinAddr: 0x14130, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x8478B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x14754, symSize: 0x4 } - - { offsetInCU: 0x71, offset: 0x847D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x4, symBinAddr: 0x14758, symSize: 0x70 } - - { offsetInCU: 0xF6, offset: 0x8485A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x78, symBinAddr: 0x147CC, symSize: 0x50 } - - { offsetInCU: 0x191, offset: 0x848F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xCC, symBinAddr: 0x14820, symSize: 0x68 } - - { offsetInCU: 0x254, offset: 0x849B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x138, symBinAddr: 0x1488C, symSize: 0x98 } - - { offsetInCU: 0x323, offset: 0x84A87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x220, symBinAddr: 0x14974, symSize: 0x3C } - - { offsetInCU: 0x375, offset: 0x84AD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x28C, symBinAddr: 0x149E0, symSize: 0x20 } - - { offsetInCU: 0x4E5, offset: 0x84C49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x14754, symSize: 0x4 } - - { offsetInCU: 0x51D, offset: 0x84C81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x14754, symSize: 0x4 } - - { offsetInCU: 0x588, offset: 0x84CEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x147C8, symSize: 0x4 } - - { offsetInCU: 0x5C8, offset: 0x84D2C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x147C8, symSize: 0x4 } - - { offsetInCU: 0x62A, offset: 0x84D8E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x1481C, symSize: 0x4 } - - { offsetInCU: 0x67C, offset: 0x84DE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x1481C, symSize: 0x4 } - - { offsetInCU: 0x6F1, offset: 0x84E55, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x14888, symSize: 0x4 } - - { offsetInCU: 0x767, offset: 0x84ECB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x14888, symSize: 0x4 } - - { offsetInCU: 0x805, offset: 0x84F69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1D0, symBinAddr: 0x14924, symSize: 0x20 } - - { offsetInCU: 0x819, offset: 0x84F7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x1F0, symBinAddr: 0x14944, symSize: 0x30 } - - { offsetInCU: 0x84F, offset: 0x84FB3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x25C, symBinAddr: 0x149B0, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x84FFD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x14A00, symSize: 0x14 } - - { offsetInCU: 0xA9, offset: 0x8507F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x14, symBinAddr: 0x14A14, symSize: 0x38 } - - { offsetInCU: 0x1A2, offset: 0x85178, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x68, symBinAddr: 0x14A68, symSize: 0x40 } - - { offsetInCU: 0x284, offset: 0x8525A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x118, symBinAddr: 0x14B18, symSize: 0x3C } - - { offsetInCU: 0x2D6, offset: 0x852AC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0xF8, symBinAddr: 0x14AF8, symSize: 0x20 } - - { offsetInCU: 0x480, offset: 0x85456, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x14A00, symSize: 0x14 } - - { offsetInCU: 0x5C4, offset: 0x8559A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x4C, symBinAddr: 0x14A4C, symSize: 0x1C } - - { offsetInCU: 0x6FA, offset: 0x856D0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0xA8, symBinAddr: 0x14AA8, symSize: 0x20 } - - { offsetInCU: 0x70E, offset: 0x856E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0xC8, symBinAddr: 0x14AC8, symSize: 0x30 } - - { offsetInCU: 0x744, offset: 0x8571A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x154, symBinAddr: 0x14B54, symSize: 0x30 } - - { offsetInCU: 0x61, offset: 0x8579E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x14B88, symSize: 0x10 } - - { offsetInCU: 0x81, offset: 0x857BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x14B88, symSize: 0x10 } - - { offsetInCU: 0xB7, offset: 0x857F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x14B98, symSize: 0x10 } - - { offsetInCU: 0xD7, offset: 0x85814, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x14B98, symSize: 0x10 } - - { offsetInCU: 0x110, offset: 0x8584D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x24, symBinAddr: 0x14BA8, symSize: 0x48 } - - { offsetInCU: 0x168, offset: 0x858A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xB4, symBinAddr: 0x14C38, symSize: 0x50 } - - { offsetInCU: 0x1C3, offset: 0x85900, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x14C88, symSize: 0x10 } - - { offsetInCU: 0x1E3, offset: 0x85920, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x14C88, symSize: 0x10 } - - { offsetInCU: 0x219, offset: 0x85956, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x14C98, symSize: 0x10 } - - { offsetInCU: 0x239, offset: 0x85976, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x14C98, symSize: 0x10 } - - { offsetInCU: 0x272, offset: 0x859AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1B0, symBinAddr: 0x14D34, symSize: 0x78 } - - { offsetInCU: 0x2C8, offset: 0x85A05, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x2D4, symBinAddr: 0x14E58, symSize: 0xB0 } - - { offsetInCU: 0x32A, offset: 0x85A67, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x43C, symBinAddr: 0x14FC0, symSize: 0x28 } - - { offsetInCU: 0x35C, offset: 0x85A99, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x4E0, symBinAddr: 0x14FE8, symSize: 0xA0 } - - { offsetInCU: 0x3DD, offset: 0x85B1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x5BC, symBinAddr: 0x15088, symSize: 0x60 } - - { offsetInCU: 0x44D, offset: 0x85B8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x620, symBinAddr: 0x150EC, symSize: 0x4C } - - { offsetInCU: 0x4BF, offset: 0x85BFC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x70C, symBinAddr: 0x151D8, symSize: 0x34 } - - { offsetInCU: 0x533, offset: 0x85C70, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x190, symBinAddr: 0x14D14, symSize: 0x20 } - - { offsetInCU: 0x55D, offset: 0x85C9A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x74C, symBinAddr: 0x15218, symSize: 0x10 } - - { offsetInCU: 0x65B, offset: 0x85D98, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xA08, symBinAddr: 0x154D4, symSize: 0x74 } - - { offsetInCU: 0x699, offset: 0x85DD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x15548, symSize: 0x10 } - - { offsetInCU: 0x6B9, offset: 0x85DF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x15548, symSize: 0x10 } - - { offsetInCU: 0x6EF, offset: 0x85E2C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x15558, symSize: 0x10 } - - { offsetInCU: 0x70F, offset: 0x85E4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x15558, symSize: 0x10 } - - { offsetInCU: 0x748, offset: 0x85E85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xA9C, symBinAddr: 0x15568, symSize: 0x20 } - - { offsetInCU: 0x7A0, offset: 0x85EDD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xABC, symBinAddr: 0x15588, symSize: 0x14 } - - { offsetInCU: 0x7FB, offset: 0x85F38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xAD0, symBinAddr: 0x1559C, symSize: 0x44 } - - { offsetInCU: 0x853, offset: 0x85F90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xB58, symBinAddr: 0x15624, symSize: 0x48 } - - { offsetInCU: 0x8E8, offset: 0x86025, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xCBC, symBinAddr: 0x15788, symSize: 0x78 } - - { offsetInCU: 0x93E, offset: 0x8607B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xE34, symBinAddr: 0x15900, symSize: 0xB0 } - - { offsetInCU: 0x9A0, offset: 0x860DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x15A5C, symSize: 0x28 } - - { offsetInCU: 0x9D2, offset: 0x8610F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0xFB8, symBinAddr: 0x15A84, symSize: 0xB8 } - - { offsetInCU: 0xA53, offset: 0x86190, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x1074, symBinAddr: 0x15B3C, symSize: 0x28 } - - { offsetInCU: 0xAB1, offset: 0x861EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x10D8, symBinAddr: 0x15BA0, symSize: 0x10 } - - { offsetInCU: 0xC63, offset: 0x863A0, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfC12CanvasNative15NSCTouchHandlerC7PointerV_Tgm5', symObjAddr: 0x130C, symBinAddr: 0x15D20, symSize: 0x80 } - - { offsetInCU: 0xCE6, offset: 0x86423, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgm5', symObjAddr: 0x140C, symBinAddr: 0x15DA0, symSize: 0x6C } - - { offsetInCU: 0xD6A, offset: 0x864A7, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x1630, symBinAddr: 0x15FC4, symSize: 0x44 } - - { offsetInCU: 0xD7E, offset: 0x864BB, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x1674, symBinAddr: 0x16008, symSize: 0x44 } - - { offsetInCU: 0xD92, offset: 0x864CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x16B8, symBinAddr: 0x1604C, symSize: 0x20 } - - { offsetInCU: 0xE6C, offset: 0x865A9, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x14FC, symBinAddr: 0x15E90, symSize: 0x124 } - - { offsetInCU: 0x112B, offset: 0x86868, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x6C, symBinAddr: 0x14BF0, symSize: 0x48 } - - { offsetInCU: 0x11A8, offset: 0x868E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x124, symBinAddr: 0x14CA8, symSize: 0x6C } - - { offsetInCU: 0x11EF, offset: 0x8692C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x228, symBinAddr: 0x14DAC, symSize: 0xAC } - - { offsetInCU: 0x1253, offset: 0x86990, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x384, symBinAddr: 0x14F08, symSize: 0xB8 } - - { offsetInCU: 0x12DE, offset: 0x86A1B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x61C, symBinAddr: 0x150E8, symSize: 0x4 } - - { offsetInCU: 0x12FF, offset: 0x86A3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x66C, symBinAddr: 0x15138, symSize: 0x74 } - - { offsetInCU: 0x1313, offset: 0x86A50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x6E0, symBinAddr: 0x151AC, symSize: 0x2C } - - { offsetInCU: 0x142C, offset: 0x86B69, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x75C, symBinAddr: 0x15228, symSize: 0x2AC } - - { offsetInCU: 0x17D6, offset: 0x86F13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xB14, symBinAddr: 0x155E0, symSize: 0x44 } - - { offsetInCU: 0x1815, offset: 0x86F52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xBA0, symBinAddr: 0x1566C, symSize: 0x48 } - - { offsetInCU: 0x183A, offset: 0x86F77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xBE8, symBinAddr: 0x156B4, symSize: 0x44 } - - { offsetInCU: 0x185F, offset: 0x86F9C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xC2C, symBinAddr: 0x156F8, symSize: 0x4 } - - { offsetInCU: 0x1886, offset: 0x86FC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xC30, symBinAddr: 0x156FC, symSize: 0x20 } - - { offsetInCU: 0x189A, offset: 0x86FD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xC50, symBinAddr: 0x1571C, symSize: 0x6C } - - { offsetInCU: 0x18E1, offset: 0x8701E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xD88, symBinAddr: 0x15854, symSize: 0xAC } - - { offsetInCU: 0x1940, offset: 0x8707D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0xEE4, symBinAddr: 0x159B0, symSize: 0xAC } - - { offsetInCU: 0x19DE, offset: 0x8711B, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x10E8, symBinAddr: 0x15BB0, symSize: 0xBC } - - { offsetInCU: 0x1AC0, offset: 0x871FD, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x1258, symBinAddr: 0x15C6C, symSize: 0xB4 } - - { offsetInCU: 0x1BCC, offset: 0x87309, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x1478, symBinAddr: 0x15E0C, symSize: 0x84 } - - { offsetInCU: 0x1CC5, offset: 0x87402, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x16D8, symBinAddr: 0x1606C, symSize: 0x360 } - - { offsetInCU: 0x4F, offset: 0x87840, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x980, symBinAddr: 0x1056E00, symSize: 0x0 } - - { offsetInCU: 0x5D, offset: 0x8784E, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x165B8, symSize: 0x2C } - - { offsetInCU: 0x75, offset: 0x87866, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x2C, symBinAddr: 0x165E4, symSize: 0x10C } - - { offsetInCU: 0xBC, offset: 0x878AD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x13C, symBinAddr: 0x166F4, symSize: 0x44 } - - { offsetInCU: 0x132, offset: 0x87923, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3E4, symBinAddr: 0x1699C, symSize: 0x80 } - - { offsetInCU: 0x191, offset: 0x87982, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x4B4, symBinAddr: 0x16A6C, symSize: 0x3C } - - { offsetInCU: 0x1E2, offset: 0x879D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x524, symBinAddr: 0x16ADC, symSize: 0x214 } - - { offsetInCU: 0x261, offset: 0x87A52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x520, symBinAddr: 0x16AD8, symSize: 0x4 } - - { offsetInCU: 0x29D, offset: 0x87A8E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x738, symBinAddr: 0x16CF0, symSize: 0x20 } - - { offsetInCU: 0x2BC, offset: 0x87AAD, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x77C, symBinAddr: 0x16D34, symSize: 0x14 } - - { offsetInCU: 0x2E5, offset: 0x87AD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x7BC, symBinAddr: 0x16D74, symSize: 0xC } - - { offsetInCU: 0x2F9, offset: 0x87AEA, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x7C8, symBinAddr: 0x16D80, symSize: 0x10 } - - { offsetInCU: 0x30D, offset: 0x87AFE, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x7D8, symBinAddr: 0x16D90, symSize: 0x8 } - - { offsetInCU: 0x321, offset: 0x87B12, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGMa', symObjAddr: 0x860, symBinAddr: 0x16DD8, symSize: 0x54 } - - { offsetInCU: 0x335, offset: 0x87B26, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8F0, symBinAddr: 0x16E2C, symSize: 0x24 } - - { offsetInCU: 0x369, offset: 0x87B5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x938, symBinAddr: 0x16E74, symSize: 0x24 } - - { offsetInCU: 0x4FE, offset: 0x87CEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x166F0, symSize: 0x4 } - - { offsetInCU: 0x52C, offset: 0x87D1D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x166F0, symSize: 0x4 } - - { offsetInCU: 0x58B, offset: 0x87D7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x180, symBinAddr: 0x16738, symSize: 0x4 } - - { offsetInCU: 0x59F, offset: 0x87D90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x184, symBinAddr: 0x1673C, symSize: 0x260 } - - { offsetInCU: 0x678, offset: 0x87E69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x464, symBinAddr: 0x16A1C, symSize: 0x20 } - - { offsetInCU: 0x68C, offset: 0x87E7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x484, symBinAddr: 0x16A3C, symSize: 0x30 } - - { offsetInCU: 0x6C2, offset: 0x87EB3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4F0, symBinAddr: 0x16AA8, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x87F59, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x16EAC, symSize: 0x20 } - - { offsetInCU: 0x77, offset: 0x87FA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x16F1C, symSize: 0x3C } - - { offsetInCU: 0xC9, offset: 0x87FFB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x16EFC, symSize: 0x20 } - - { offsetInCU: 0x214, offset: 0x88146, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x16EAC, symSize: 0x20 } - - { offsetInCU: 0x228, offset: 0x8815A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x16ECC, symSize: 0x30 } - - { offsetInCU: 0x264, offset: 0x88196, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xAC, symBinAddr: 0x16F58, symSize: 0x30 } - - { offsetInCU: 0x26, offset: 0x881DF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x24D68C, symSize: 0x265C } - - { offsetInCU: 0x40, offset: 0x881F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9DE0, symBinAddr: 0x92C350, symSize: 0x0 } - - { offsetInCU: 0x92, offset: 0x8824B, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFDE0, symBinAddr: 0x932350, symSize: 0x0 } - - { offsetInCU: 0xF6, offset: 0x882AF, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE08, symBinAddr: 0x932378, symSize: 0x0 } - - { offsetInCU: 0x10C, offset: 0x882C5, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10210, symBinAddr: 0x932780, symSize: 0x0 } - - { offsetInCU: 0x123, offset: 0x882DC, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE50, symBinAddr: 0x9323C0, symSize: 0x0 } - - { offsetInCU: 0x9C2, offset: 0x88B7B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x24D68C, symSize: 0x265C } - - { offsetInCU: 0x45CD, offset: 0x8C786, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x24FCE8, symSize: 0x134 } - - { offsetInCU: 0x46F3, offset: 0x8C8AC, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9918, symBinAddr: 0x256FA4, symSize: 0x21C } - - { offsetInCU: 0x4922, offset: 0x8CADB, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FDC, symBinAddr: 0x252668, symSize: 0x1B8 } - - { offsetInCU: 0x530F, offset: 0x8D4C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x24FE1C, symSize: 0x5BC } - - { offsetInCU: 0x5F72, offset: 0x8E12B, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x2503D8, symSize: 0x7F8 } - - { offsetInCU: 0x642A, offset: 0x8E5E3, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x250BD0, symSize: 0x208 } - - { offsetInCU: 0x69F8, offset: 0x8EBB1, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x250DD8, symSize: 0x7B0 } - - { offsetInCU: 0x77D8, offset: 0x8F991, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3EFC, symBinAddr: 0x251588, symSize: 0x634 } - - { offsetInCU: 0x8199, offset: 0x90352, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4530, symBinAddr: 0x251BBC, symSize: 0xAAC } - - { offsetInCU: 0x956A, offset: 0x91723, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x5298, symBinAddr: 0x252924, symSize: 0x23F8 } - - { offsetInCU: 0xCABB, offset: 0x94C74, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5194, symBinAddr: 0x252820, symSize: 0x104 } - - { offsetInCU: 0xCD03, offset: 0x94EBC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7690, symBinAddr: 0x254D1C, symSize: 0x30 } - - { offsetInCU: 0xCDF4, offset: 0x94FAD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C0, symBinAddr: 0x254D4C, symSize: 0x58 } - - { offsetInCU: 0xCE69, offset: 0x95022, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x254DA4, symSize: 0x4 } - - { offsetInCU: 0xCEB1, offset: 0x9506A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x254DA4, symSize: 0x4 } - - { offsetInCU: 0xCEE0, offset: 0x95099, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x254DA4, symSize: 0x4 } - - { offsetInCU: 0xCF04, offset: 0x950BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x771C, symBinAddr: 0x254DA8, symSize: 0x8C } - - { offsetInCU: 0xD039, offset: 0x951F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x254E34, symSize: 0x4 } - - { offsetInCU: 0xD072, offset: 0x9522B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x254E34, symSize: 0x4 } - - { offsetInCU: 0xD30B, offset: 0x954C4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77AC, symBinAddr: 0x254E38, symSize: 0x1598 } - - { offsetInCU: 0x10654, offset: 0x9880D, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B34, symBinAddr: 0x2571C0, symSize: 0x218 } - - { offsetInCU: 0x10C86, offset: 0x98E3F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D44, symBinAddr: 0x2563D0, symSize: 0x20 } - - { offsetInCU: 0x11123, offset: 0x992DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8D64, symBinAddr: 0x2563F0, symSize: 0xBB4 } - - { offsetInCU: 0x26, offset: 0x9A0BF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2573D8, symSize: 0x1F4 } - - { offsetInCU: 0x1D2, offset: 0x9A26B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2573D8, symSize: 0x1F4 } - - { offsetInCU: 0x26, offset: 0x9A506, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2575CC, symSize: 0x3C } - - { offsetInCU: 0x34, offset: 0x9A514, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2575CC, symSize: 0x3C } - - { offsetInCU: 0x26, offset: 0x9A624, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x257608, symSize: 0x98 } - - { offsetInCU: 0x34, offset: 0x9A632, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x257608, symSize: 0x98 } - - { offsetInCU: 0x86, offset: 0x9A795, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x932830, symSize: 0x0 } - - { offsetInCU: 0xB8, offset: 0x9A7C7, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x9327C0, symSize: 0x0 } - - { offsetInCU: 0xDA, offset: 0x9A7E9, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x9327F0, symSize: 0x0 } - - { offsetInCU: 0xF0, offset: 0x9A7FF, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x932820, symSize: 0x0 } - - { offsetInCU: 0x3B7, offset: 0x9AAC6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2576A0, symSize: 0x18 } - - { offsetInCU: 0x3FB, offset: 0x9AB0A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2576A0, symSize: 0x18 } - - { offsetInCU: 0x594, offset: 0x9ACA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x2576B8, symSize: 0x18 } - - { offsetInCU: 0x63F, offset: 0x9AD4E, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x2576D0, symSize: 0x320 } - - { offsetInCU: 0x1199, offset: 0x9B8A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x2579F0, symSize: 0xAC } - - { offsetInCU: 0x148F, offset: 0x9BB9E, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x257A9C, symSize: 0x500 } - - { offsetInCU: 0x268C, offset: 0x9CD9B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x257F9C, symSize: 0x2C8 } - - { offsetInCU: 0x2CDB, offset: 0x9D3EA, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x258264, symSize: 0xF4 } - - { offsetInCU: 0x2EED, offset: 0x9D5FC, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x258358, symSize: 0x168 } - - { offsetInCU: 0x26, offset: 0x9D961, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2584C0, symSize: 0x38 } - - { offsetInCU: 0xFA, offset: 0x9DA35, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2584C0, symSize: 0x38 } - - { offsetInCU: 0x12C, offset: 0x9DA67, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2584C0, symSize: 0x38 } - - { offsetInCU: 0x199, offset: 0x9DAD4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2584F8, symSize: 0x3C } - - { offsetInCU: 0x1F3, offset: 0x9DB2E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2584F8, symSize: 0x3C } - - { offsetInCU: 0x31B, offset: 0x9DC56, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x258534, symSize: 0x5C } - - { offsetInCU: 0x517, offset: 0x9DE52, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x258590, symSize: 0x1C } - - { offsetInCU: 0x636, offset: 0x9DF71, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x2585AC, symSize: 0x54 } - - { offsetInCU: 0x6D9, offset: 0x9E014, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x258600, symSize: 0x4C } - - { offsetInCU: 0x8A7, offset: 0x9E1E2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x25864C, symSize: 0xA8 } - - { offsetInCU: 0x90B, offset: 0x9E246, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x25864C, symSize: 0xA8 } - - { offsetInCU: 0xBAA, offset: 0x9E4E5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2586F4, symSize: 0x110 } - - { offsetInCU: 0xC4C, offset: 0x9E587, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2586F4, symSize: 0x110 } - - { offsetInCU: 0xEDE, offset: 0x9E819, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x258804, symSize: 0xB0 } - - { offsetInCU: 0xF5E, offset: 0x9E899, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x258804, symSize: 0xB0 } - - { offsetInCU: 0x10E1, offset: 0x9EA1C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x2588B4, symSize: 0x178 } - - { offsetInCU: 0x13AB, offset: 0x9ECE6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x56C, symBinAddr: 0x258A2C, symSize: 0x1F4 } - - { offsetInCU: 0x1500, offset: 0x9EE3B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x760, symBinAddr: 0x258C20, symSize: 0x18 } - - { offsetInCU: 0x1567, offset: 0x9EEA2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x778, symBinAddr: 0x258C38, symSize: 0xC } - - { offsetInCU: 0x15A0, offset: 0x9EEDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x784, symBinAddr: 0x258C44, symSize: 0x8 } - - { offsetInCU: 0x1624, offset: 0x9EF5F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x78C, symBinAddr: 0x258C4C, symSize: 0x3C } - - { offsetInCU: 0x26, offset: 0x9F112, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x258C88, symSize: 0x170 } - - { offsetInCU: 0x34, offset: 0x9F120, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x258C88, symSize: 0x170 } - - { offsetInCU: 0x34, offset: 0x9F226, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x374, symBinAddr: 0x105DC10, symSize: 0x0 } - - { offsetInCU: 0x26, offset: 0x9F268, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x258DF8, symSize: 0x388 } - - { offsetInCU: 0x76, offset: 0x9F2B8, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x933000, symSize: 0x0 } - - { offsetInCU: 0xFA, offset: 0x9F33C, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x958000, symSize: 0x0 } - - { offsetInCU: 0x35B, offset: 0x9F59D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x258DF8, symSize: 0x388 } - - { offsetInCU: 0xC66, offset: 0x9FEA8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x259180, symSize: 0x204 } - - { offsetInCU: 0x1171, offset: 0xA03B3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x259384, symSize: 0x1BC } - - { offsetInCU: 0x10, offset: 0xA0788, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x259540, symSize: 0x1A0 } - - { offsetInCU: 0x50, offset: 0xA07C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x259540, symSize: 0x1A0 } - - { offsetInCU: 0x5E, offset: 0xA07D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x2596E0, symSize: 0x60 } - - { offsetInCU: 0x81, offset: 0xA07F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x259740, symSize: 0x288 } - - { offsetInCU: 0x10, offset: 0xA07EA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2599D0, symSize: 0x130 } - - { offsetInCU: 0x48, offset: 0xA0822, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2599D0, symSize: 0x130 } - - { offsetInCU: 0x5F, offset: 0xA0839, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x259B00, symSize: 0x70 } - - { offsetInCU: 0x75, offset: 0xA084F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x259B70, symSize: 0x160 } - - { offsetInCU: 0x7A, offset: 0xA0854, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x259CD0, symSize: 0x378 } - - { offsetInCU: 0x10, offset: 0xA0862, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x25A060, symSize: 0x3A0 } - - { offsetInCU: 0x48, offset: 0xA089A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x25A060, symSize: 0x3A0 } - - { offsetInCU: 0x4C, offset: 0xA089E, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x25A400, symSize: 0x6C0 } - - { offsetInCU: 0x66, offset: 0xA08B8, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x25AAC0, symSize: 0x1138 } - - { offsetInCU: 0x50, offset: 0xA0904, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0x25BD40, symSize: 0x1180 } - - { offsetInCU: 0x66, offset: 0xA091A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0x25CEC0, symSize: 0x1410 } - - { offsetInCU: 0x10, offset: 0xA0910, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x25E2E0, symSize: 0x240 } - - { offsetInCU: 0x45, offset: 0xA0945, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x25E2E0, symSize: 0x240 } - - { offsetInCU: 0x4D, offset: 0xA094D, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0x25E520, symSize: 0x9E0 } - - { offsetInCU: 0x63, offset: 0xA0963, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0x25EF00, symSize: 0x650 } - - { offsetInCU: 0x10, offset: 0xA0972, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x25F560, symSize: 0x40 } - - { offsetInCU: 0x47, offset: 0xA09A9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x25F560, symSize: 0x40 } - - { offsetInCU: 0x5D, offset: 0xA09BF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0x25F5A0, symSize: 0x40 } - - { offsetInCU: 0x76, offset: 0xA09D8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0x25F5E0, symSize: 0x40 } - - { offsetInCU: 0x81, offset: 0xA09E3, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0x25F620, symSize: 0x1E0 } - - { offsetInCU: 0x97, offset: 0xA09F9, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0x25F800, symSize: 0x170 } - - { offsetInCU: 0xAB, offset: 0xA0A0D, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0x25F970, symSize: 0x50 } - - { offsetInCU: 0xC3, offset: 0xA0A25, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0x25F9C0, symSize: 0x50 } - - { offsetInCU: 0xD9, offset: 0xA0A3B, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0x25FA10, symSize: 0x50 } - - { offsetInCU: 0xEF, offset: 0xA0A51, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0x25FA60, symSize: 0x60 } - - { offsetInCU: 0x111, offset: 0xA0A73, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0x25FAC0, symSize: 0x1E0 } - - { offsetInCU: 0x124, offset: 0xA0A86, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0x25FCA0, symSize: 0x360 } - - { offsetInCU: 0x141, offset: 0xA0AA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0x260000, symSize: 0x2D0 } - - { offsetInCU: 0x156, offset: 0xA0AB8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0x2602D0, symSize: 0x2B0 } - - { offsetInCU: 0x170, offset: 0xA0AD2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0x260580, symSize: 0x250 } - - { offsetInCU: 0x184, offset: 0xA0AE6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0x2607D0, symSize: 0x60 } - - { offsetInCU: 0x19A, offset: 0xA0AFC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0x260830, symSize: 0x44 } - - { offsetInCU: 0x10, offset: 0xA0AF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x260880, symSize: 0xB90 } - - { offsetInCU: 0x4C, offset: 0xA0B2E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x260880, symSize: 0xB90 } - - { offsetInCU: 0x62, offset: 0xA0B44, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0x261410, symSize: 0xB98 } - - { offsetInCU: 0x10, offset: 0xA0B3E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x261FC0, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA0B7F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x261FC0, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA0B7F, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x262E00, symSize: 0x7E0 } - - { offsetInCU: 0x10, offset: 0xA0B8A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x263600, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA0BCB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x263600, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA0BCB, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x264440, symSize: 0x1F0 } + - { offsetInCU: 0x34, offset: 0x7718F, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x8EC000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x771C4, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x8EC038, symSize: 0x0 } + - { offsetInCU: 0x3F, offset: 0x77219, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x28, symBinAddr: 0x8028, symSize: 0xC } + - { offsetInCU: 0x53, offset: 0x7722D, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x34, symBinAddr: 0x8034, symSize: 0x4 } + - { offsetInCU: 0x67, offset: 0x77241, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x38, symBinAddr: 0x8038, symSize: 0x20 } + - { offsetInCU: 0x7B, offset: 0x77255, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x58, symBinAddr: 0x8058, symSize: 0x28 } + - { offsetInCU: 0x8F, offset: 0x77269, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0x94, symBinAddr: 0x8094, symSize: 0x30 } + - { offsetInCU: 0xA3, offset: 0x7727D, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0xC4, symBinAddr: 0x80C4, symSize: 0xC } + - { offsetInCU: 0xB7, offset: 0x77291, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0xD0, symBinAddr: 0x80D0, symSize: 0x20 } + - { offsetInCU: 0xCB, offset: 0x772A5, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0xF0, symBinAddr: 0x80F0, symSize: 0x2C } + - { offsetInCU: 0x4F, offset: 0x7748E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AE8, symBinAddr: 0x10D39A0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x774A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AF0, symBinAddr: 0x10D39A8, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x774DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x4, symBinAddr: 0x8194, symSize: 0x38 } + - { offsetInCU: 0xF3, offset: 0x77532, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x40, symBinAddr: 0x81D0, symSize: 0x70 } + - { offsetInCU: 0x144, offset: 0x77583, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xB4, symBinAddr: 0x8244, symSize: 0x44 } + - { offsetInCU: 0x19F, offset: 0x775DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0xFC, symBinAddr: 0x828C, symSize: 0x50 } + - { offsetInCU: 0x204, offset: 0x77643, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x150, symBinAddr: 0x82E0, symSize: 0x68 } + - { offsetInCU: 0x27D, offset: 0x776BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1BC, symBinAddr: 0x834C, symSize: 0x98 } + - { offsetInCU: 0x2DA, offset: 0x77719, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x258, symBinAddr: 0x83E8, symSize: 0x14 } + - { offsetInCU: 0x35C, offset: 0x7779B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x270, symBinAddr: 0x8400, symSize: 0x14 } + - { offsetInCU: 0x40B, offset: 0x7784A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x2C8, symBinAddr: 0x8458, symSize: 0x50 } + - { offsetInCU: 0x4DC, offset: 0x7791B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x364, symBinAddr: 0x84F4, symSize: 0x58 } + - { offsetInCU: 0x5B6, offset: 0x779F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x404, symBinAddr: 0x8594, symSize: 0x58 } + - { offsetInCU: 0x695, offset: 0x77AD4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x4AC, symBinAddr: 0x863C, symSize: 0x60 } + - { offsetInCU: 0x741, offset: 0x77B80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x510, symBinAddr: 0x86A0, symSize: 0x8 } + - { offsetInCU: 0x7AA, offset: 0x77BE9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x51C, symBinAddr: 0x86AC, symSize: 0x8 } + - { offsetInCU: 0x801, offset: 0x77C40, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x538, symBinAddr: 0x86C8, symSize: 0x8 } + - { offsetInCU: 0x858, offset: 0x77C97, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x544, symBinAddr: 0x86D4, symSize: 0x8 } + - { offsetInCU: 0x8AF, offset: 0x77CEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x550, symBinAddr: 0x86E0, symSize: 0x8 } + - { offsetInCU: 0x906, offset: 0x77D45, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x55C, symBinAddr: 0x86EC, symSize: 0x8 } + - { offsetInCU: 0x985, offset: 0x77DC4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x56C, symBinAddr: 0x86FC, symSize: 0x24 } + - { offsetInCU: 0xA36, offset: 0x77E75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x594, symBinAddr: 0x8724, symSize: 0x14 } + - { offsetInCU: 0xAA9, offset: 0x77EE8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x5AC, symBinAddr: 0x873C, symSize: 0x8 } + - { offsetInCU: 0xB00, offset: 0x77F3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x60C, symBinAddr: 0x879C, symSize: 0x74 } + - { offsetInCU: 0xB8B, offset: 0x77FCA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0x814, symBinAddr: 0x89A4, symSize: 0xA0 } + - { offsetInCU: 0xBDC, offset: 0x7801B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xB1C, symBinAddr: 0x8CAC, symSize: 0x98 } + - { offsetInCU: 0xC2D, offset: 0x7806C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0xE70, symBinAddr: 0x9000, symSize: 0x98 } + - { offsetInCU: 0xC89, offset: 0x780C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1298, symBinAddr: 0x9428, symSize: 0xD8 } + - { offsetInCU: 0xCD1, offset: 0x78110, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x1374, symBinAddr: 0x9504, symSize: 0x34 } + - { offsetInCU: 0xD31, offset: 0x78170, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x13F8, symBinAddr: 0x9588, symSize: 0x3C } + - { offsetInCU: 0xD82, offset: 0x781C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1468, symBinAddr: 0x95F8, symSize: 0x2AC } + - { offsetInCU: 0xFB6, offset: 0x783F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x1714, symBinAddr: 0x98A4, symSize: 0x264 } + - { offsetInCU: 0x11B0, offset: 0x785EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1978, symBinAddr: 0x9B08, symSize: 0xEC } + - { offsetInCU: 0x12AD, offset: 0x786EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1A64, symBinAddr: 0x9BF4, symSize: 0x1B4 } + - { offsetInCU: 0x1422, offset: 0x78861, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1C18, symBinAddr: 0x9DA8, symSize: 0x1CC } + - { offsetInCU: 0x15B7, offset: 0x789F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x1DE4, symBinAddr: 0x9F74, symSize: 0x1E0 } + - { offsetInCU: 0x17A3, offset: 0x78BE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x1FC4, symBinAddr: 0xA154, symSize: 0x1B4 } + - { offsetInCU: 0x186D, offset: 0x78CAC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x231C, symBinAddr: 0xA4AC, symSize: 0x1D4 } + - { offsetInCU: 0x194E, offset: 0x78D8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x24F0, symBinAddr: 0xA680, symSize: 0x114 } + - { offsetInCU: 0x19F9, offset: 0x78E38, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0x8B4, symBinAddr: 0x8A44, symSize: 0x78 } + - { offsetInCU: 0x1A11, offset: 0x78E50, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xBB4, symBinAddr: 0x8D44, symSize: 0x54 } + - { offsetInCU: 0x1A7E, offset: 0x78EBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x1464, symBinAddr: 0x95F4, symSize: 0x4 } + - { offsetInCU: 0x1B09, offset: 0x78F48, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x2604, symBinAddr: 0xA794, symSize: 0x20 } + - { offsetInCU: 0x1B1D, offset: 0x78F5C, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2648, symBinAddr: 0xA7D8, symSize: 0x8 } + - { offsetInCU: 0x1B3C, offset: 0x78F7B, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2650, symBinAddr: 0xA7E0, symSize: 0x18 } + - { offsetInCU: 0x1B65, offset: 0x78FA4, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x2668, symBinAddr: 0xA7F8, symSize: 0x8 } + - { offsetInCU: 0x1B79, offset: 0x78FB8, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x2670, symBinAddr: 0xA800, symSize: 0x3C } + - { offsetInCU: 0x1B8D, offset: 0x78FCC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x26F0, symBinAddr: 0xA880, symSize: 0x34 } + - { offsetInCU: 0x1BA1, offset: 0x78FE0, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2724, symBinAddr: 0xA8B4, symSize: 0x10 } + - { offsetInCU: 0x1BB5, offset: 0x78FF4, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2734, symBinAddr: 0xA8C4, symSize: 0x8 } + - { offsetInCU: 0x1BC9, offset: 0x79008, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2760, symBinAddr: 0xA8F0, symSize: 0x40 } + - { offsetInCU: 0x1BFD, offset: 0x7903C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x27E4, symBinAddr: 0xA974, symSize: 0x40 } + - { offsetInCU: 0x1C3B, offset: 0x7907A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2824, symBinAddr: 0xA9B4, symSize: 0x28 } + - { offsetInCU: 0x1C6F, offset: 0x790AE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x28A4, symBinAddr: 0xAA34, symSize: 0x3C } + - { offsetInCU: 0x1CA3, offset: 0x790E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x290C, symBinAddr: 0xAA9C, symSize: 0x30 } + - { offsetInCU: 0x1CDF, offset: 0x7911E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2978, symBinAddr: 0xAB08, symSize: 0x10 } + - { offsetInCU: 0x1CF3, offset: 0x79132, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2988, symBinAddr: 0xAB18, symSize: 0x40 } + - { offsetInCU: 0x21C0, offset: 0x795FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x8190, symSize: 0x4 } + - { offsetInCU: 0x21DB, offset: 0x7961A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x3C, symBinAddr: 0x81CC, symSize: 0x4 } + - { offsetInCU: 0x21F6, offset: 0x79635, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xB0, symBinAddr: 0x8240, symSize: 0x4 } + - { offsetInCU: 0x2217, offset: 0x79656, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0xF8, symBinAddr: 0x8288, symSize: 0x4 } + - { offsetInCU: 0x2232, offset: 0x79671, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x14C, symBinAddr: 0x82DC, symSize: 0x4 } + - { offsetInCU: 0x224D, offset: 0x7968C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1B8, symBinAddr: 0x8348, symSize: 0x4 } + - { offsetInCU: 0x2268, offset: 0x796A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x254, symBinAddr: 0x83E4, symSize: 0x4 } + - { offsetInCU: 0x22F6, offset: 0x79735, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x26C, symBinAddr: 0x83FC, symSize: 0x4 } + - { offsetInCU: 0x2375, offset: 0x797B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x284, symBinAddr: 0x8414, symSize: 0x44 } + - { offsetInCU: 0x24B3, offset: 0x798F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x318, symBinAddr: 0x84A8, symSize: 0x4C } + - { offsetInCU: 0x25FC, offset: 0x79A3B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x3BC, symBinAddr: 0x854C, symSize: 0x48 } + - { offsetInCU: 0x2744, offset: 0x79B83, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x45C, symBinAddr: 0x85EC, symSize: 0x50 } + - { offsetInCU: 0x28A1, offset: 0x79CE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x50C, symBinAddr: 0x869C, symSize: 0x4 } + - { offsetInCU: 0x2913, offset: 0x79D52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x518, symBinAddr: 0x86A8, symSize: 0x4 } + - { offsetInCU: 0x2956, offset: 0x79D95, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x524, symBinAddr: 0x86B4, symSize: 0x14 } + - { offsetInCU: 0x299B, offset: 0x79DDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x540, symBinAddr: 0x86D0, symSize: 0x4 } + - { offsetInCU: 0x29DE, offset: 0x79E1D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x54C, symBinAddr: 0x86DC, symSize: 0x4 } + - { offsetInCU: 0x2A21, offset: 0x79E60, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x558, symBinAddr: 0x86E8, symSize: 0x4 } + - { offsetInCU: 0x2A64, offset: 0x79EA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x564, symBinAddr: 0x86F4, symSize: 0x8 } + - { offsetInCU: 0x2B4B, offset: 0x79F8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x590, symBinAddr: 0x8720, symSize: 0x4 } + - { offsetInCU: 0x2BCA, offset: 0x7A009, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x5A8, symBinAddr: 0x8738, symSize: 0x4 } + - { offsetInCU: 0x2C0D, offset: 0x7A04C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x5B4, symBinAddr: 0x8744, symSize: 0x58 } + - { offsetInCU: 0x2CCE, offset: 0x7A10D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x680, symBinAddr: 0x8810, symSize: 0x4 } + - { offsetInCU: 0x2CE2, offset: 0x7A121, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x684, symBinAddr: 0x8814, symSize: 0x190 } + - { offsetInCU: 0x2D82, offset: 0x7A1C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0x92C, symBinAddr: 0x8ABC, symSize: 0x2C } + - { offsetInCU: 0x2D96, offset: 0x7A1D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0x958, symBinAddr: 0x8AE8, symSize: 0x1C4 } + - { offsetInCU: 0x2E80, offset: 0x7A2BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xC08, symBinAddr: 0x8D98, symSize: 0x2C } + - { offsetInCU: 0x2E94, offset: 0x7A2D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xC34, symBinAddr: 0x8DC4, symSize: 0x23C } + - { offsetInCU: 0x2F48, offset: 0x7A387, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0xF08, symBinAddr: 0x9098, symSize: 0x4 } + - { offsetInCU: 0x2F5C, offset: 0x7A39B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0xF0C, symBinAddr: 0x909C, symSize: 0x38C } + - { offsetInCU: 0x31F3, offset: 0x7A632, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1370, symBinAddr: 0x9500, symSize: 0x4 } + - { offsetInCU: 0x320E, offset: 0x7A64D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x13A8, symBinAddr: 0x9538, symSize: 0x20 } + - { offsetInCU: 0x3222, offset: 0x7A661, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x13C8, symBinAddr: 0x9558, symSize: 0x30 } + - { offsetInCU: 0x3258, offset: 0x7A697, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x1434, symBinAddr: 0x95C4, symSize: 0x30 } + - { offsetInCU: 0x4F, offset: 0x7A8CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x55E0, symBinAddr: 0x10D39E0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x7A8E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x55E8, symBinAddr: 0x10D39E8, symSize: 0x0 } + - { offsetInCU: 0x83, offset: 0x7A903, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x55F0, symBinAddr: 0x10D39F0, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x7A91D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x55F8, symBinAddr: 0x10D39F8, symSize: 0x0 } + - { offsetInCU: 0xAB, offset: 0x7A92B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0xAC40, symSize: 0x40 } + - { offsetInCU: 0xF0, offset: 0x7A970, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x40, symBinAddr: 0xAC80, symSize: 0x30 } + - { offsetInCU: 0x135, offset: 0x7A9B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xA8, symBinAddr: 0xACE8, symSize: 0x40 } + - { offsetInCU: 0x187, offset: 0x7AA07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0xADD4, symSize: 0x10 } + - { offsetInCU: 0x1A7, offset: 0x7AA27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0xADD4, symSize: 0x10 } + - { offsetInCU: 0x1DD, offset: 0x7AA5D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0xADE4, symSize: 0x10 } + - { offsetInCU: 0x1FD, offset: 0x7AA7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0xADE4, symSize: 0x10 } + - { offsetInCU: 0x236, offset: 0x7AAB6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0xADF4, symSize: 0x10 } + - { offsetInCU: 0x256, offset: 0x7AAD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0xADF4, symSize: 0x10 } + - { offsetInCU: 0x28C, offset: 0x7AB0C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0xAE04, symSize: 0x10 } + - { offsetInCU: 0x2AC, offset: 0x7AB2C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0xAE04, symSize: 0x10 } + - { offsetInCU: 0x2E5, offset: 0x7AB65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x29C, symBinAddr: 0xAEDC, symSize: 0x44 } + - { offsetInCU: 0x322, offset: 0x7ABA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x324, symBinAddr: 0xAF64, symSize: 0x30 } + - { offsetInCU: 0x3B1, offset: 0x7AC31, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x578, symBinAddr: 0xB1B8, symSize: 0x44 } + - { offsetInCU: 0x409, offset: 0x7AC89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x600, symBinAddr: 0xB240, symSize: 0x48 } + - { offsetInCU: 0x464, offset: 0x7ACE4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x648, symBinAddr: 0xB288, symSize: 0x44 } + - { offsetInCU: 0x4BC, offset: 0x7AD3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x6D0, symBinAddr: 0xB310, symSize: 0x48 } + - { offsetInCU: 0x517, offset: 0x7AD97, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x718, symBinAddr: 0xB358, symSize: 0x10 } + - { offsetInCU: 0x537, offset: 0x7ADB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x718, symBinAddr: 0xB358, symSize: 0x10 } + - { offsetInCU: 0x56D, offset: 0x7ADED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x728, symBinAddr: 0xB368, symSize: 0x10 } + - { offsetInCU: 0x58D, offset: 0x7AE0D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x728, symBinAddr: 0xB368, symSize: 0x10 } + - { offsetInCU: 0x5C6, offset: 0x7AE46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x738, symBinAddr: 0xB378, symSize: 0x10 } + - { offsetInCU: 0x5E6, offset: 0x7AE66, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x738, symBinAddr: 0xB378, symSize: 0x10 } + - { offsetInCU: 0x61E, offset: 0x7AE9E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x748, symBinAddr: 0xB388, symSize: 0x34 } + - { offsetInCU: 0x677, offset: 0x7AEF7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x77C, symBinAddr: 0xB3BC, symSize: 0x10 } + - { offsetInCU: 0x697, offset: 0x7AF17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x77C, symBinAddr: 0xB3BC, symSize: 0x10 } + - { offsetInCU: 0x6CF, offset: 0x7AF4F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x78C, symBinAddr: 0xB3CC, symSize: 0x34 } + - { offsetInCU: 0x728, offset: 0x7AFA8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x7C0, symBinAddr: 0xB400, symSize: 0x10 } + - { offsetInCU: 0x748, offset: 0x7AFC8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x7C0, symBinAddr: 0xB400, symSize: 0x10 } + - { offsetInCU: 0x77E, offset: 0x7AFFE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x7D0, symBinAddr: 0xB410, symSize: 0x10 } + - { offsetInCU: 0x79E, offset: 0x7B01E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x7D0, symBinAddr: 0xB410, symSize: 0x10 } + - { offsetInCU: 0x7D7, offset: 0x7B057, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x7E0, symBinAddr: 0xB420, symSize: 0x10 } + - { offsetInCU: 0x7F7, offset: 0x7B077, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x7E0, symBinAddr: 0xB420, symSize: 0x10 } + - { offsetInCU: 0x82D, offset: 0x7B0AD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x7F0, symBinAddr: 0xB430, symSize: 0x10 } + - { offsetInCU: 0x84D, offset: 0x7B0CD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x7F0, symBinAddr: 0xB430, symSize: 0x10 } + - { offsetInCU: 0x870, offset: 0x7B0F0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x800, symBinAddr: 0xB440, symSize: 0x34 } + - { offsetInCU: 0x8A2, offset: 0x7B122, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x904, symBinAddr: 0xB544, symSize: 0x34 } + - { offsetInCU: 0x8EA, offset: 0x7B16A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA08, symBinAddr: 0xB648, symSize: 0x20 } + - { offsetInCU: 0x952, offset: 0x7B1D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xA4C, symBinAddr: 0xB68C, symSize: 0x20 } + - { offsetInCU: 0x9F1, offset: 0x7B271, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xAB4, symBinAddr: 0xB6F4, symSize: 0xC4 } + - { offsetInCU: 0xAB4, offset: 0x7B334, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xD10, symBinAddr: 0xB950, symSize: 0x30 } + - { offsetInCU: 0xB64, offset: 0x7B3E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x15C8, symBinAddr: 0xC208, symSize: 0xC4 } + - { offsetInCU: 0xBCE, offset: 0x7B44E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x18E4, symBinAddr: 0xC524, symSize: 0xB0 } + - { offsetInCU: 0xC0B, offset: 0x7B48B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1A54, symBinAddr: 0xC694, symSize: 0xB8 } + - { offsetInCU: 0xC83, offset: 0x7B503, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1BF0, symBinAddr: 0xC830, symSize: 0x3C } + - { offsetInCU: 0xCB6, offset: 0x7B536, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C2C, symBinAddr: 0xC86C, symSize: 0x10 } + - { offsetInCU: 0xCD6, offset: 0x7B556, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C2C, symBinAddr: 0xC86C, symSize: 0x10 } + - { offsetInCU: 0xD10, offset: 0x7B590, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1C3C, symBinAddr: 0xC87C, symSize: 0x34 } + - { offsetInCU: 0xD6B, offset: 0x7B5EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1CB8, symBinAddr: 0xC8F8, symSize: 0x48 } + - { offsetInCU: 0xE05, offset: 0x7B685, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1D4C, symBinAddr: 0xC98C, symSize: 0x64 } + - { offsetInCU: 0xECA, offset: 0x7B74A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1E08, symBinAddr: 0xCA48, symSize: 0x94 } + - { offsetInCU: 0xF57, offset: 0x7B7D7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x1EDC, symBinAddr: 0xCB1C, symSize: 0x6C } + - { offsetInCU: 0xFB9, offset: 0x7B839, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x1FEC, symBinAddr: 0xCC2C, symSize: 0x6C } + - { offsetInCU: 0x1016, offset: 0x7B896, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2058, symBinAddr: 0xCC98, symSize: 0xB0 } + - { offsetInCU: 0x1068, offset: 0x7B8E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x21D8, symBinAddr: 0xCE18, symSize: 0x94 } + - { offsetInCU: 0x10FA, offset: 0x7B97A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x2EC4, symBinAddr: 0xDB04, symSize: 0x28 } + - { offsetInCU: 0x114F, offset: 0x7B9CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x3944, symBinAddr: 0xE584, symSize: 0x20 } + - { offsetInCU: 0x1182, offset: 0x7BA02, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3964, symBinAddr: 0xE5A4, symSize: 0x10 } + - { offsetInCU: 0x11A2, offset: 0x7BA22, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3964, symBinAddr: 0xE5A4, symSize: 0x10 } + - { offsetInCU: 0x11DA, offset: 0x7BA5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x3974, symBinAddr: 0xE5B4, symSize: 0x34 } + - { offsetInCU: 0x1248, offset: 0x7BAC8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x3A28, symBinAddr: 0xE668, symSize: 0x20 } + - { offsetInCU: 0x12A2, offset: 0x7BB22, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3A48, symBinAddr: 0xE688, symSize: 0x34 } + - { offsetInCU: 0x1302, offset: 0x7BB82, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3AAC, symBinAddr: 0xE6EC, symSize: 0x34 } + - { offsetInCU: 0x1446, offset: 0x7BCC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x3DF8, symBinAddr: 0xEA38, symSize: 0x28 } + - { offsetInCU: 0x1479, offset: 0x7BCF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x4124, symBinAddr: 0xED64, symSize: 0x24 } + - { offsetInCU: 0x14B4, offset: 0x7BD34, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x4210, symBinAddr: 0xEE50, symSize: 0x34 } + - { offsetInCU: 0x14E7, offset: 0x7BD67, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4BAC, symBinAddr: 0xF7EC, symSize: 0x2A8 } + - { offsetInCU: 0x1664, offset: 0x7BEE4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x4F18, symBinAddr: 0xFB58, symSize: 0xA0 } + - { offsetInCU: 0x18E0, offset: 0x7C160, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1EB0, symBinAddr: 0xCAF0, symSize: 0x2C } + - { offsetInCU: 0x18F8, offset: 0x7C178, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2160, symBinAddr: 0xCDA0, symSize: 0x78 } + - { offsetInCU: 0x1910, offset: 0x7C190, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x22C8, symBinAddr: 0xCF08, symSize: 0x94 } + - { offsetInCU: 0x1948, offset: 0x7C1C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x235C, symBinAddr: 0xCF9C, symSize: 0xB8 } + - { offsetInCU: 0x198A, offset: 0x7C20A, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x2414, symBinAddr: 0xD054, symSize: 0x6C } + - { offsetInCU: 0x1A3A, offset: 0x7C2BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x4148, symBinAddr: 0xED88, symSize: 0xC4 } + - { offsetInCU: 0x1A6A, offset: 0x7C2EA, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x4244, symBinAddr: 0xEE84, symSize: 0x10 } + - { offsetInCU: 0x1A7E, offset: 0x7C2FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x4254, symBinAddr: 0xEE94, symSize: 0x20 } + - { offsetInCU: 0x1A92, offset: 0x7C312, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x4274, symBinAddr: 0xEEB4, symSize: 0x64 } + - { offsetInCU: 0x1C99, offset: 0x7C519, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x4E54, symBinAddr: 0xFA94, symSize: 0x40 } + - { offsetInCU: 0x1CAD, offset: 0x7C52D, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x4E94, symBinAddr: 0xFAD4, symSize: 0x40 } + - { offsetInCU: 0x1CC1, offset: 0x7C541, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x4ED4, symBinAddr: 0xFB14, symSize: 0x24 } + - { offsetInCU: 0x1CD5, offset: 0x7C555, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x4EF8, symBinAddr: 0xFB38, symSize: 0x20 } + - { offsetInCU: 0x1CF4, offset: 0x7C574, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x53E4, symBinAddr: 0x10024, symSize: 0x48 } + - { offsetInCU: 0x1D1D, offset: 0x7C59D, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x542C, symBinAddr: 0x1006C, symSize: 0x10 } + - { offsetInCU: 0x1D31, offset: 0x7C5B1, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x543C, symBinAddr: 0x1007C, symSize: 0x8 } + - { offsetInCU: 0x1D45, offset: 0x7C5C5, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5444, symBinAddr: 0x10084, symSize: 0x10 } + - { offsetInCU: 0x1D64, offset: 0x7C5E4, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5454, symBinAddr: 0x10094, symSize: 0xC } + - { offsetInCU: 0x1D8D, offset: 0x7C60D, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5484, symBinAddr: 0x100C4, symSize: 0x8 } + - { offsetInCU: 0x1DAC, offset: 0x7C62C, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x548C, symBinAddr: 0x100CC, symSize: 0x30 } + - { offsetInCU: 0x1DD5, offset: 0x7C655, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x54BC, symBinAddr: 0x100FC, symSize: 0x10 } + - { offsetInCU: 0x1DE9, offset: 0x7C669, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x5504, symBinAddr: 0x10144, symSize: 0x3C } + - { offsetInCU: 0x206E, offset: 0x7C8EE, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4A94, symBinAddr: 0xF6D4, symSize: 0x118 } + - { offsetInCU: 0x2514, offset: 0x7CD94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x2E0, symBinAddr: 0xAF20, symSize: 0x44 } + - { offsetInCU: 0x2547, offset: 0x7CDC7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x354, symBinAddr: 0xAF94, symSize: 0xEC } + - { offsetInCU: 0x2593, offset: 0x7CE13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x440, symBinAddr: 0xB080, symSize: 0x58 } + - { offsetInCU: 0x25B8, offset: 0x7CE38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x498, symBinAddr: 0xB0D8, symSize: 0xE0 } + - { offsetInCU: 0x25F9, offset: 0x7CE79, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x5BC, symBinAddr: 0xB1FC, symSize: 0x44 } + - { offsetInCU: 0x2651, offset: 0x7CED1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x68C, symBinAddr: 0xB2CC, symSize: 0x44 } + - { offsetInCU: 0x27BF, offset: 0x7D03F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x834, symBinAddr: 0xB474, symSize: 0xD0 } + - { offsetInCU: 0x28E4, offset: 0x7D164, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x938, symBinAddr: 0xB578, symSize: 0xD0 } + - { offsetInCU: 0x2A2A, offset: 0x7D2AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xA28, symBinAddr: 0xB668, symSize: 0x24 } + - { offsetInCU: 0x2A72, offset: 0x7D2F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xA6C, symBinAddr: 0xB6AC, symSize: 0x24 } + - { offsetInCU: 0x2AA6, offset: 0x7D326, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xA90, symBinAddr: 0xB6D0, symSize: 0x24 } + - { offsetInCU: 0x2C34, offset: 0x7D4B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xB78, symBinAddr: 0xB7B8, symSize: 0x198 } + - { offsetInCU: 0x3027, offset: 0x7D8A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xD40, symBinAddr: 0xB980, symSize: 0x888 } + - { offsetInCU: 0x382A, offset: 0x7E0AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x168C, symBinAddr: 0xC2CC, symSize: 0x258 } + - { offsetInCU: 0x3C5C, offset: 0x7E4DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x1994, symBinAddr: 0xC5D4, symSize: 0xC0 } + - { offsetInCU: 0x3CED, offset: 0x7E56D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1B0C, symBinAddr: 0xC74C, symSize: 0xE4 } + - { offsetInCU: 0x3E48, offset: 0x7E6C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1C70, symBinAddr: 0xC8B0, symSize: 0x48 } + - { offsetInCU: 0x3ECE, offset: 0x7E74E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1D00, symBinAddr: 0xC940, symSize: 0x4C } + - { offsetInCU: 0x3FEF, offset: 0x7E86F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1DB0, symBinAddr: 0xC9F0, symSize: 0x58 } + - { offsetInCU: 0x40E5, offset: 0x7E965, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x2108, symBinAddr: 0xCD48, symSize: 0x58 } + - { offsetInCU: 0x4131, offset: 0x7E9B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x226C, symBinAddr: 0xCEAC, symSize: 0x5C } + - { offsetInCU: 0x415A, offset: 0x7E9DA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x2480, symBinAddr: 0xD0C0, symSize: 0x44 } + - { offsetInCU: 0x4180, offset: 0x7EA00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x24C4, symBinAddr: 0xD104, symSize: 0x4 } + - { offsetInCU: 0x4242, offset: 0x7EAC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x24C8, symBinAddr: 0xD108, symSize: 0x9FC } + - { offsetInCU: 0x4465, offset: 0x7ECE5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x2EEC, symBinAddr: 0xDB2C, symSize: 0x50 } + - { offsetInCU: 0x448E, offset: 0x7ED0E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x2F3C, symBinAddr: 0xDB7C, symSize: 0xA08 } + - { offsetInCU: 0x46D2, offset: 0x7EF52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x39A8, symBinAddr: 0xE5E8, symSize: 0x80 } + - { offsetInCU: 0x47C8, offset: 0x7F048, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3A7C, symBinAddr: 0xE6BC, symSize: 0x30 } + - { offsetInCU: 0x4866, offset: 0x7F0E6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3AE0, symBinAddr: 0xE720, symSize: 0x144 } + - { offsetInCU: 0x4A67, offset: 0x7F2E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3C24, symBinAddr: 0xE864, symSize: 0x1D4 } + - { offsetInCU: 0x4CE4, offset: 0x7F564, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x3E20, symBinAddr: 0xEA60, symSize: 0x304 } + - { offsetInCU: 0x4D74, offset: 0x7F5F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x420C, symBinAddr: 0xEE4C, symSize: 0x4 } + - { offsetInCU: 0x4D9C, offset: 0x7F61C, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x42D8, symBinAddr: 0xEF18, symSize: 0x64 } + - { offsetInCU: 0x4DF6, offset: 0x7F676, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x433C, symBinAddr: 0xEF7C, symSize: 0x6C } + - { offsetInCU: 0x4E76, offset: 0x7F6F6, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x43A8, symBinAddr: 0xEFE8, symSize: 0xD8 } + - { offsetInCU: 0x4EB3, offset: 0x7F733, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4480, symBinAddr: 0xF0C0, symSize: 0xE0 } + - { offsetInCU: 0x4F2E, offset: 0x7F7AE, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4560, symBinAddr: 0xF1A0, symSize: 0x1F4 } + - { offsetInCU: 0x4FEA, offset: 0x7F86A, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x4754, symBinAddr: 0xF394, symSize: 0x340 } + - { offsetInCU: 0x27, offset: 0x7FAD2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0x101E4, symSize: 0x10 } + - { offsetInCU: 0x62, offset: 0x7FB0D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x10, symBinAddr: 0x101F4, symSize: 0x20 } + - { offsetInCU: 0x1AF, offset: 0x7FC5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0x101E4, symSize: 0x10 } + - { offsetInCU: 0x65, offset: 0x7FCE9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0x10214, symSize: 0x10 } + - { offsetInCU: 0x85, offset: 0x7FD09, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0x10214, symSize: 0x10 } + - { offsetInCU: 0xBB, offset: 0x7FD3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0x10224, symSize: 0x10 } + - { offsetInCU: 0xDB, offset: 0x7FD5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0x10224, symSize: 0x10 } + - { offsetInCU: 0x114, offset: 0x7FD98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0x10234, symSize: 0x44 } + - { offsetInCU: 0x16C, offset: 0x7FDF0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x64, symBinAddr: 0x10278, symSize: 0x48 } + - { offsetInCU: 0x1C7, offset: 0x7FE4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xAC, symBinAddr: 0x102C0, symSize: 0x44 } + - { offsetInCU: 0x21F, offset: 0x7FEA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xF0, symBinAddr: 0x10304, symSize: 0x48 } + - { offsetInCU: 0x27A, offset: 0x7FEFE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0x1034C, symSize: 0x10 } + - { offsetInCU: 0x29A, offset: 0x7FF1E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0x1034C, symSize: 0x10 } + - { offsetInCU: 0x2D0, offset: 0x7FF54, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0x1035C, symSize: 0x10 } + - { offsetInCU: 0x2F0, offset: 0x7FF74, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0x1035C, symSize: 0x10 } + - { offsetInCU: 0x329, offset: 0x7FFAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0x1036C, symSize: 0x10 } + - { offsetInCU: 0x349, offset: 0x7FFCD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0x1036C, symSize: 0x10 } + - { offsetInCU: 0x37F, offset: 0x80003, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0x1037C, symSize: 0x10 } + - { offsetInCU: 0x39F, offset: 0x80023, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0x1037C, symSize: 0x10 } + - { offsetInCU: 0x3D8, offset: 0x8005C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x178, symBinAddr: 0x1038C, symSize: 0x44 } + - { offsetInCU: 0x430, offset: 0x800B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1BC, symBinAddr: 0x103D0, symSize: 0x48 } + - { offsetInCU: 0x48B, offset: 0x8010F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0x10418, symSize: 0x10 } + - { offsetInCU: 0x4AB, offset: 0x8012F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0x10418, symSize: 0x10 } + - { offsetInCU: 0x4E1, offset: 0x80165, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0x10428, symSize: 0x10 } + - { offsetInCU: 0x501, offset: 0x80185, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0x10428, symSize: 0x10 } + - { offsetInCU: 0x53A, offset: 0x801BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0x10438, symSize: 0x10 } + - { offsetInCU: 0x55A, offset: 0x801DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0x10438, symSize: 0x10 } + - { offsetInCU: 0x590, offset: 0x80214, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0x10448, symSize: 0x10 } + - { offsetInCU: 0x5B0, offset: 0x80234, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0x10448, symSize: 0x10 } + - { offsetInCU: 0x5E9, offset: 0x8026D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x244, symBinAddr: 0x10458, symSize: 0x48 } + - { offsetInCU: 0x63F, offset: 0x802C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x28C, symBinAddr: 0x104A0, symSize: 0x40 } + - { offsetInCU: 0x682, offset: 0x80306, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2CC, symBinAddr: 0x104E0, symSize: 0x8 } + - { offsetInCU: 0x69E, offset: 0x80322, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2D4, symBinAddr: 0x104E8, symSize: 0x2C } + - { offsetInCU: 0x6D0, offset: 0x80354, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0x10514, symSize: 0x10 } + - { offsetInCU: 0x6F0, offset: 0x80374, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0x10514, symSize: 0x10 } + - { offsetInCU: 0x728, offset: 0x803AC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x310, symBinAddr: 0x10524, symSize: 0x34 } + - { offsetInCU: 0x781, offset: 0x80405, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0x1062C, symSize: 0x10 } + - { offsetInCU: 0x7A1, offset: 0x80425, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0x1062C, symSize: 0x10 } + - { offsetInCU: 0x7D7, offset: 0x8045B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0x1063C, symSize: 0x10 } + - { offsetInCU: 0x7F7, offset: 0x8047B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0x1063C, symSize: 0x10 } + - { offsetInCU: 0x846, offset: 0x804CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x5BC, symBinAddr: 0x10790, symSize: 0x20 } + - { offsetInCU: 0x878, offset: 0x804FC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x720, symBinAddr: 0x108F4, symSize: 0x28 } + - { offsetInCU: 0x8D0, offset: 0x80554, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x75C, symBinAddr: 0x10930, symSize: 0x88 } + - { offsetInCU: 0x934, offset: 0x805B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x7E4, symBinAddr: 0x109B8, symSize: 0x7C } + - { offsetInCU: 0x9D6, offset: 0x8065A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xC0C, symBinAddr: 0x10DE0, symSize: 0x28 } + - { offsetInCU: 0xAC0, offset: 0x80744, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x59C, symBinAddr: 0x10770, symSize: 0x20 } + - { offsetInCU: 0xB34, offset: 0x807B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xC64, symBinAddr: 0x10E38, symSize: 0x58 } + - { offsetInCU: 0x123B, offset: 0x80EBF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x438, symBinAddr: 0x1064C, symSize: 0x20 } + - { offsetInCU: 0x1255, offset: 0x80ED9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x458, symBinAddr: 0x1066C, symSize: 0x104 } + - { offsetInCU: 0x1287, offset: 0x80F0B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x5DC, symBinAddr: 0x107B0, symSize: 0x144 } + - { offsetInCU: 0x1442, offset: 0x810C6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x748, symBinAddr: 0x1091C, symSize: 0x14 } + - { offsetInCU: 0x14F3, offset: 0x81177, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x860, symBinAddr: 0x10A34, symSize: 0x3AC } + - { offsetInCU: 0x1863, offset: 0x814E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xC34, symBinAddr: 0x10E08, symSize: 0x30 } + - { offsetInCU: 0x194E, offset: 0x815D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xCBC, symBinAddr: 0x10E90, symSize: 0x65C } + - { offsetInCU: 0x214C, offset: 0x81DD0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x135C, symBinAddr: 0x11530, symSize: 0x6C8 } + - { offsetInCU: 0x10C, offset: 0x82790, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0xED4, symBinAddr: 0x12AA4, symSize: 0x68 } + - { offsetInCU: 0x19C, offset: 0x82820, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0xF48, symBinAddr: 0x12B18, symSize: 0x10 } + - { offsetInCU: 0x1CB, offset: 0x8284F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0xF58, symBinAddr: 0x12B28, symSize: 0x4 } + - { offsetInCU: 0x368, offset: 0x829EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x16DC, symBinAddr: 0x132AC, symSize: 0x2C } + - { offsetInCU: 0x5D4, offset: 0x82C58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1744, symBinAddr: 0x13314, symSize: 0x68 } + - { offsetInCU: 0x603, offset: 0x82C87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x17AC, symBinAddr: 0x1337C, symSize: 0x20 } + - { offsetInCU: 0x617, offset: 0x82C9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x17CC, symBinAddr: 0x1339C, symSize: 0x20 } + - { offsetInCU: 0x62B, offset: 0x82CAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x17EC, symBinAddr: 0x133BC, symSize: 0x30 } + - { offsetInCU: 0x63F, offset: 0x82CC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x181C, symBinAddr: 0x133EC, symSize: 0x8 } + - { offsetInCU: 0x653, offset: 0x82CD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1824, symBinAddr: 0x133F4, symSize: 0x3C } + - { offsetInCU: 0x667, offset: 0x82CEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1860, symBinAddr: 0x13430, symSize: 0x50 } + - { offsetInCU: 0x67B, offset: 0x82CFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x18BC, symBinAddr: 0x13480, symSize: 0x40 } + - { offsetInCU: 0x68F, offset: 0x82D13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x18FC, symBinAddr: 0x134C0, symSize: 0x48 } + - { offsetInCU: 0x6A3, offset: 0x82D27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1944, symBinAddr: 0x13508, symSize: 0x40 } + - { offsetInCU: 0x6B7, offset: 0x82D3B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1984, symBinAddr: 0x13548, symSize: 0x10 } + - { offsetInCU: 0x6CB, offset: 0x82D4F, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1994, symBinAddr: 0x13558, symSize: 0x48 } + - { offsetInCU: 0x6DF, offset: 0x82D63, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1AA0, symBinAddr: 0x135A0, symSize: 0x58 } + - { offsetInCU: 0x6F3, offset: 0x82D77, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1AF8, symBinAddr: 0x135F8, symSize: 0x8 } + - { offsetInCU: 0x761, offset: 0x82DE5, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x1DEC, symBinAddr: 0x138EC, symSize: 0x10 } + - { offsetInCU: 0xCBB, offset: 0x8333F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0x11BF8, symSize: 0x540 } + - { offsetInCU: 0xF57, offset: 0x835DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x54C, symBinAddr: 0x12144, symSize: 0xE0 } + - { offsetInCU: 0xFD6, offset: 0x8365A, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0x122D4, symSize: 0x9C } + - { offsetInCU: 0x1069, offset: 0x836ED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0xDCC, symBinAddr: 0x1299C, symSize: 0x108 } + - { offsetInCU: 0x11B3, offset: 0x83837, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x12D0, symBinAddr: 0x12EA0, symSize: 0x40C } + - { offsetInCU: 0x18C9, offset: 0x83F4D, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1B00, symBinAddr: 0x13600, symSize: 0x14 } + - { offsetInCU: 0x1968, offset: 0x83FEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1B14, symBinAddr: 0x13614, symSize: 0x1E4 } + - { offsetInCU: 0x27, offset: 0x841C9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x138FC, symSize: 0x2C } + - { offsetInCU: 0x4B, offset: 0x841ED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2D8, symBinAddr: 0x10D3D08, symSize: 0x0 } + - { offsetInCU: 0x65, offset: 0x84207, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x138FC, symSize: 0x2C } + - { offsetInCU: 0x98, offset: 0x8423A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x178, symBinAddr: 0x13A74, symSize: 0x40 } + - { offsetInCU: 0x104, offset: 0x842A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x228, symBinAddr: 0x13B24, symSize: 0x3C } + - { offsetInCU: 0x156, offset: 0x842F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x2C, symBinAddr: 0x13928, symSize: 0x10C } + - { offsetInCU: 0x181, offset: 0x84323, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x208, symBinAddr: 0x13B04, symSize: 0x20 } + - { offsetInCU: 0x195, offset: 0x84337, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x294, symBinAddr: 0x13B90, symSize: 0x4 } + - { offsetInCU: 0x1C0, offset: 0x84362, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x298, symBinAddr: 0x13B94, symSize: 0x3C } + - { offsetInCU: 0x348, offset: 0x844EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x138, symBinAddr: 0x13A34, symSize: 0x40 } + - { offsetInCU: 0x388, offset: 0x8452A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x1B8, symBinAddr: 0x13AB4, symSize: 0x20 } + - { offsetInCU: 0x39C, offset: 0x8453E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1D8, symBinAddr: 0x13AD4, symSize: 0x30 } + - { offsetInCU: 0x3D8, offset: 0x8457A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x264, symBinAddr: 0x13B60, symSize: 0x30 } + - { offsetInCU: 0x2B, offset: 0x845C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x13BD0, symSize: 0xA4 } + - { offsetInCU: 0x66, offset: 0x84603, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA4, symBinAddr: 0x13C74, symSize: 0xA4 } + - { offsetInCU: 0xF9, offset: 0x84696, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D8, symBinAddr: 0x13DA8, symSize: 0x110 } + - { offsetInCU: 0x1A2, offset: 0x8473F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x30C, symBinAddr: 0x13EDC, symSize: 0x28 } + - { offsetInCU: 0x222, offset: 0x847BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x338, symBinAddr: 0x13F08, symSize: 0xA0 } + - { offsetInCU: 0x29B, offset: 0x84838, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4D0, symBinAddr: 0x140A0, symSize: 0x15C } + - { offsetInCU: 0x330, offset: 0x848CD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x67C, symBinAddr: 0x1424C, symSize: 0x3C } + - { offsetInCU: 0x381, offset: 0x8491E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6E8, symBinAddr: 0x142B8, symSize: 0x160 } + - { offsetInCU: 0x4DF, offset: 0x84A7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x848, symBinAddr: 0x14418, symSize: 0x2E4 } + - { offsetInCU: 0x5AE, offset: 0x84B4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB2C, symBinAddr: 0x146FC, symSize: 0x20 } + - { offsetInCU: 0x5C2, offset: 0x84B5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB4C, symBinAddr: 0x1471C, symSize: 0x44 } + - { offsetInCU: 0x5D6, offset: 0x84B73, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xB90, symBinAddr: 0x14760, symSize: 0x2C } + - { offsetInCU: 0x5EA, offset: 0x84B87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBBC, symBinAddr: 0x1478C, symSize: 0x8 } + - { offsetInCU: 0x5FE, offset: 0x84B9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBC4, symBinAddr: 0x14794, symSize: 0x40 } + - { offsetInCU: 0x612, offset: 0x84BAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC10, symBinAddr: 0x147D4, symSize: 0x30 } + - { offsetInCU: 0x626, offset: 0x84BC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC40, symBinAddr: 0x14804, symSize: 0x48 } + - { offsetInCU: 0x63A, offset: 0x84BD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xC88, symBinAddr: 0x1484C, symSize: 0x3C } + - { offsetInCU: 0x64E, offset: 0x84BEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCC4, symBinAddr: 0x14888, symSize: 0x8 } + - { offsetInCU: 0x662, offset: 0x84BFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCCC, symBinAddr: 0x14890, symSize: 0x4 } + - { offsetInCU: 0x676, offset: 0x84C13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xCD0, symBinAddr: 0x14894, symSize: 0x4 } + - { offsetInCU: 0x68A, offset: 0x84C27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xCD4, symBinAddr: 0x14898, symSize: 0x10 } + - { offsetInCU: 0x712, offset: 0x84CAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D8, symBinAddr: 0x13FA8, symSize: 0x4 } + - { offsetInCU: 0x72E, offset: 0x84CCB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3DC, symBinAddr: 0x13FAC, symSize: 0x4 } + - { offsetInCU: 0x74A, offset: 0x84CE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3E0, symBinAddr: 0x13FB0, symSize: 0x4 } + - { offsetInCU: 0x766, offset: 0x84D03, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x3E4, symBinAddr: 0x13FB4, symSize: 0x4 } + - { offsetInCU: 0xA14, offset: 0x84FB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x13BD0, symSize: 0xA4 } + - { offsetInCU: 0xAAA, offset: 0x85047, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x148, symBinAddr: 0x13D18, symSize: 0x90 } + - { offsetInCU: 0xC31, offset: 0x851CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2E8, symBinAddr: 0x13EB8, symSize: 0x24 } + - { offsetInCU: 0xC7B, offset: 0x85218, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x334, symBinAddr: 0x13F04, symSize: 0x4 } + - { offsetInCU: 0xC9D, offset: 0x8523A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x3E8, symBinAddr: 0x13FB8, symSize: 0xE8 } + - { offsetInCU: 0xD4D, offset: 0x852EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x62C, symBinAddr: 0x141FC, symSize: 0x20 } + - { offsetInCU: 0xD61, offset: 0x852FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x64C, symBinAddr: 0x1421C, symSize: 0x30 } + - { offsetInCU: 0xD97, offset: 0x85334, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6B8, symBinAddr: 0x14288, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x8544D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x148AC, symSize: 0x4 } + - { offsetInCU: 0x71, offset: 0x85497, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x4, symBinAddr: 0x148B0, symSize: 0x70 } + - { offsetInCU: 0xF6, offset: 0x8551C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x78, symBinAddr: 0x14924, symSize: 0x50 } + - { offsetInCU: 0x191, offset: 0x855B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xCC, symBinAddr: 0x14978, symSize: 0x68 } + - { offsetInCU: 0x254, offset: 0x8567A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x138, symBinAddr: 0x149E4, symSize: 0x98 } + - { offsetInCU: 0x323, offset: 0x85749, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x220, symBinAddr: 0x14ACC, symSize: 0x3C } + - { offsetInCU: 0x375, offset: 0x8579B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x28C, symBinAddr: 0x14B38, symSize: 0x20 } + - { offsetInCU: 0x4E5, offset: 0x8590B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x148AC, symSize: 0x4 } + - { offsetInCU: 0x51D, offset: 0x85943, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x148AC, symSize: 0x4 } + - { offsetInCU: 0x588, offset: 0x859AE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x14920, symSize: 0x4 } + - { offsetInCU: 0x5C8, offset: 0x859EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x14920, symSize: 0x4 } + - { offsetInCU: 0x62A, offset: 0x85A50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x14974, symSize: 0x4 } + - { offsetInCU: 0x67C, offset: 0x85AA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x14974, symSize: 0x4 } + - { offsetInCU: 0x6F1, offset: 0x85B17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x149E0, symSize: 0x4 } + - { offsetInCU: 0x767, offset: 0x85B8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x149E0, symSize: 0x4 } + - { offsetInCU: 0x805, offset: 0x85C2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1D0, symBinAddr: 0x14A7C, symSize: 0x20 } + - { offsetInCU: 0x819, offset: 0x85C3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x1F0, symBinAddr: 0x14A9C, symSize: 0x30 } + - { offsetInCU: 0x84F, offset: 0x85C75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x25C, symBinAddr: 0x14B08, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x85CBF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x14B58, symSize: 0x14 } + - { offsetInCU: 0xA9, offset: 0x85D41, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x14, symBinAddr: 0x14B6C, symSize: 0x38 } + - { offsetInCU: 0x1A2, offset: 0x85E3A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x68, symBinAddr: 0x14BC0, symSize: 0x40 } + - { offsetInCU: 0x284, offset: 0x85F1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x118, symBinAddr: 0x14C70, symSize: 0x3C } + - { offsetInCU: 0x2D6, offset: 0x85F6E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0xF8, symBinAddr: 0x14C50, symSize: 0x20 } + - { offsetInCU: 0x480, offset: 0x86118, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x14B58, symSize: 0x14 } + - { offsetInCU: 0x5C4, offset: 0x8625C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x4C, symBinAddr: 0x14BA4, symSize: 0x1C } + - { offsetInCU: 0x6FA, offset: 0x86392, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0xA8, symBinAddr: 0x14C00, symSize: 0x20 } + - { offsetInCU: 0x70E, offset: 0x863A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0xC8, symBinAddr: 0x14C20, symSize: 0x30 } + - { offsetInCU: 0x744, offset: 0x863DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x154, symBinAddr: 0x14CAC, symSize: 0x30 } + - { offsetInCU: 0x61, offset: 0x86460, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x14CE0, symSize: 0x10 } + - { offsetInCU: 0x81, offset: 0x86480, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x14CE0, symSize: 0x10 } + - { offsetInCU: 0xB7, offset: 0x864B6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x14CF0, symSize: 0x10 } + - { offsetInCU: 0xD7, offset: 0x864D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x14CF0, symSize: 0x10 } + - { offsetInCU: 0x110, offset: 0x8650F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x24, symBinAddr: 0x14D00, symSize: 0x48 } + - { offsetInCU: 0x168, offset: 0x86567, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xB4, symBinAddr: 0x14D90, symSize: 0x50 } + - { offsetInCU: 0x1C3, offset: 0x865C2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x14DE0, symSize: 0x10 } + - { offsetInCU: 0x1E3, offset: 0x865E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x14DE0, symSize: 0x10 } + - { offsetInCU: 0x219, offset: 0x86618, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x14DF0, symSize: 0x10 } + - { offsetInCU: 0x239, offset: 0x86638, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x14DF0, symSize: 0x10 } + - { offsetInCU: 0x272, offset: 0x86671, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1B0, symBinAddr: 0x14E8C, symSize: 0x78 } + - { offsetInCU: 0x2C8, offset: 0x866C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x2D4, symBinAddr: 0x14FB0, symSize: 0xB0 } + - { offsetInCU: 0x32A, offset: 0x86729, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x43C, symBinAddr: 0x15118, symSize: 0x28 } + - { offsetInCU: 0x35C, offset: 0x8675B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x4E0, symBinAddr: 0x15140, symSize: 0xA0 } + - { offsetInCU: 0x3DD, offset: 0x867DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x5BC, symBinAddr: 0x151E0, symSize: 0x60 } + - { offsetInCU: 0x44D, offset: 0x8684C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x620, symBinAddr: 0x15244, symSize: 0x4C } + - { offsetInCU: 0x4BF, offset: 0x868BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x70C, symBinAddr: 0x15330, symSize: 0x34 } + - { offsetInCU: 0x533, offset: 0x86932, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x190, symBinAddr: 0x14E6C, symSize: 0x20 } + - { offsetInCU: 0x55D, offset: 0x8695C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x74C, symBinAddr: 0x15370, symSize: 0x10 } + - { offsetInCU: 0x65B, offset: 0x86A5A, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xA08, symBinAddr: 0x1562C, symSize: 0x74 } + - { offsetInCU: 0x699, offset: 0x86A98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x156A0, symSize: 0x10 } + - { offsetInCU: 0x6B9, offset: 0x86AB8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x156A0, symSize: 0x10 } + - { offsetInCU: 0x6EF, offset: 0x86AEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x156B0, symSize: 0x10 } + - { offsetInCU: 0x70F, offset: 0x86B0E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x156B0, symSize: 0x10 } + - { offsetInCU: 0x748, offset: 0x86B47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xA9C, symBinAddr: 0x156C0, symSize: 0x20 } + - { offsetInCU: 0x7A0, offset: 0x86B9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xABC, symBinAddr: 0x156E0, symSize: 0x14 } + - { offsetInCU: 0x7FB, offset: 0x86BFA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xAD0, symBinAddr: 0x156F4, symSize: 0x44 } + - { offsetInCU: 0x853, offset: 0x86C52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xB58, symBinAddr: 0x1577C, symSize: 0x48 } + - { offsetInCU: 0x8E8, offset: 0x86CE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xCBC, symBinAddr: 0x158E0, symSize: 0x78 } + - { offsetInCU: 0x93E, offset: 0x86D3D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xE34, symBinAddr: 0x15A58, symSize: 0xB0 } + - { offsetInCU: 0x9A0, offset: 0x86D9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x15BB4, symSize: 0x28 } + - { offsetInCU: 0x9D2, offset: 0x86DD1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0xFB8, symBinAddr: 0x15BDC, symSize: 0xB8 } + - { offsetInCU: 0xA53, offset: 0x86E52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x1074, symBinAddr: 0x15C94, symSize: 0x28 } + - { offsetInCU: 0xAB1, offset: 0x86EB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x10D8, symBinAddr: 0x15CF8, symSize: 0x10 } + - { offsetInCU: 0xC63, offset: 0x87062, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfC12CanvasNative15NSCTouchHandlerC7PointerV_Tgm5', symObjAddr: 0x130C, symBinAddr: 0x15E78, symSize: 0x80 } + - { offsetInCU: 0xCE6, offset: 0x870E5, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgm5', symObjAddr: 0x140C, symBinAddr: 0x15EF8, symSize: 0x6C } + - { offsetInCU: 0xD6A, offset: 0x87169, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x1630, symBinAddr: 0x1611C, symSize: 0x44 } + - { offsetInCU: 0xD7E, offset: 0x8717D, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x1674, symBinAddr: 0x16160, symSize: 0x44 } + - { offsetInCU: 0xD92, offset: 0x87191, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x16B8, symBinAddr: 0x161A4, symSize: 0x20 } + - { offsetInCU: 0xE6C, offset: 0x8726B, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x14FC, symBinAddr: 0x15FE8, symSize: 0x124 } + - { offsetInCU: 0x112B, offset: 0x8752A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x6C, symBinAddr: 0x14D48, symSize: 0x48 } + - { offsetInCU: 0x11A8, offset: 0x875A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x124, symBinAddr: 0x14E00, symSize: 0x6C } + - { offsetInCU: 0x11EF, offset: 0x875EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x228, symBinAddr: 0x14F04, symSize: 0xAC } + - { offsetInCU: 0x1253, offset: 0x87652, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x384, symBinAddr: 0x15060, symSize: 0xB8 } + - { offsetInCU: 0x12DE, offset: 0x876DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x61C, symBinAddr: 0x15240, symSize: 0x4 } + - { offsetInCU: 0x12FF, offset: 0x876FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x66C, symBinAddr: 0x15290, symSize: 0x74 } + - { offsetInCU: 0x1313, offset: 0x87712, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x6E0, symBinAddr: 0x15304, symSize: 0x2C } + - { offsetInCU: 0x142C, offset: 0x8782B, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x75C, symBinAddr: 0x15380, symSize: 0x2AC } + - { offsetInCU: 0x17D6, offset: 0x87BD5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xB14, symBinAddr: 0x15738, symSize: 0x44 } + - { offsetInCU: 0x1815, offset: 0x87C14, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xBA0, symBinAddr: 0x157C4, symSize: 0x48 } + - { offsetInCU: 0x183A, offset: 0x87C39, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xBE8, symBinAddr: 0x1580C, symSize: 0x44 } + - { offsetInCU: 0x185F, offset: 0x87C5E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xC2C, symBinAddr: 0x15850, symSize: 0x4 } + - { offsetInCU: 0x1886, offset: 0x87C85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xC30, symBinAddr: 0x15854, symSize: 0x20 } + - { offsetInCU: 0x189A, offset: 0x87C99, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xC50, symBinAddr: 0x15874, symSize: 0x6C } + - { offsetInCU: 0x18E1, offset: 0x87CE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xD88, symBinAddr: 0x159AC, symSize: 0xAC } + - { offsetInCU: 0x1940, offset: 0x87D3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0xEE4, symBinAddr: 0x15B08, symSize: 0xAC } + - { offsetInCU: 0x19DE, offset: 0x87DDD, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x10E8, symBinAddr: 0x15D08, symSize: 0xBC } + - { offsetInCU: 0x1AC0, offset: 0x87EBF, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x1258, symBinAddr: 0x15DC4, symSize: 0xB4 } + - { offsetInCU: 0x1BCC, offset: 0x87FCB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x1478, symBinAddr: 0x15F64, symSize: 0x84 } + - { offsetInCU: 0x1CC5, offset: 0x880C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x16D8, symBinAddr: 0x161C4, symSize: 0x360 } + - { offsetInCU: 0x4F, offset: 0x88502, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x980, symBinAddr: 0x10D3E50, symSize: 0x0 } + - { offsetInCU: 0x5D, offset: 0x88510, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x16710, symSize: 0x2C } + - { offsetInCU: 0x75, offset: 0x88528, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x2C, symBinAddr: 0x1673C, symSize: 0x10C } + - { offsetInCU: 0xBC, offset: 0x8856F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x13C, symBinAddr: 0x1684C, symSize: 0x44 } + - { offsetInCU: 0x132, offset: 0x885E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3E4, symBinAddr: 0x16AF4, symSize: 0x80 } + - { offsetInCU: 0x191, offset: 0x88644, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x4B4, symBinAddr: 0x16BC4, symSize: 0x3C } + - { offsetInCU: 0x1E2, offset: 0x88695, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x524, symBinAddr: 0x16C34, symSize: 0x214 } + - { offsetInCU: 0x261, offset: 0x88714, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x520, symBinAddr: 0x16C30, symSize: 0x4 } + - { offsetInCU: 0x29D, offset: 0x88750, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x738, symBinAddr: 0x16E48, symSize: 0x20 } + - { offsetInCU: 0x2BC, offset: 0x8876F, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x77C, symBinAddr: 0x16E8C, symSize: 0x14 } + - { offsetInCU: 0x2E5, offset: 0x88798, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x7BC, symBinAddr: 0x16ECC, symSize: 0xC } + - { offsetInCU: 0x2F9, offset: 0x887AC, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x7C8, symBinAddr: 0x16ED8, symSize: 0x10 } + - { offsetInCU: 0x30D, offset: 0x887C0, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x7D8, symBinAddr: 0x16EE8, symSize: 0x8 } + - { offsetInCU: 0x321, offset: 0x887D4, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGMa', symObjAddr: 0x860, symBinAddr: 0x16F30, symSize: 0x54 } + - { offsetInCU: 0x335, offset: 0x887E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8F0, symBinAddr: 0x16F84, symSize: 0x24 } + - { offsetInCU: 0x369, offset: 0x8881C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x938, symBinAddr: 0x16FCC, symSize: 0x24 } + - { offsetInCU: 0x4FE, offset: 0x889B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x16848, symSize: 0x4 } + - { offsetInCU: 0x52C, offset: 0x889DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x16848, symSize: 0x4 } + - { offsetInCU: 0x58B, offset: 0x88A3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x180, symBinAddr: 0x16890, symSize: 0x4 } + - { offsetInCU: 0x59F, offset: 0x88A52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x184, symBinAddr: 0x16894, symSize: 0x260 } + - { offsetInCU: 0x678, offset: 0x88B2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x464, symBinAddr: 0x16B74, symSize: 0x20 } + - { offsetInCU: 0x68C, offset: 0x88B3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x484, symBinAddr: 0x16B94, symSize: 0x30 } + - { offsetInCU: 0x6C2, offset: 0x88B75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4F0, symBinAddr: 0x16C00, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x88C1B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x17004, symSize: 0x20 } + - { offsetInCU: 0x77, offset: 0x88C6B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x17074, symSize: 0x3C } + - { offsetInCU: 0xC9, offset: 0x88CBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x17054, symSize: 0x20 } + - { offsetInCU: 0x214, offset: 0x88E08, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x17004, symSize: 0x20 } + - { offsetInCU: 0x228, offset: 0x88E1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x17024, symSize: 0x30 } + - { offsetInCU: 0x264, offset: 0x88E58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xAC, symBinAddr: 0x170B0, symSize: 0x30 } + - { offsetInCU: 0x26, offset: 0x88EA1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2B8E40, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0x88EBB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9DE0, symBinAddr: 0x9A41C0, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0x88F0D, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFDE0, symBinAddr: 0x9AA1C0, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0x88F71, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE08, symBinAddr: 0x9AA1E8, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0x88F87, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10210, symBinAddr: 0x9AA5F0, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0x88F9E, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE50, symBinAddr: 0x9AA230, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0x8983D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2B8E40, symSize: 0x265C } + - { offsetInCU: 0x45CD, offset: 0x8D448, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x2BB49C, symSize: 0x134 } + - { offsetInCU: 0x46F3, offset: 0x8D56E, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9918, symBinAddr: 0x2C2758, symSize: 0x21C } + - { offsetInCU: 0x4922, offset: 0x8D79D, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FDC, symBinAddr: 0x2BDE1C, symSize: 0x1B8 } + - { offsetInCU: 0x530F, offset: 0x8E18A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x2BB5D0, symSize: 0x5BC } + - { offsetInCU: 0x5F72, offset: 0x8EDED, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x2BBB8C, symSize: 0x7F8 } + - { offsetInCU: 0x642A, offset: 0x8F2A5, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x2BC384, symSize: 0x208 } + - { offsetInCU: 0x69F8, offset: 0x8F873, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x2BC58C, symSize: 0x7B0 } + - { offsetInCU: 0x77D8, offset: 0x90653, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3EFC, symBinAddr: 0x2BCD3C, symSize: 0x634 } + - { offsetInCU: 0x8199, offset: 0x91014, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4530, symBinAddr: 0x2BD370, symSize: 0xAAC } + - { offsetInCU: 0x956A, offset: 0x923E5, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x5298, symBinAddr: 0x2BE0D8, symSize: 0x23F8 } + - { offsetInCU: 0xCABB, offset: 0x95936, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5194, symBinAddr: 0x2BDFD4, symSize: 0x104 } + - { offsetInCU: 0xCD03, offset: 0x95B7E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7690, symBinAddr: 0x2C04D0, symSize: 0x30 } + - { offsetInCU: 0xCDF4, offset: 0x95C6F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C0, symBinAddr: 0x2C0500, symSize: 0x58 } + - { offsetInCU: 0xCE69, offset: 0x95CE4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x2C0558, symSize: 0x4 } + - { offsetInCU: 0xCEB1, offset: 0x95D2C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x2C0558, symSize: 0x4 } + - { offsetInCU: 0xCEE0, offset: 0x95D5B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x2C0558, symSize: 0x4 } + - { offsetInCU: 0xCF04, offset: 0x95D7F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x771C, symBinAddr: 0x2C055C, symSize: 0x8C } + - { offsetInCU: 0xD039, offset: 0x95EB4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x2C05E8, symSize: 0x4 } + - { offsetInCU: 0xD072, offset: 0x95EED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x2C05E8, symSize: 0x4 } + - { offsetInCU: 0xD30B, offset: 0x96186, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77AC, symBinAddr: 0x2C05EC, symSize: 0x1598 } + - { offsetInCU: 0x10654, offset: 0x994CF, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B34, symBinAddr: 0x2C2974, symSize: 0x218 } + - { offsetInCU: 0x10C86, offset: 0x99B01, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D44, symBinAddr: 0x2C1B84, symSize: 0x20 } + - { offsetInCU: 0x11123, offset: 0x99F9E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8D64, symBinAddr: 0x2C1BA4, symSize: 0xBB4 } + - { offsetInCU: 0x26, offset: 0x9AD81, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2C2B8C, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0x9AF2D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2C2B8C, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0x9B1C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2C2D80, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0x9B1D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2C2D80, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0x9B2E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2C2DBC, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0x9B2F4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2C2DBC, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0x9B457, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x9AA6A0, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0x9B489, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x9AA630, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0x9B4AB, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x9AA660, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0x9B4C1, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x9AA690, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0x9B788, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2C2E54, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0x9B7CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2C2E54, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0x9B965, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x2C2E6C, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0x9BA10, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x2C2E84, symSize: 0x320 } + - { offsetInCU: 0x1199, offset: 0x9C56A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x2C31A4, symSize: 0xAC } + - { offsetInCU: 0x148F, offset: 0x9C860, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x2C3250, symSize: 0x500 } + - { offsetInCU: 0x268C, offset: 0x9DA5D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x2C3750, symSize: 0x2C8 } + - { offsetInCU: 0x2CDB, offset: 0x9E0AC, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x2C3A18, symSize: 0xF4 } + - { offsetInCU: 0x2EED, offset: 0x9E2BE, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x2C3B0C, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0x9E623, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2C3C74, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0x9E6F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2C3C74, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0x9E729, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2C3C74, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0x9E796, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2C3CAC, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0x9E7F0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2C3CAC, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0x9E918, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x2C3CE8, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0x9EB14, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x2C3D44, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0x9EC33, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x2C3D60, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0x9ECD6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x2C3DB4, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0x9EEA4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x2C3E00, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0x9EF08, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x2C3E00, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0x9F1A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2C3EA8, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0x9F249, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2C3EA8, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0x9F4DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x2C3FB8, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0x9F55B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x2C3FB8, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0x9F6DE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x2C4068, symSize: 0x178 } + - { offsetInCU: 0x13AB, offset: 0x9F9A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x56C, symBinAddr: 0x2C41E0, symSize: 0x1F4 } + - { offsetInCU: 0x1500, offset: 0x9FAFD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x760, symBinAddr: 0x2C43D4, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0x9FB64, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x778, symBinAddr: 0x2C43EC, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0x9FB9D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x784, symBinAddr: 0x2C43F8, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0x9FC21, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x78C, symBinAddr: 0x2C4400, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0x9FDD4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2C443C, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0x9FDE2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2C443C, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0x9FEE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x374, symBinAddr: 0x10DAFE0, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0x9FF2A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2C45AC, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0x9FF7A, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x9AB000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0x9FFFE, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x9D0000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xA025F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2C45AC, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xA0B6A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x2C4934, symSize: 0x204 } + - { offsetInCU: 0x1171, offset: 0xA1075, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x2C4B38, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xA144A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2C4D00, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xA148A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2C4D00, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xA1498, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x2C4EA0, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xA14BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x2C4F00, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xA14AC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2C5190, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xA14E4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2C5190, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xA14FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x2C52C0, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xA1511, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x2C5330, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xA1516, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x2C5490, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xA1524, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2C5820, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xA155C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2C5820, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xA1560, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x2C5BC0, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xA157A, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x2C6280, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xA15C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0x2C7500, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xA15DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0x2C8680, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xA15D2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C9AA0, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xA1607, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C9AA0, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xA160F, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0x2C9CE0, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xA1625, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0x2CA6C0, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xA1634, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2CAD20, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xA166B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2CAD20, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xA1681, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0x2CAD60, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xA169A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0x2CADA0, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xA16A5, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0x2CADE0, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xA16BB, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0x2CAFC0, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xA16CF, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0x2CB130, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xA16E7, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0x2CB180, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xA16FD, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0x2CB1D0, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xA1713, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0x2CB220, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xA1735, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0x2CB280, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xA1748, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0x2CB460, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xA1765, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0x2CB7C0, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xA177A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0x2CBA90, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xA1794, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0x2CBD40, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xA17A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0x2CBF90, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xA17BE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0x2CBFF0, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xA17B4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2CC040, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xA17F0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2CC040, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xA1806, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0x2CCBD0, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xA1800, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2CD780, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1841, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2CD780, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1841, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x2CE5C0, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xA184C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2CEDC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA188D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2CEDC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA188D, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x2CFC00, symSize: 0x1F0 } ... diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative index 237779620..6d66cfdc1 100755 Binary files a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative and b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative differ diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h index 4bed6cba0..4ea7f78e9 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h @@ -345,6 +345,7 @@ SWIFT_CLASS_NAMED("CanvasHelpers") + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image sx:(float)sx sy:(float)sy sw:(float)sw sh:(float)sh dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; ++ (int64_t)initWebGPUWithViewLayer:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initWebGPUWithView:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initSharedGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas :(int64_t)shared_context SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; @@ -829,6 +830,7 @@ SWIFT_CLASS_NAMED("CanvasHelpers") + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image sx:(float)sx sy:(float)sy sw:(float)sw sh:(float)sh dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; ++ (int64_t)initWebGPUWithViewLayer:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initWebGPUWithView:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initSharedGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas :(int64_t)shared_context SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h index a0a6d50ff..05b87959f 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h @@ -13,6 +13,13 @@ long long canvas_native_init_ios_webgpu(int64_t instance, uint32_t width, uint32_t height); +#if defined(TARGET_OS_IOS) +long long canvas_native_init_ios_webgpu_uiview(int64_t instance, + int64_t view, + uint32_t width, + uint32_t height); +#endif + long long canvas_native_init_ios_gl(int64_t view, bool alpha, bool antialias, diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h index 278620801..b299e05f8 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h @@ -15,59 +15,59 @@ typedef enum CanvasAstcBlock { /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). */ - B4x4, + CanvasAstcBlockB4x4, /** * 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). */ - B5x4, + CanvasAstcBlockB5x4, /** * 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). */ - B5x5, + CanvasAstcBlockB5x5, /** * 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). */ - B6x5, + CanvasAstcBlockB6x5, /** * 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). */ - B6x6, + CanvasAstcBlockB6x6, /** * 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). */ - B8x5, + CanvasAstcBlockB8x5, /** * 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). */ - B8x6, + CanvasAstcBlockB8x6, /** * 8x8 block compressed texture. 16 bytes per block (2 bit/px). */ - B8x8, + CanvasAstcBlockB8x8, /** * 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). */ - B10x5, + CanvasAstcBlockB10x5, /** * 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). */ - B10x6, + CanvasAstcBlockB10x6, /** * 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). */ - B10x8, + CanvasAstcBlockB10x8, /** * 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). */ - B10x10, + CanvasAstcBlockB10x10, /** * 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). */ - B12x10, + CanvasAstcBlockB12x10, /** * 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). */ - B12x12, + CanvasAstcBlockB12x12, } CanvasAstcBlock; /** @@ -79,86 +79,299 @@ typedef enum CanvasAstcChannel { * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - Unorm, + CanvasAstcChannelUnorm, /** * 8 bit integer RGBA, Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - UnormSrgb, + CanvasAstcChannelUnormSrgb, /** * floating-point RGBA, linear-color float can be outside of the [0, 1] range. * * [`Features::TEXTURE_COMPRESSION_ASTC_HDR`] must be enabled to use this channel. */ - Hdr, + CanvasAstcChannelHdr, } CanvasAstcChannel; +typedef enum CanvasBlendFactor { + /** + * 0.0 + */ + CanvasBlendFactorZero = 0, + /** + * 1.0 + */ + CanvasBlendFactorOne = 1, + /** + * S.component + */ + CanvasBlendFactorSrc = 2, + /** + * 1.0 - S.component + */ + CanvasBlendFactorOneMinusSrc = 3, + /** + * S.alpha + */ + CanvasBlendFactorSrcAlpha = 4, + /** + * 1.0 - S.alpha + */ + CanvasBlendFactorOneMinusSrcAlpha = 5, + /** + * D.component + */ + CanvasBlendFactorDst = 6, + /** + * 1.0 - D.component + */ + CanvasBlendFactorOneMinusDst = 7, + /** + * D.alpha + */ + CanvasBlendFactorDstAlpha = 8, + /** + * 1.0 - D.alpha + */ + CanvasBlendFactorOneMinusDstAlpha = 9, + /** + * min(S.alpha, 1.0 - D.alpha) + */ + CanvasBlendFactorSrcAlphaSaturated = 10, + /** + * Constant + */ + CanvasBlendFactorConstant = 11, + /** + * 1.0 - Constant + */ + CanvasBlendFactorOneMinusConstant = 12, + /** + * S1.component + */ + CanvasBlendFactorSrc1 = 13, + /** + * 1.0 - S1.component + */ + CanvasBlendFactorOneMinusSrc1 = 14, + /** + * S1.alpha + */ + CanvasBlendFactorSrc1Alpha = 15, + /** + * 1.0 - S1.alpha + */ + CanvasBlendFactorOneMinusSrc1Alpha = 16, +} CanvasBlendFactor; + +typedef enum CanvasBlendOperation { + /** + * Src + Dst + */ + CanvasBlendOperationAdd = 0, + /** + * Src - Dst + */ + CanvasBlendOperationSubtract = 1, + /** + * Dst - Src + */ + CanvasBlendOperationReverseSubtract = 2, + /** + * min(Src, Dst) + */ + CanvasBlendOperationMin = 3, + /** + * max(Src, Dst) + */ + CanvasBlendOperationMax = 4, +} CanvasBlendOperation; + +typedef enum CanvasCompareFunction { + CanvasCompareFunctionNever = 1, + CanvasCompareFunctionLess = 2, + CanvasCompareFunctionEqual = 3, + CanvasCompareFunctionLessEqual = 4, + CanvasCompareFunctionGreater = 5, + CanvasCompareFunctionNotEqual = 6, + CanvasCompareFunctionGreaterEqual = 7, + CanvasCompareFunctionAlways = 8, +} CanvasCompareFunction; + +typedef enum CanvasCullMode { + CanvasCullModeNone, + CanvasCullModeFront, + CanvasCullModeBack, +} CanvasCullMode; + +typedef enum CanvasFrontFace { + CanvasFrontFaceCcw = 0, + CanvasFrontFaceCw = 1, +} CanvasFrontFace; + +typedef enum CanvasGPUAutoLayoutMode { + CanvasGPUAutoLayoutModeAuto, +} CanvasGPUAutoLayoutMode; + typedef enum CanvasGPUPowerPreference { - None, - LowPower, - HighPerformance, + CanvasGPUPowerPreferenceNone, + CanvasGPUPowerPreferenceLowPower, + CanvasGPUPowerPreferenceHighPerformance, } CanvasGPUPowerPreference; typedef enum CanvasGPUPresentMode { - AutoVsync = 0, - AutoNoVsync = 1, - Fifo = 2, - FifoRelaxed = 3, - Immediate = 4, - Mailbox = 5, + CanvasGPUPresentModeAutoVsync = 0, + CanvasGPUPresentModeAutoNoVsync = 1, + CanvasGPUPresentModeFifo = 2, + CanvasGPUPresentModeFifoRelaxed = 3, + CanvasGPUPresentModeImmediate = 4, + CanvasGPUPresentModeMailbox = 5, } CanvasGPUPresentMode; typedef enum CanvasGPUSurfaceAlphaMode { - Auto = 0, - Opaque = 1, - PreMultiplied = 2, - PostMultiplied = 3, - Inherit = 4, + CanvasGPUSurfaceAlphaModeAuto = 0, + CanvasGPUSurfaceAlphaModeOpaque = 1, + CanvasGPUSurfaceAlphaModePreMultiplied = 2, + CanvasGPUSurfaceAlphaModePostMultiplied = 3, + CanvasGPUSurfaceAlphaModeInherit = 4, } CanvasGPUSurfaceAlphaMode; +typedef enum CanvasIndexFormat { + /** + * Indices are 16 bit unsigned integers. + */ + CanvasIndexFormatUint16 = 0, + /** + * Indices are 32 bit unsigned integers. + */ + CanvasIndexFormatUint32 = 1, +} CanvasIndexFormat; + +typedef enum CanvasLoadOp { + CanvasLoadOpClear = 0, + CanvasLoadOpLoad = 1, +} CanvasLoadOp; + +typedef enum CanvasOptionalTextureViewDimension { + CanvasOptionalTextureViewDimensionNone, + CanvasOptionalTextureViewDimensionD1, + CanvasOptionalTextureViewDimensionD2, + CanvasOptionalTextureViewDimensionD2Array, + CanvasOptionalTextureViewDimensionCube, + CanvasOptionalTextureViewDimensionCubeArray, + CanvasOptionalTextureViewDimensionD3, +} CanvasOptionalTextureViewDimension; + +typedef enum CanvasPrimitiveTopology { + CanvasPrimitiveTopologyPointList = 0, + CanvasPrimitiveTopologyLineList = 1, + CanvasPrimitiveTopologyLineStrip = 2, + CanvasPrimitiveTopologyTriangleList = 3, + CanvasPrimitiveTopologyTriangleStrip = 4, +} CanvasPrimitiveTopology; + +typedef enum CanvasStencilOperation { + CanvasStencilOperationKeep = 0, + CanvasStencilOperationZero = 1, + CanvasStencilOperationReplace = 2, + CanvasStencilOperationInvert = 3, + CanvasStencilOperationIncrementClamp = 4, + CanvasStencilOperationDecrementClamp = 5, + CanvasStencilOperationIncrementWrap = 6, + CanvasStencilOperationDecrementWrap = 7, +} CanvasStencilOperation; + +typedef enum CanvasStoreOp { + CanvasStoreOpDiscard = 0, + CanvasStoreOpStore = 1, +} CanvasStoreOp; + typedef enum CanvasTextureAspect { /** * Depth, Stencil, and Color. */ - All, + CanvasTextureAspectAll, /** * Stencil. */ - StencilOnly, + CanvasTextureAspectStencilOnly, /** * Depth. */ - DepthOnly, + CanvasTextureAspectDepthOnly, /** * Plane 0. */ - Plane0, + CanvasTextureAspectPlane0, /** * Plane 1. */ - Plane1, + CanvasTextureAspectPlane1, /** * Plane 2. */ - Plane2, + CanvasTextureAspectPlane2, } CanvasTextureAspect; typedef enum CanvasTextureDimension { - D1, - D2, - D3, + CanvasTextureDimensionD1, + CanvasTextureDimensionD2, + CanvasTextureDimensionD3, } CanvasTextureDimension; +typedef enum CanvasVertexFormat { + CanvasVertexFormatUint8x2 = 0, + CanvasVertexFormatUint8x4 = 1, + CanvasVertexFormatSint8x2 = 2, + CanvasVertexFormatSint8x4 = 3, + CanvasVertexFormatUnorm8x2 = 4, + CanvasVertexFormatUnorm8x4 = 5, + CanvasVertexFormatSnorm8x2 = 6, + CanvasVertexFormatSnorm8x4 = 7, + CanvasVertexFormatUint16x2 = 8, + CanvasVertexFormatUint16x4 = 9, + CanvasVertexFormatSint16x2 = 10, + CanvasVertexFormatSint16x4 = 11, + CanvasVertexFormatUnorm16x2 = 12, + CanvasVertexFormatUnorm16x4 = 13, + CanvasVertexFormatSnorm16x2 = 14, + CanvasVertexFormatSnorm16x4 = 15, + CanvasVertexFormatFloat16x2 = 16, + CanvasVertexFormatFloat16x4 = 17, + CanvasVertexFormatFloat32 = 18, + CanvasVertexFormatFloat32x2 = 19, + CanvasVertexFormatFloat32x3 = 20, + CanvasVertexFormatFloat32x4 = 21, + CanvasVertexFormatUint32 = 22, + CanvasVertexFormatUint32x2 = 23, + CanvasVertexFormatUint32x3 = 24, + CanvasVertexFormatUint32x4 = 25, + CanvasVertexFormatSint32 = 26, + CanvasVertexFormatSint32x2 = 27, + CanvasVertexFormatSint32x3 = 28, + CanvasVertexFormatSint32x4 = 29, + CanvasVertexFormatFloat64 = 30, + CanvasVertexFormatFloat64x2 = 31, + CanvasVertexFormatFloat64x3 = 32, + CanvasVertexFormatFloat64x4 = 33, + CanvasVertexFormatUnorm10_10_10_2 = 34, +} CanvasVertexFormat; + +typedef enum CanvasVertexStepMode { + CanvasVertexStepModeVertex = 0, + CanvasVertexStepModeInstance = 1, +} CanvasVertexStepMode; + typedef enum GLConstants { - UNPACK_FLIP_Y_WEBGL = 37440, - UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441, - UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443, + GLConstantsUnPackFlipYWebGL = 37440, + GLConstantsUnpackPremultiplyAlphaWebGL = 37441, + GLConstantsUnpackColorSpaceConversionWebGL = 37443, } GLConstants; typedef enum GPUMapMode { - Read, - Write, + GPUMapModeRead, + GPUMapModeWrite, } GPUMapMode; typedef enum ImageBitmapColorSpaceConversion { @@ -169,7 +382,7 @@ typedef enum ImageBitmapColorSpaceConversion { typedef enum ImageBitmapPremultiplyAlpha { ImageBitmapPremultiplyAlphaDefault, ImageBitmapPremultiplyAlphaPremultiply, - ImageBitmapPremultiplyAlphaNone, + ImageBitmapPremultiplyAlphaAlphaNone, } ImageBitmapPremultiplyAlpha; typedef enum ImageBitmapResizeQuality { @@ -193,41 +406,41 @@ typedef enum PaintStyleType { } PaintStyleType; typedef enum TextBaseLine { - TOP = 0, - HANGING = 1, - MIDDLE = 2, - ALPHABETIC = 3, - IDEOGRAPHIC = 4, - BOTTOM = 5, + TextBaseLineTOP = 0, + TextBaseLineHANGING = 1, + TextBaseLineMIDDLE = 2, + TextBaseLineALPHABETIC = 3, + TextBaseLineIDEOGRAPHIC = 4, + TextBaseLineBOTTOM = 5, } TextBaseLine; typedef enum WebGLExtensionType { - WebGLExtensionTypeEXT_blend_minmax, - WebGLExtensionTypeEXT_color_buffer_half_float, - WebGLExtensionTypeEXT_disjoint_timer_query, - WebGLExtensionTypeEXT_sRGB, - WebGLExtensionTypeEXT_shader_texture_lod, - WebGLExtensionTypeEXT_texture_filter_anisotropic, - WebGLExtensionTypeOES_element_index_uint, - WebGLExtensionTypeOES_standard_derivatives, - WebGLExtensionTypeOES_texture_float, - WebGLExtensionTypeOES_texture_float_linear, - WebGLExtensionTypeOES_texture_half_float, - WebGLExtensionTypeOES_texture_half_float_linear, - WebGLExtensionTypeOES_vertex_array_object, - WebGLExtensionTypeWEBGL_color_buffer_float, - WebGLExtensionTypeWEBGL_compressed_texture_atc, - WebGLExtensionTypeWEBGL_compressed_texture_etc1, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, - WebGLExtensionTypeWEBGL_compressed_texture_etc, - WebGLExtensionTypeWEBGL_compressed_texture_pvrtc, - WebGLExtensionTypeWEBGL_lose_context, - WebGLExtensionTypeANGLE_instanced_arrays, - WebGLExtensionTypeWEBGL_depth_texture, - WebGLExtensionTypeWEBGL_draw_buffers, - WebGLExtensionTypeOES_fbo_render_mipmap, - WebGLExtensionTypeNone, + WebGLExtensionTypeWebGLExtensionTypeEXT_blend_minmax, + WebGLExtensionTypeWebGLExtensionTypeEXT_color_buffer_half_float, + WebGLExtensionTypeWebGLExtensionTypeEXT_disjoint_timer_query, + WebGLExtensionTypeWebGLExtensionTypeEXT_sRGB, + WebGLExtensionTypeWebGLExtensionTypeEXT_shader_texture_lod, + WebGLExtensionTypeWebGLExtensionTypeEXT_texture_filter_anisotropic, + WebGLExtensionTypeWebGLExtensionTypeOES_element_index_uint, + WebGLExtensionTypeWebGLExtensionTypeOES_standard_derivatives, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_vertex_array_object, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_color_buffer_float, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_atc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc1, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_pvrtc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_lose_context, + WebGLExtensionTypeWebGLExtensionTypeANGLE_instanced_arrays, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_depth_texture, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_draw_buffers, + WebGLExtensionTypeWebGLExtensionTypeOES_fbo_render_mipmap, + WebGLExtensionTypeWebGLExtensionTypeNone, } WebGLExtensionType; typedef enum WebGLResultType { @@ -247,10 +460,16 @@ typedef struct ANGLE_instanced_arrays ANGLE_instanced_arrays; typedef struct CCow CCow; +typedef struct CanvasConstants CanvasConstants; + typedef struct CanvasGPUAdapter CanvasGPUAdapter; typedef struct CanvasGPUAdapterInfo CanvasGPUAdapterInfo; +typedef struct CanvasGPUBindGroup CanvasGPUBindGroup; + +typedef struct CanvasGPUBindGroupLayout CanvasGPUBindGroupLayout; + typedef struct CanvasGPUBuffer CanvasGPUBuffer; typedef struct CanvasGPUCanvasContext CanvasGPUCanvasContext; @@ -263,14 +482,28 @@ typedef struct CanvasGPUComputePass CanvasGPUComputePass; typedef struct CanvasGPUDevice CanvasGPUDevice; +typedef struct CanvasGPUPipelineLayout CanvasGPUPipelineLayout; + typedef struct CanvasGPUQuerySet CanvasGPUQuerySet; typedef struct CanvasGPUQueue CanvasGPUQueue; +typedef struct CanvasGPURenderBundle CanvasGPURenderBundle; + +typedef struct CanvasGPURenderPass CanvasGPURenderPass; + +typedef struct CanvasGPURenderPipeline CanvasGPURenderPipeline; + typedef struct CanvasGPUShaderModule CanvasGPUShaderModule; typedef struct CanvasGPUTexture CanvasGPUTexture; +typedef struct CanvasGPUTextureView CanvasGPUTextureView; + +typedef struct CanvasImageDataLayout CanvasImageDataLayout; + +typedef struct CanvasRenderPassDepthStencilAttachment CanvasRenderPassDepthStencilAttachment; + typedef struct CanvasRenderingContext2D CanvasRenderingContext2D; typedef struct CanvasWebGPUInstance CanvasWebGPUInstance; @@ -423,6 +656,32 @@ typedef struct CanvasGPUSupportedLimits { uint32_t max_non_sampler_bindings; } CanvasGPUSupportedLimits; +typedef struct CanvasColor { + double r; + double g; + double b; + double a; +} CanvasColor; +#define CanvasColor_TRANSPARENT (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 0.0 } +#define CanvasColor_BLACK (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_WHITE (CanvasColor){ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 } +#define CanvasColor_RED (CanvasColor){ .r = 1.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_GREEN (CanvasColor){ .r = 0.0, .g = 1.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_BLUE (CanvasColor){ .r = 0.0, .g = 0.0, .b = 1.0, .a = 1.0 } + +typedef struct CanvasPassChannelColor { + enum CanvasLoadOp load_op; + enum CanvasStoreOp store_op; + struct CanvasColor clear_value; + bool read_only; +} CanvasPassChannelColor; + +typedef struct CanvasRenderPassColorAttachment { + const struct CanvasGPUTextureView *view; + const struct CanvasGPUTextureView *resolve_target; + struct CanvasPassChannelColor channel; +} CanvasRenderPassColorAttachment; + typedef struct CanvasImageCopyBuffer { const struct CanvasGPUBuffer *buffer; uint64_t offset; @@ -467,217 +726,277 @@ typedef struct CanvasExtent3d { uint32_t depth_or_array_layers; } CanvasExtent3d; +typedef enum CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag { + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeLayout, + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeAuto, +} CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag; + +typedef struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode { + CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag tag; + union { + struct { + const struct CanvasGPUPipelineLayout *layout; + }; + struct { + enum CanvasGPUAutoLayoutMode auto_; + }; + }; +} CanvasGPUPipelineLayoutOrGPUAutoLayoutMode; + +typedef struct CanvasVertexAttribute { + enum CanvasVertexFormat format; + uint64_t offset; + uint32_t shader_location; +} CanvasVertexAttribute; + +typedef struct CanvasVertexBufferLayout { + uint64_t array_stride; + enum CanvasVertexStepMode step_mode; + const struct CanvasVertexAttribute *attributes; + uintptr_t attributes_size; +} CanvasVertexBufferLayout; + +typedef struct CanvasVertexState { + const struct CanvasGPUShaderModule *module; + const char *entry_point; + const struct CanvasConstants *constants; + const struct CanvasVertexBufferLayout *buffers; + uintptr_t buffers_size; +} CanvasVertexState; + +typedef enum CanvasOptionalIndexFormat_Tag { + CanvasOptionalIndexFormatNone, + CanvasOptionalIndexFormatSome, +} CanvasOptionalIndexFormat_Tag; + +typedef struct CanvasOptionalIndexFormat { + CanvasOptionalIndexFormat_Tag tag; + union { + struct { + enum CanvasIndexFormat some; + }; + }; +} CanvasOptionalIndexFormat; + +typedef struct CanvasPrimitiveState { + enum CanvasPrimitiveTopology topology; + struct CanvasOptionalIndexFormat strip_index_format; + enum CanvasFrontFace front_face; + enum CanvasCullMode cull_mode; + bool unclipped_depth; +} CanvasPrimitiveState; + typedef enum CanvasGPUTextureFormat_Tag { /** * Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - R8Unorm, + CanvasGPUTextureFormatR8Unorm, /** * Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - R8Snorm, + CanvasGPUTextureFormatR8Snorm, /** * Red channel only. 8 bit integer per channel. Unsigned in shader. */ - R8Uint, + CanvasGPUTextureFormatR8Uint, /** * Red channel only. 8 bit integer per channel. Signed in shader. */ - R8Sint, + CanvasGPUTextureFormatR8Sint, /** * Red channel only. 16 bit integer per channel. Unsigned in shader. */ - R16Uint, + CanvasGPUTextureFormatR16Uint, /** * Red channel only. 16 bit integer per channel. Signed in shader. */ - R16Sint, + CanvasGPUTextureFormatR16Sint, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Unorm, + CanvasGPUTextureFormatR16Unorm, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Snorm, + CanvasGPUTextureFormatR16Snorm, /** * Red channel only. 16 bit float per channel. Float in shader. */ - R16Float, + CanvasGPUTextureFormatR16Float, /** * Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rg8Unorm, + CanvasGPUTextureFormatRg8Unorm, /** * Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rg8Snorm, + CanvasGPUTextureFormatRg8Snorm, /** * Red and green channels. 8 bit integer per channel. Unsigned in shader. */ - Rg8Uint, + CanvasGPUTextureFormatRg8Uint, /** * Red and green channels. 8 bit integer per channel. Signed in shader. */ - Rg8Sint, + CanvasGPUTextureFormatRg8Sint, /** * Red channel only. 32 bit integer per channel. Unsigned in shader. */ - R32Uint, + CanvasGPUTextureFormatR32Uint, /** * Red channel only. 32 bit integer per channel. Signed in shader. */ - R32Sint, + CanvasGPUTextureFormatR32Sint, /** * Red channel only. 32 bit float per channel. Float in shader. */ - R32Float, + CanvasGPUTextureFormatR32Float, /** * Red and green channels. 16 bit integer per channel. Unsigned in shader. */ - Rg16Uint, + CanvasGPUTextureFormatRg16Uint, /** * Red and green channels. 16 bit integer per channel. Signed in shader. */ - Rg16Sint, + CanvasGPUTextureFormatRg16Sint, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Unorm, + CanvasGPUTextureFormatRg16Unorm, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Snorm, + CanvasGPUTextureFormatRg16Snorm, /** * Red and green channels. 16 bit float per channel. Float in shader. */ - Rg16Float, + CanvasGPUTextureFormatRg16Float, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rgba8Unorm, + CanvasGPUTextureFormatRgba8Unorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Rgba8UnormSrgb, + CanvasGPUTextureFormatRgba8UnormSrgb, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rgba8Snorm, + CanvasGPUTextureFormatRgba8Snorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader. */ - Rgba8Uint, + CanvasGPUTextureFormatRgba8Uint, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader. */ - Rgba8Sint, + CanvasGPUTextureFormatRgba8Sint, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Bgra8Unorm, + CanvasGPUTextureFormatBgra8Unorm, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Bgra8UnormSrgb, + CanvasGPUTextureFormatBgra8UnormSrgb, /** * Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent */ - Rgb9e5Ufloat, + CanvasGPUTextureFormatRgb9e5Ufloat, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. Unsigned in shader. */ - Rgb10a2Uint, + CanvasGPUTextureFormatRgb10a2Uint, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha) converted to/from float [0, 1] in shader. */ - Rgb10a2Unorm, + CanvasGPUTextureFormatRgb10a2Unorm, /** * Red, green, and blue channels. 11 bit float with no sign bit for RG channels. 10 bit float with no sign bit for blue channel. Float in shader. */ - Rg11b10Float, + CanvasGPUTextureFormatRg11b10Float, /** * Red and green channels. 32 bit integer per channel. Unsigned in shader. */ - Rg32Uint, + CanvasGPUTextureFormatRg32Uint, /** * Red and green channels. 32 bit integer per channel. Signed in shader. */ - Rg32Sint, + CanvasGPUTextureFormatRg32Sint, /** * Red and green channels. 32 bit float per channel. Float in shader. */ - Rg32Float, + CanvasGPUTextureFormatRg32Float, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader. */ - Rgba16Uint, + CanvasGPUTextureFormatRgba16Uint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader. */ - Rgba16Sint, + CanvasGPUTextureFormatRgba16Sint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Unorm, + CanvasGPUTextureFormatRgba16Unorm, /** * Red, green, blue, and alpha. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Snorm, + CanvasGPUTextureFormatRgba16Snorm, /** * Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader. */ - Rgba16Float, + CanvasGPUTextureFormatRgba16Float, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader. */ - Rgba32Uint, + CanvasGPUTextureFormatRgba32Uint, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader. */ - Rgba32Sint, + CanvasGPUTextureFormatRgba32Sint, /** * Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader. */ - Rgba32Float, + CanvasGPUTextureFormatRgba32Float, /** * Stencil format with 8 bit integer stencil. */ - Stencil8, + CanvasGPUTextureFormatStencil8, /** * Special depth format with 16 bit integer depth. */ - Depth16Unorm, + CanvasGPUTextureFormatDepth16Unorm, /** * Special depth format with at least 24 bit integer depth. */ - Depth24Plus, + CanvasGPUTextureFormatDepth24Plus, /** * Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil. */ - Depth24PlusStencil8, + CanvasGPUTextureFormatDepth24PlusStencil8, /** * Special depth format with 32 bit floating point depth. */ - Depth32Float, + CanvasGPUTextureFormatDepth32Float, /** * Special depth/stencil format with 32 bit floating point depth and 8 bits integer stencil. * * [`Features::DEPTH32FLOAT_STENCIL8`] must be enabled to use this texture format. */ - Depth32FloatStencil8, + CanvasGPUTextureFormatDepth32FloatStencil8, /** * YUV 4:2:0 chroma subsampled format. * @@ -693,7 +1012,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_FORMAT_NV12`] must be enabled to use this texture format. */ - NV12, + CanvasGPUTextureFormatNV12, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * [0, 63] ([0, 1] for alpha) converted to/from float [0, 1] in shader. @@ -702,7 +1021,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnorm, + CanvasGPUTextureFormatBc1RgbaUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * Srgb-color [0, 63] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -711,7 +1030,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnormSrgb, + CanvasGPUTextureFormatBc1RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * [0, 63] ([0, 15] for alpha) converted to/from float [0, 1] in shader. @@ -720,7 +1039,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnorm, + CanvasGPUTextureFormatBc2RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -729,7 +1048,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnormSrgb, + CanvasGPUTextureFormatBc2RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * [0, 63] ([0, 255] for alpha) converted to/from float [0, 1] in shader. @@ -738,7 +1057,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnorm, + CanvasGPUTextureFormatBc3RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -747,7 +1066,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnormSrgb, + CanvasGPUTextureFormatBc3RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [0, 255] converted to/from float [0, 1] in shader. @@ -756,7 +1075,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RUnorm, + CanvasGPUTextureFormatBc4RUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -765,7 +1084,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RSnorm, + CanvasGPUTextureFormatBc4RSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [0, 255] converted to/from float [0, 1] in shader. @@ -774,7 +1093,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgUnorm, + CanvasGPUTextureFormatBc5RgUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -783,7 +1102,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgSnorm, + CanvasGPUTextureFormatBc5RgSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit unsigned float RGB. Float in shader. * @@ -791,7 +1110,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbUfloat, + CanvasGPUTextureFormatBc6hRgbUfloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit signed float RGB. Float in shader. * @@ -799,7 +1118,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbFloat, + CanvasGPUTextureFormatBc6hRgbFloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * [0, 255] converted to/from float [0, 1] in shader. @@ -808,7 +1127,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnorm, + CanvasGPUTextureFormatBc7RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. @@ -817,77 +1136,77 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnormSrgb, + CanvasGPUTextureFormatBc7RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8Unorm, + CanvasGPUTextureFormatEtc2Rgb8Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * [0, 255] ([0, 1] for alpha) converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1Unorm, + CanvasGPUTextureFormatEtc2Rgb8A1Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * Srgb-color [0, 255] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8A1UnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8Unorm, + CanvasGPUTextureFormatEtc2Rgba8Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgba8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Unorm, + CanvasGPUTextureFormatEacR11Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Snorm, + CanvasGPUTextureFormatEacR11Snorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Unorm, + CanvasGPUTextureFormatEacRg11Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Snorm, + CanvasGPUTextureFormatEacRg11Snorm, /** * block compressed texture. 16 bytes per block. * @@ -897,10 +1216,10 @@ typedef enum CanvasGPUTextureFormat_Tag { * [`TEXTURE_COMPRESSION_ASTC`]: Features::TEXTURE_COMPRESSION_ASTC * [`TEXTURE_COMPRESSION_ASTC_HDR`]: Features::TEXTURE_COMPRESSION_ASTC_HDR */ - Astc, + CanvasGPUTextureFormatAstc, } CanvasGPUTextureFormat_Tag; -typedef struct Astc_Body { +typedef struct CanvasGPUTextureFormatAstc_Body { /** * compressed block dimensions */ @@ -909,15 +1228,120 @@ typedef struct Astc_Body { * ASTC RGBA channel */ enum CanvasAstcChannel channel; -} Astc_Body; +} CanvasGPUTextureFormatAstc_Body; typedef struct CanvasGPUTextureFormat { CanvasGPUTextureFormat_Tag tag; union { - Astc_Body astc; + CanvasGPUTextureFormatAstc_Body astc; }; } CanvasGPUTextureFormat; +typedef struct CanvasStencilFaceState { + enum CanvasCompareFunction compare; + enum CanvasStencilOperation fail_op; + enum CanvasStencilOperation depth_fail_op; + enum CanvasStencilOperation pass_op; +} CanvasStencilFaceState; +/** + * Ignore the stencil state for the face. + */ +#define CanvasStencilFaceState_IGNORE (CanvasStencilFaceState){ .compare = CanvasCompareFunction_Always, .fail_op = CanvasStencilOperation_Keep, .depth_fail_op = CanvasStencilOperation_Keep, .pass_op = CanvasStencilOperation_Keep } + +typedef struct CanvasDepthStencilState { + struct CanvasGPUTextureFormat format; + bool depth_write_enabled; + enum CanvasCompareFunction depth_compare; + struct CanvasStencilFaceState stencil_front; + struct CanvasStencilFaceState stencil_back; + uint32_t stencil_read_mask; + uint32_t stencil_write_mask; + int32_t depth_bias; + float depth_bias_slope_scale; + float depth_bias_clamp; +} CanvasDepthStencilState; + +typedef struct CanvasMultisampleState { + uint32_t count; + uint64_t mask; + bool alpha_to_coverage_enabled; +} CanvasMultisampleState; + +typedef struct CanvasBlendComponent { + enum CanvasBlendFactor src_factor; + enum CanvasBlendFactor dst_factor; + enum CanvasBlendOperation operation; +} CanvasBlendComponent; +/** + * Default blending state that replaces destination with the source. + */ +#define CanvasBlendComponent_REPLACE (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_One, .dst_factor = CanvasBlendFactor_Zero, .operation = CanvasBlendOperation_Add } +/** + * Blend state of (1 * src) + ((1 - src_alpha) * dst) + */ +#define CanvasBlendComponent_OVER (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_One, .dst_factor = CanvasBlendFactor_OneMinusSrcAlpha, .operation = CanvasBlendOperation_Add } + +typedef struct CanvasBlendState { + /** + * Color equation. + */ + struct CanvasBlendComponent color; + /** + * Alpha equation. + */ + struct CanvasBlendComponent alpha; +} CanvasBlendState; +/** + * Blend mode that does no color blending, just overwrites the output with the contents of the shader. + */ +#define CanvasBlendState_REPLACE (CanvasBlendState){ .color = CanvasBlendComponent_REPLACE, .alpha = CanvasBlendComponent_REPLACE } +/** + * Blend mode that does standard alpha blending with non-premultiplied alpha. + */ +#define CanvasBlendState_ALPHA_BLENDING (CanvasBlendState){ .color = (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_SrcAlpha, .dst_factor = CanvasBlendFactor_OneMinusSrcAlpha, .operation = CanvasBlendOperation_Add }, .alpha = CanvasBlendComponent_OVER } +/** + * Blend mode that does standard alpha blending with premultiplied alpha. + */ +#define CanvasBlendState_PREMULTIPLIED_ALPHA_BLENDING (CanvasBlendState){ .color = CanvasBlendComponent_OVER, .alpha = CanvasBlendComponent_OVER } + +typedef enum CanvasOptionalBlendState_Tag { + CanvasOptionalBlendStateNone, + CanvasOptionalBlendStateSome, +} CanvasOptionalBlendState_Tag; + +typedef struct CanvasOptionalBlendState { + CanvasOptionalBlendState_Tag tag; + union { + struct { + struct CanvasBlendState some; + }; + }; +} CanvasOptionalBlendState; + +typedef struct CanvasColorTargetState { + struct CanvasGPUTextureFormat format; + struct CanvasOptionalBlendState blend; + uint32_t write_mask; +} CanvasColorTargetState; + +typedef struct CanvasFragmentState { + const struct CanvasColorTargetState *targets; + uintptr_t targets_size; + const struct CanvasGPUShaderModule *module; + const char *entry_point; + const struct CanvasConstants *constants; +} CanvasFragmentState; + +typedef struct CanvasCreateRenderPipelineDescriptor { + const char *label; + struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode layout; + const struct CanvasVertexState *vertex; + const struct CanvasPrimitiveState *primitive; + const struct CanvasDepthStencilState *depth_stencil; + const struct CanvasMultisampleState *multisample; + const struct CanvasFragmentState *fragment; +} CanvasCreateRenderPipelineDescriptor; + typedef struct CanvasCreateTextureDescriptor { const char *label; enum CanvasTextureDimension dimension; @@ -932,6 +1356,43 @@ typedef struct CanvasCreateTextureDescriptor { uintptr_t view_formats_size; } CanvasCreateTextureDescriptor; +typedef struct CanvasOrigin2d { + /** + * + */ + uint32_t x; + /** + * + */ + uint32_t y; +} CanvasOrigin2d; + +typedef struct CanvasImageCopyExternalImage { + /** + * The texture to be copied from. The copy source data is captured at the moment + * the copy is issued. + */ + const uint8_t *source; + uintptr_t source_size; + /** + * The base texel used for copying from the external image. Together + * with the `copy_size` argument to copy functions, defines the + * sub-region of the image to copy. + * + * Relative to the top left of the image. + * + * Must be [`Origin2d::ZERO`] if [`DownlevelFlags::UNRESTRICTED_EXTERNAL_TEXTURE_COPIES`] is not supported. + */ + struct CanvasOrigin2d origin; + /** + * If the Y coordinate of the image should be flipped. Even if this is + * true, `origin` is still relative to the top left. + */ + bool flip_y; + uint32_t width; + uint32_t height; +} CanvasImageCopyExternalImage; + typedef struct CanvasGPUSurfaceConfiguration { enum CanvasGPUSurfaceAlphaMode alphaMode; uint32_t usage; @@ -940,6 +1401,50 @@ typedef struct CanvasGPUSurfaceConfiguration { uintptr_t view_formats_size; } CanvasGPUSurfaceConfiguration; +typedef enum CanvasOptionalGPUTextureFormat_Tag { + CanvasOptionalGPUTextureFormatNone, + CanvasOptionalGPUTextureFormatSome, +} CanvasOptionalGPUTextureFormat_Tag; + +typedef struct CanvasOptionalGPUTextureFormat { + CanvasOptionalGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionalGPUTextureFormat; + +typedef enum CanvasOptionsGPUTextureFormat_Tag { + CanvasOptionsGPUTextureFormatNone, + CanvasOptionsGPUTextureFormatSome, +} CanvasOptionsGPUTextureFormat_Tag; + +typedef struct CanvasOptionsGPUTextureFormat { + CanvasOptionsGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionsGPUTextureFormat; + +typedef struct CanvasImageSubresourceRange { + enum CanvasTextureAspect aspect; + uint32_t base_mip_level; + int32_t mip_level_count; + uint32_t base_array_layer; + int32_t array_layer_count; +} CanvasImageSubresourceRange; + +typedef struct CanvasCreateTextureViewDescriptor { + const struct CanvasGPUTexture *texture; + const char *label; + struct CanvasOptionsGPUTextureFormat format; + enum CanvasOptionalTextureViewDimension dimension; + const struct CanvasImageSubresourceRange *range; +} CanvasCreateTextureViewDescriptor; + void canvas_native_image_filter_destroy(struct ImageFilter *value); void canvas_native_font_add_family(const char *alias, @@ -3642,6 +4147,16 @@ struct CanvasGPUComputePass *canvas_native_webgpu_command_encoder_begin_compute_ int32_t beginning_of_pass_write_index, int32_t end_of_pass_write_index); +struct CanvasGPURenderPass *canvas_native_webgpu_command_encoder_begin_render_pass(struct CanvasGPUCommandEncoder *command_encoder, + const char *label, + const struct CanvasRenderPassColorAttachment *color_attachments, + uintptr_t color_attachments_size, + const struct CanvasRenderPassDepthStencilAttachment *depth_stencil_attachment, + const struct CanvasGPUQuerySet *occlusion_query_set, + const struct CanvasGPUQuerySet *query_set, + int32_t beginning_of_pass_write_index, + int32_t end_of_pass_write_index); + void canvas_native_webgpu_command_encoder_clear_buffer(struct CanvasGPUCommandEncoder *command_encoder, const struct CanvasGPUBuffer *buffer, int64_t offset, @@ -3716,18 +4231,163 @@ struct CanvasGPUBuffer *canvas_native_webgpu_device_create_buffer(const struct C bool mapped_at_creation, char *error); +struct CanvasConstants *canvas_native_webgpu_constants_create(void); + +void canvas_native_webgpu_constants_insert(struct CanvasConstants *constants, + const char *key, + double value); + +void canvas_native_webgpu_constants_destroy(struct CanvasConstants *constants); + +struct CanvasGPURenderPipeline *canvas_native_webgpu_device_create_render_pipeline(const struct CanvasGPUDevice *device, + const struct CanvasCreateRenderPipelineDescriptor *descriptor); + struct CanvasGPUTexture *canvas_native_webgpu_device_create_texture(const struct CanvasGPUDevice *device, const struct CanvasCreateTextureDescriptor *descriptor, char *error); +void canvas_native_webgpu_queue_copy_external_image_to_texture(struct CanvasGPUQueue *queue, + const struct CanvasImageCopyExternalImage *source, + const struct CanvasImageCopyTexture *destination, + const struct CanvasExtent3d *size); + +void canvas_native_webgpu_queue_on_submitted_work_done(struct CanvasGPUQueue *queue, + void (*callback)(char*, void*), + void *callback_data); + +void canvas_native_webgpu_queue_submit(struct CanvasGPUQueue *queue, + const struct CanvasGPUCommandBuffer *const *command_buffers, + uintptr_t command_buffers_size); + +void canvas_native_webgpu_queue_write_buffer(struct CanvasGPUQueue *queue, + struct CanvasGPUBuffer *buffer, + uint64_t buffer_offset, + const uint8_t *data, + uintptr_t data_size, + uintptr_t data_offset, + intptr_t size); + +void canvas_native_webgpu_queue_write_texture(struct CanvasGPUQueue *queue, + const struct CanvasImageCopyTexture *destination, + const struct CanvasImageDataLayout *data_layout, + const struct CanvasExtent3d *size, + const uint8_t *buf, + uintptr_t buf_size); + struct CanvasGPUSupportedLimits *canvas_native_webgpu_create_limits(void); void canvas_native_webgpu_limits_destroy(struct CanvasGPUSupportedLimits *limits); +void canvas_native_webgpu_render_pass_begin_occlusion_query(struct CanvasGPURenderPass *render_pass, + uint32_t query_index); + +void canvas_native_webgpu_render_pass_encoder_draw(struct CanvasGPURenderPass *render_pass, + uint32_t vertex_count, + uint32_t instance_count, + uint32_t first_vertex, + uint32_t first_instance); + +void canvas_native_webgpu_render_pass_draw_indexed(struct CanvasGPURenderPass *render_pass, + uint32_t index_count, + uint32_t instance_count, + uint32_t first_index, + int32_t base_vertex, + uint32_t first_instance); + +void canvas_native_webgpu_render_pass_draw_indexed_indirect(struct CanvasGPURenderPass *render_pass, + struct CanvasGPUBuffer *indirect_buffer, + uint64_t indirect_offset); + +void canvas_native_webgpu_render_pass_draw_indirect(struct CanvasGPURenderPass *render_pass, + struct CanvasGPUBuffer *indirect_buffer, + uint64_t indirect_offset); + +void canvas_native_webgpu_render_pass_end(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_end_occlusion_query(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_execute_bundles(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPURenderBundle *bundles, + uintptr_t bundles_size); + +void canvas_native_webgpu_render_pass_insert_debug_marker(struct CanvasGPURenderPass *render_pass, + const char *label); + +void canvas_native_webgpu_render_pass_pop_debug_group(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_push_debug_group(struct CanvasGPURenderPass *render_pass, + const char *label); + +void canvas_native_webgpu_render_pass_set_bind_group(struct CanvasGPURenderPass *render_pass, + uint32_t index, + const struct CanvasGPUBindGroup *bind_group, + const uint32_t *dynamic_offsets, + uintptr_t dynamic_offsets_size, + uintptr_t dynamic_offsets_start, + uintptr_t dynamic_offsets_length); + +void canvas_native_webgpu_render_pass_set_blend_constant(struct CanvasGPURenderPass *render_pass, + const struct CanvasColor *color); + +void canvas_native_webgpu_render_pass_set_index_buffer(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPUBuffer *buffer, + enum CanvasIndexFormat index_format, + int64_t offset, + int64_t size); + +void canvas_native_webgpu_render_pass_set_pipeline(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPURenderPipeline *pipeline); + +void canvas_native_webgpu_render_pass_set_scissor_rect(struct CanvasGPURenderPass *render_pass, + uint32_t x, + uint32_t y, + uint32_t width, + uint32_t height); + +void canvas_native_webgpu_render_pass_set_stencil_reference(struct CanvasGPURenderPass *render_pass, + uint32_t reference); + +void canvas_native_webgpu_render_pass_set_vertex_buffer(struct CanvasGPURenderPass *render_pass, + uint32_t slot, + struct CanvasGPUBuffer *buffer, + int64_t offset, + int64_t size); + +void canvas_native_webgpu_render_pass_set_viewport(struct CanvasGPURenderPass *render_pass, + float x, + float y, + float width, + float height, + float depth_min, + float depth_max); + +#if defined(TARGET_OS_ANDROID) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, + void *window, + uint32_t width, + uint32_t height); +#endif + +#if (defined(TARGET_OS_IOS) || defined(TARGET_OS_MACOS)) struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, void *view, uint32_t width, uint32_t height); +#endif + +#if defined(TARGET_OS_IOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_uiview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif + +#if defined(TARGET_OS_MACOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_nsview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif void canvas_native_webgpu_context_configure(struct CanvasGPUCanvasContext *context, struct CanvasGPUDevice *device, @@ -3741,6 +4401,11 @@ struct CanvasGPUTexture *canvas_native_webgpu_context_get_current_texture(struct char *canvas_native_webgpu_enum_gpu_texture_to_string(struct CanvasGPUTextureFormat value); +struct CanvasOptionalGPUTextureFormat canvas_native_webgpu_string_to_gpu_texture_enum(const char *format); + +struct CanvasGPUTextureView *canvas_native_webgpu_texture_create_texture_view(struct CanvasGPUTexture *texture, + const struct CanvasCreateTextureViewDescriptor *descriptor); + uint32_t canvas_native_webgpu_texture_get_depth_or_array_layers(struct CanvasGPUTexture *texture); uint32_t canvas_native_webgpu_texture_get_width(struct CanvasGPUTexture *texture); @@ -3761,6 +4426,9 @@ uint32_t canvas_native_webgpu_texture_get_sample_count(struct CanvasGPUTexture * char *canvas_native_webgpu_texture_destroy(struct CanvasGPUTexture *texture); +struct CanvasGPUBindGroupLayout *canvas_native_webgpu_render_pipeline_get_bind_group_layout(const struct CanvasGPURenderPipeline *pipeline, + uint32_t index); + const uint8_t *canvas_native_u8_buffer_get_bytes(const struct U8Buffer *buffer); uint8_t *canvas_native_u8_buffer_get_bytes_mut(struct U8Buffer *buffer); diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo index 5383757dd..fc3190fdc 100644 Binary files a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo and b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo differ diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo index 0973fff63..42f2ec4f2 100644 Binary files a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo and b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo differ diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json index 71838557a..ea5ca3953 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json @@ -375,6 +375,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "initWebGPUWithViewLayer", + "printedName": "initWebGPUWithViewLayer(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "c:@M@CanvasNative@objc(cs)NSSCanvasHelpers(cm)initWebGPUWithViewLayer::::", + "mangledName": "$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ", + "moduleName": "CanvasNative", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "initWebGPUWithView", @@ -5577,147 +5625,147 @@ { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2412, + "offset": 2396, "length": 1, "value": "1" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2315, + "offset": 2299, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2591, + "offset": 2575, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2649, + "offset": 2633, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2702, + "offset": 2686, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2807, + "offset": 2791, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2840, + "offset": 2824, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3499, + "offset": 3483, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3533, + "offset": 3517, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3563, + "offset": 3547, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3616, + "offset": 3600, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 3658, + "offset": 3642, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3698, + "offset": 3682, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3744, + "offset": 3728, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3777, + "offset": 3761, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3817, + "offset": 3801, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3855, + "offset": 3839, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15100, + "offset": 16303, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15581, + "offset": 16784, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16124, + "offset": 17327, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16156, + "offset": 17359, "length": 5, "value": "false" }, diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface index 471baa2c1..cb1784451 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface index 471baa2c1..cb1784451 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json index 71838557a..ea5ca3953 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -375,6 +375,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "initWebGPUWithViewLayer", + "printedName": "initWebGPUWithViewLayer(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "c:@M@CanvasNative@objc(cs)NSSCanvasHelpers(cm)initWebGPUWithViewLayer::::", + "mangledName": "$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ", + "moduleName": "CanvasNative", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "initWebGPUWithView", @@ -5577,147 +5625,147 @@ { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2412, + "offset": 2396, "length": 1, "value": "1" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2315, + "offset": 2299, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2591, + "offset": 2575, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2649, + "offset": 2633, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2702, + "offset": 2686, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2807, + "offset": 2791, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2840, + "offset": 2824, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3499, + "offset": 3483, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3533, + "offset": 3517, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3563, + "offset": 3547, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3616, + "offset": 3600, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 3658, + "offset": 3642, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3698, + "offset": 3682, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3744, + "offset": 3728, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3777, + "offset": 3761, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3817, + "offset": 3801, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3855, + "offset": 3839, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15100, + "offset": 16303, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15581, + "offset": 16784, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16124, + "offset": 17327, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16156, + "offset": 17359, "length": 5, "value": "false" }, diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface index 39c411e52..ca7dbf2f2 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 39c411e52..ca7dbf2f2 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources index 442df2740..8fd98f5f3 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources @@ -6,7 +6,7 @@ Headers/CanvasNative-Swift.h - KQEqLWajxad+NsMR97QgaK9NAB8= + C68zRtPW4xvtlskugBKLPGnrtnw= Headers/CanvasNative.h @@ -14,11 +14,11 @@ Headers/canvas_ios.h - tpvRt6ap0o+Ki9xEdR1L6+rm+Ts= + AxjlF8Y16ITHCMbsMITb7ZH2EBY= Headers/canvas_native.h - +1zKIVPkNQrpFxv8ryYy1qhCmhQ= + TgmoImH8H+2vDVVqe5bZeCt257c= Info.plist @@ -26,19 +26,19 @@ Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo - u7yANk27hhYaGJ/l3r0BlXkB4os= + F6/IVKKbfgxx9RDJsVO0F++MeU0= Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo - dS/NPiI6BtS0ckrjKMaa5rC3KhA= + ShM1DyLmX7WQidisl8eb0Ey1no8= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json - qMgpjATR5wyLm3DRbpO62FbIVY0= + /aW9slqgUumHOwEoOkHR9G5dfbs= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - LQPifhRXeEXsxxLpaNSS7WLBjmg= + AE6hqsCqw+KiR+SJ13Wu+dC1/VE= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc @@ -46,19 +46,19 @@ Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface - LQPifhRXeEXsxxLpaNSS7WLBjmg= + AE6hqsCqw+KiR+SJ13Wu+dC1/VE= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftmodule - gaIY317x2WOMQX7YwpysD6m0zj0= + sNPEhoKvVoDTevK/JnB0rOUhGnA= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json - qMgpjATR5wyLm3DRbpO62FbIVY0= + /aW9slqgUumHOwEoOkHR9G5dfbs= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - 4v2qUuecetL5hzR4/ImbGeng7Yc= + 0OnEHSdT0+cOYKTBbvMESTGmJMk= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc @@ -66,11 +66,11 @@ Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - 4v2qUuecetL5hzR4/ImbGeng7Yc= + 0OnEHSdT0+cOYKTBbvMESTGmJMk= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - igW1jFl6ZWATG4XCrhB65/PFRaE= + 1hwXRy6i2ykgRxo9PPYy6YBqHrY= Modules/module.modulemap @@ -87,7 +87,7 @@ hash2 - HolmQhyyK+55I5nkbCpKC4Q+rFShshI9PH4SLXv2y+E= + zWVqEjKewGd6eJ1sy56phYv5dBdNsGWFAccs09Owu7w= Headers/CanvasNative.h @@ -101,42 +101,42 @@ hash2 - Ozn+oUOwYO09Awh6cWoQt64YMC3t05r4fPyxbk5SCc8= + 05uo7RvFA2tfAOoTvR7dY5y0/1TjNWBRvLnmy0Ikq2s= Headers/canvas_native.h hash2 - PfLiOKmhlb6q5Og5d5W2uvW3Kx5Kxje1POSTtfSQZCA= + FkM9f7fdufB6qW4q5CKhNyucqWULq3Zrsp4r2SmSsQg= Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo hash2 - T9Rf09KJGfUw/4dofL3nrjvP2+m9cHYgL2DLwy0jStY= + +l0kG1HAI4ieRkLWj8Jya+TD8/r+81gZ8E9EGSF2SIY= Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo hash2 - mupxiYEnHhDGPeh8mRZSt5+7lwCdkSfVPuduVjvLx7M= + uLmyjVCfOZZnOCNVpxLB/6cUUYDgGFTSdOArUILwVAY= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json hash2 - rcvfX4UEXIKVn7UMmmN8DcpTB/QiOfflb6TgwPsDsLM= + kMY/qJMCJG+2FNpYXV8952WTM9Os6AaC/OOEX8q91kY= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface hash2 - t8gesQ1RAaDakLSQk3FERj7aS9JQXA5+7PWNkGWzsaY= + kceTZOCh/YVLCrj4uVBl7ZgNYYSbREdRwmAh/UrRdVo= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc @@ -150,28 +150,28 @@ hash2 - t8gesQ1RAaDakLSQk3FERj7aS9JQXA5+7PWNkGWzsaY= + kceTZOCh/YVLCrj4uVBl7ZgNYYSbREdRwmAh/UrRdVo= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftmodule hash2 - doc7VuaeaL4ygweyJWFM2QCBiaiGeRJyT5tUaM76lLQ= + kgkvJo0urucOv7gqVRoQ8F70VIV2s7JGqPl2No6/zJ8= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json hash2 - rcvfX4UEXIKVn7UMmmN8DcpTB/QiOfflb6TgwPsDsLM= + kMY/qJMCJG+2FNpYXV8952WTM9Os6AaC/OOEX8q91kY= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface hash2 - 9cbkAcmgmT8f2/1AgwlHKl7QPpc6lR54zFVhT2sQ230= + RyjXJT7YUNRv5w0rr+wAnZv4nF3dtYdBDHv0TPBlwT4= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc @@ -185,14 +185,14 @@ hash2 - 9cbkAcmgmT8f2/1AgwlHKl7QPpc6lR54zFVhT2sQ230= + RyjXJT7YUNRv5w0rr+wAnZv4nF3dtYdBDHv0TPBlwT4= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftmodule hash2 - SHtjKWgxAgUk9p4W/HuXoHGPvvCFuhQn+gIXddsyL9A= + W+kSjjXfC/FcehVJ+Gt//X+L4tohx/Al3t8ZB2IO30g= Modules/module.modulemap diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative index f118b728b..ee02dc918 100644 Binary files a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative and b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative differ diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml index c3e4284a2..b58a94329 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml @@ -2,610 +2,608 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas/src-native/canvas-ios/dist/Release-iphonesimulator/CanvasNative.framework/CanvasNative' relocations: - - { offsetInCU: 0x34, offset: 0x76928, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x86C000, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x7695D, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x86C038, symSize: 0x0 } - - { offsetInCU: 0x3F, offset: 0x769B2, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x28, symBinAddr: 0x3DA8, symSize: 0xC } - - { offsetInCU: 0x53, offset: 0x769C6, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x34, symBinAddr: 0x3DB4, symSize: 0x4 } - - { offsetInCU: 0x67, offset: 0x769DA, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x38, symBinAddr: 0x3DB8, symSize: 0x20 } - - { offsetInCU: 0x7B, offset: 0x769EE, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x58, symBinAddr: 0x3DD8, symSize: 0x28 } - - { offsetInCU: 0x8F, offset: 0x76A02, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0x94, symBinAddr: 0x3E14, symSize: 0x30 } - - { offsetInCU: 0xA3, offset: 0x76A16, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0xC4, symBinAddr: 0x3E44, symSize: 0xC } - - { offsetInCU: 0xB7, offset: 0x76A2A, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0xD0, symBinAddr: 0x3E50, symSize: 0x20 } - - { offsetInCU: 0xCB, offset: 0x76A3E, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0xF0, symBinAddr: 0x3E70, symSize: 0x2C } - - { offsetInCU: 0x4F, offset: 0x76C27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AD0, symBinAddr: 0x1047CE0, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x76C41, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AD8, symBinAddr: 0x1047CE8, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x76C75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x4, symBinAddr: 0x3F14, symSize: 0x38 } - - { offsetInCU: 0xF3, offset: 0x76CCB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x40, symBinAddr: 0x3F50, symSize: 0x70 } - - { offsetInCU: 0x144, offset: 0x76D1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xB4, symBinAddr: 0x3FC4, symSize: 0x44 } - - { offsetInCU: 0x19F, offset: 0x76D77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0xFC, symBinAddr: 0x400C, symSize: 0x50 } - - { offsetInCU: 0x204, offset: 0x76DDC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x150, symBinAddr: 0x4060, symSize: 0x68 } - - { offsetInCU: 0x27D, offset: 0x76E55, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1BC, symBinAddr: 0x40CC, symSize: 0x98 } - - { offsetInCU: 0x2DA, offset: 0x76EB2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x258, symBinAddr: 0x4168, symSize: 0x14 } - - { offsetInCU: 0x389, offset: 0x76F61, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x2B0, symBinAddr: 0x41C0, symSize: 0x50 } - - { offsetInCU: 0x45A, offset: 0x77032, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x34C, symBinAddr: 0x425C, symSize: 0x58 } - - { offsetInCU: 0x534, offset: 0x7710C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x3EC, symBinAddr: 0x42FC, symSize: 0x58 } - - { offsetInCU: 0x613, offset: 0x771EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x494, symBinAddr: 0x43A4, symSize: 0x60 } - - { offsetInCU: 0x6BF, offset: 0x77297, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x4F8, symBinAddr: 0x4408, symSize: 0x8 } - - { offsetInCU: 0x728, offset: 0x77300, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x504, symBinAddr: 0x4414, symSize: 0x8 } - - { offsetInCU: 0x77F, offset: 0x77357, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x520, symBinAddr: 0x4430, symSize: 0x8 } - - { offsetInCU: 0x7D6, offset: 0x773AE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x52C, symBinAddr: 0x443C, symSize: 0x8 } - - { offsetInCU: 0x82D, offset: 0x77405, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x538, symBinAddr: 0x4448, symSize: 0x8 } - - { offsetInCU: 0x884, offset: 0x7745C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x544, symBinAddr: 0x4454, symSize: 0x8 } - - { offsetInCU: 0x903, offset: 0x774DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x554, symBinAddr: 0x4464, symSize: 0x24 } - - { offsetInCU: 0x9B4, offset: 0x7758C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x57C, symBinAddr: 0x448C, symSize: 0x14 } - - { offsetInCU: 0xA27, offset: 0x775FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x594, symBinAddr: 0x44A4, symSize: 0x8 } - - { offsetInCU: 0xA7E, offset: 0x77656, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x5F4, symBinAddr: 0x4504, symSize: 0x74 } - - { offsetInCU: 0xB09, offset: 0x776E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0x7FC, symBinAddr: 0x470C, symSize: 0xA0 } - - { offsetInCU: 0xB5A, offset: 0x77732, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xB04, symBinAddr: 0x4A14, symSize: 0x98 } - - { offsetInCU: 0xBAB, offset: 0x77783, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0xE58, symBinAddr: 0x4D68, symSize: 0x98 } - - { offsetInCU: 0xC07, offset: 0x777DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1280, symBinAddr: 0x5190, symSize: 0xD8 } - - { offsetInCU: 0xC4F, offset: 0x77827, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x135C, symBinAddr: 0x526C, symSize: 0x34 } - - { offsetInCU: 0xCAF, offset: 0x77887, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x13E0, symBinAddr: 0x52F0, symSize: 0x3C } - - { offsetInCU: 0xD00, offset: 0x778D8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1450, symBinAddr: 0x5360, symSize: 0x2AC } - - { offsetInCU: 0xF34, offset: 0x77B0C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x16FC, symBinAddr: 0x560C, symSize: 0x264 } - - { offsetInCU: 0x112E, offset: 0x77D06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1960, symBinAddr: 0x5870, symSize: 0xEC } - - { offsetInCU: 0x122B, offset: 0x77E03, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1A4C, symBinAddr: 0x595C, symSize: 0x1B4 } - - { offsetInCU: 0x13A0, offset: 0x77F78, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1C00, symBinAddr: 0x5B10, symSize: 0x1CC } - - { offsetInCU: 0x1535, offset: 0x7810D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x1DCC, symBinAddr: 0x5CDC, symSize: 0x1E0 } - - { offsetInCU: 0x1721, offset: 0x782F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x1FAC, symBinAddr: 0x5EBC, symSize: 0x1B4 } - - { offsetInCU: 0x17EB, offset: 0x783C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x2304, symBinAddr: 0x6214, symSize: 0x1D4 } - - { offsetInCU: 0x18CC, offset: 0x784A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x24D8, symBinAddr: 0x63E8, symSize: 0x114 } - - { offsetInCU: 0x1977, offset: 0x7854F, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0x89C, symBinAddr: 0x47AC, symSize: 0x78 } - - { offsetInCU: 0x198F, offset: 0x78567, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xB9C, symBinAddr: 0x4AAC, symSize: 0x54 } - - { offsetInCU: 0x19FC, offset: 0x785D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x144C, symBinAddr: 0x535C, symSize: 0x4 } - - { offsetInCU: 0x1A87, offset: 0x7865F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x25EC, symBinAddr: 0x64FC, symSize: 0x20 } - - { offsetInCU: 0x1A9B, offset: 0x78673, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2630, symBinAddr: 0x6540, symSize: 0x8 } - - { offsetInCU: 0x1ABA, offset: 0x78692, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2638, symBinAddr: 0x6548, symSize: 0x18 } - - { offsetInCU: 0x1AE3, offset: 0x786BB, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x2650, symBinAddr: 0x6560, symSize: 0x8 } - - { offsetInCU: 0x1AF7, offset: 0x786CF, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x2658, symBinAddr: 0x6568, symSize: 0x3C } - - { offsetInCU: 0x1B0B, offset: 0x786E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x26D8, symBinAddr: 0x65E8, symSize: 0x34 } - - { offsetInCU: 0x1B1F, offset: 0x786F7, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x270C, symBinAddr: 0x661C, symSize: 0x10 } - - { offsetInCU: 0x1B33, offset: 0x7870B, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x271C, symBinAddr: 0x662C, symSize: 0x8 } - - { offsetInCU: 0x1B47, offset: 0x7871F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2748, symBinAddr: 0x6658, symSize: 0x40 } - - { offsetInCU: 0x1B7B, offset: 0x78753, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x27CC, symBinAddr: 0x66DC, symSize: 0x40 } - - { offsetInCU: 0x1BB9, offset: 0x78791, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x280C, symBinAddr: 0x671C, symSize: 0x28 } - - { offsetInCU: 0x1BED, offset: 0x787C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x288C, symBinAddr: 0x679C, symSize: 0x3C } - - { offsetInCU: 0x1C21, offset: 0x787F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x28F4, symBinAddr: 0x6804, symSize: 0x30 } - - { offsetInCU: 0x1C5D, offset: 0x78835, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2960, symBinAddr: 0x6870, symSize: 0x10 } - - { offsetInCU: 0x1C71, offset: 0x78849, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2970, symBinAddr: 0x6880, symSize: 0x40 } - - { offsetInCU: 0x213E, offset: 0x78D16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x3F10, symSize: 0x4 } - - { offsetInCU: 0x2159, offset: 0x78D31, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x3C, symBinAddr: 0x3F4C, symSize: 0x4 } - - { offsetInCU: 0x2174, offset: 0x78D4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xB0, symBinAddr: 0x3FC0, symSize: 0x4 } - - { offsetInCU: 0x2195, offset: 0x78D6D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0xF8, symBinAddr: 0x4008, symSize: 0x4 } - - { offsetInCU: 0x21B0, offset: 0x78D88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x14C, symBinAddr: 0x405C, symSize: 0x4 } - - { offsetInCU: 0x21CB, offset: 0x78DA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1B8, symBinAddr: 0x40C8, symSize: 0x4 } - - { offsetInCU: 0x21E6, offset: 0x78DBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x254, symBinAddr: 0x4164, symSize: 0x4 } - - { offsetInCU: 0x2274, offset: 0x78E4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x26C, symBinAddr: 0x417C, symSize: 0x44 } - - { offsetInCU: 0x23B2, offset: 0x78F8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x300, symBinAddr: 0x4210, symSize: 0x4C } - - { offsetInCU: 0x24FB, offset: 0x790D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x3A4, symBinAddr: 0x42B4, symSize: 0x48 } - - { offsetInCU: 0x2643, offset: 0x7921B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x444, symBinAddr: 0x4354, symSize: 0x50 } - - { offsetInCU: 0x27A0, offset: 0x79378, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x4F4, symBinAddr: 0x4404, symSize: 0x4 } - - { offsetInCU: 0x2812, offset: 0x793EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x500, symBinAddr: 0x4410, symSize: 0x4 } - - { offsetInCU: 0x2855, offset: 0x7942D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x50C, symBinAddr: 0x441C, symSize: 0x14 } - - { offsetInCU: 0x289A, offset: 0x79472, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x528, symBinAddr: 0x4438, symSize: 0x4 } - - { offsetInCU: 0x28DD, offset: 0x794B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x534, symBinAddr: 0x4444, symSize: 0x4 } - - { offsetInCU: 0x2920, offset: 0x794F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x540, symBinAddr: 0x4450, symSize: 0x4 } - - { offsetInCU: 0x2963, offset: 0x7953B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x54C, symBinAddr: 0x445C, symSize: 0x8 } - - { offsetInCU: 0x2A4A, offset: 0x79622, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x578, symBinAddr: 0x4488, symSize: 0x4 } - - { offsetInCU: 0x2AC9, offset: 0x796A1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x590, symBinAddr: 0x44A0, symSize: 0x4 } - - { offsetInCU: 0x2B0C, offset: 0x796E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x59C, symBinAddr: 0x44AC, symSize: 0x58 } - - { offsetInCU: 0x2BCD, offset: 0x797A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x668, symBinAddr: 0x4578, symSize: 0x4 } - - { offsetInCU: 0x2BE1, offset: 0x797B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x66C, symBinAddr: 0x457C, symSize: 0x190 } - - { offsetInCU: 0x2C81, offset: 0x79859, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0x914, symBinAddr: 0x4824, symSize: 0x2C } - - { offsetInCU: 0x2C95, offset: 0x7986D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0x940, symBinAddr: 0x4850, symSize: 0x1C4 } - - { offsetInCU: 0x2D7A, offset: 0x79952, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xBF0, symBinAddr: 0x4B00, symSize: 0x2C } - - { offsetInCU: 0x2D8E, offset: 0x79966, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xC1C, symBinAddr: 0x4B2C, symSize: 0x23C } - - { offsetInCU: 0x2E42, offset: 0x79A1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0xEF0, symBinAddr: 0x4E00, symSize: 0x4 } - - { offsetInCU: 0x2E56, offset: 0x79A2E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0xEF4, symBinAddr: 0x4E04, symSize: 0x38C } - - { offsetInCU: 0x30ED, offset: 0x79CC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1358, symBinAddr: 0x5268, symSize: 0x4 } - - { offsetInCU: 0x3108, offset: 0x79CE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x1390, symBinAddr: 0x52A0, symSize: 0x20 } - - { offsetInCU: 0x311C, offset: 0x79CF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x13B0, symBinAddr: 0x52C0, symSize: 0x30 } - - { offsetInCU: 0x3152, offset: 0x79D2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x141C, symBinAddr: 0x532C, symSize: 0x30 } - - { offsetInCU: 0x4F, offset: 0x79F62, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x5470, symBinAddr: 0x1047D20, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x79F7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x5478, symBinAddr: 0x1047D28, symSize: 0x0 } - - { offsetInCU: 0x83, offset: 0x79F96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x5480, symBinAddr: 0x1047D30, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x79FB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x5488, symBinAddr: 0x1047D38, symSize: 0x0 } - - { offsetInCU: 0xAB, offset: 0x79FBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0x69A8, symSize: 0x40 } - - { offsetInCU: 0xF0, offset: 0x7A003, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x40, symBinAddr: 0x69E8, symSize: 0x30 } - - { offsetInCU: 0x135, offset: 0x7A048, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xA8, symBinAddr: 0x6A50, symSize: 0x40 } - - { offsetInCU: 0x187, offset: 0x7A09A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0x6B3C, symSize: 0x10 } - - { offsetInCU: 0x1A7, offset: 0x7A0BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0x6B3C, symSize: 0x10 } - - { offsetInCU: 0x1DD, offset: 0x7A0F0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0x6B4C, symSize: 0x10 } - - { offsetInCU: 0x1FD, offset: 0x7A110, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0x6B4C, symSize: 0x10 } - - { offsetInCU: 0x236, offset: 0x7A149, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0x6B5C, symSize: 0x10 } - - { offsetInCU: 0x256, offset: 0x7A169, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0x6B5C, symSize: 0x10 } - - { offsetInCU: 0x28C, offset: 0x7A19F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0x6B6C, symSize: 0x10 } - - { offsetInCU: 0x2AC, offset: 0x7A1BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0x6B6C, symSize: 0x10 } - - { offsetInCU: 0x2FB, offset: 0x7A20E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyFTo', symObjAddr: 0x218, symBinAddr: 0x6BC0, symSize: 0x44 } - - { offsetInCU: 0x3C6, offset: 0x7A2D9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyFTo', symObjAddr: 0x2A8, symBinAddr: 0x6C50, symSize: 0x74 } - - { offsetInCU: 0x473, offset: 0x7A386, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x31C, symBinAddr: 0x6CC4, symSize: 0x44 } - - { offsetInCU: 0x4B0, offset: 0x7A3C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x3A4, symBinAddr: 0x6D4C, symSize: 0x30 } - - { offsetInCU: 0x53F, offset: 0x7A452, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x5F8, symBinAddr: 0x6FA0, symSize: 0x44 } - - { offsetInCU: 0x597, offset: 0x7A4AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x680, symBinAddr: 0x7028, symSize: 0x48 } - - { offsetInCU: 0x5F2, offset: 0x7A505, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x6C8, symBinAddr: 0x7070, symSize: 0x44 } - - { offsetInCU: 0x64A, offset: 0x7A55D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x750, symBinAddr: 0x70F8, symSize: 0x48 } - - { offsetInCU: 0x6A5, offset: 0x7A5B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x798, symBinAddr: 0x7140, symSize: 0x10 } - - { offsetInCU: 0x6C5, offset: 0x7A5D8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x798, symBinAddr: 0x7140, symSize: 0x10 } - - { offsetInCU: 0x6FB, offset: 0x7A60E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A8, symBinAddr: 0x7150, symSize: 0x10 } - - { offsetInCU: 0x71B, offset: 0x7A62E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A8, symBinAddr: 0x7150, symSize: 0x10 } - - { offsetInCU: 0x73E, offset: 0x7A651, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7B8, symBinAddr: 0x7160, symSize: 0x10 } - - { offsetInCU: 0x75E, offset: 0x7A671, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7B8, symBinAddr: 0x7160, symSize: 0x10 } - - { offsetInCU: 0x796, offset: 0x7A6A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x7C8, symBinAddr: 0x7170, symSize: 0x34 } - - { offsetInCU: 0x7D9, offset: 0x7A6EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7FC, symBinAddr: 0x71A4, symSize: 0x10 } - - { offsetInCU: 0x7F9, offset: 0x7A70C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7FC, symBinAddr: 0x71A4, symSize: 0x10 } - - { offsetInCU: 0x831, offset: 0x7A744, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x80C, symBinAddr: 0x71B4, symSize: 0x34 } - - { offsetInCU: 0x88A, offset: 0x7A79D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x840, symBinAddr: 0x71E8, symSize: 0x10 } - - { offsetInCU: 0x8AA, offset: 0x7A7BD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x840, symBinAddr: 0x71E8, symSize: 0x10 } - - { offsetInCU: 0x8E0, offset: 0x7A7F3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x850, symBinAddr: 0x71F8, symSize: 0x10 } - - { offsetInCU: 0x900, offset: 0x7A813, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x850, symBinAddr: 0x71F8, symSize: 0x10 } - - { offsetInCU: 0x939, offset: 0x7A84C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x860, symBinAddr: 0x7208, symSize: 0x10 } - - { offsetInCU: 0x959, offset: 0x7A86C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x860, symBinAddr: 0x7208, symSize: 0x10 } - - { offsetInCU: 0x98F, offset: 0x7A8A2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x870, symBinAddr: 0x7218, symSize: 0x10 } - - { offsetInCU: 0x9AF, offset: 0x7A8C2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x870, symBinAddr: 0x7218, symSize: 0x10 } - - { offsetInCU: 0x9D2, offset: 0x7A8E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x880, symBinAddr: 0x7228, symSize: 0x34 } - - { offsetInCU: 0xA04, offset: 0x7A917, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x984, symBinAddr: 0x732C, symSize: 0x34 } - - { offsetInCU: 0xA4C, offset: 0x7A95F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA88, symBinAddr: 0x7430, symSize: 0x20 } - - { offsetInCU: 0xAB4, offset: 0x7A9C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xACC, symBinAddr: 0x7474, symSize: 0x20 } - - { offsetInCU: 0xB53, offset: 0x7AA66, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xB34, symBinAddr: 0x74DC, symSize: 0xC4 } - - { offsetInCU: 0xC00, offset: 0x7AB13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xD58, symBinAddr: 0x7700, symSize: 0x30 } - - { offsetInCU: 0xC9A, offset: 0x7ABAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x15F8, symBinAddr: 0x7FA0, symSize: 0xC4 } - - { offsetInCU: 0xD04, offset: 0x7AC17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x1914, symBinAddr: 0x82BC, symSize: 0xB0 } - - { offsetInCU: 0xD41, offset: 0x7AC54, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1A84, symBinAddr: 0x842C, symSize: 0xB8 } - - { offsetInCU: 0xDB9, offset: 0x7ACCC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1C20, symBinAddr: 0x85C8, symSize: 0x3C } - - { offsetInCU: 0xDEC, offset: 0x7ACFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C5C, symBinAddr: 0x8604, symSize: 0x10 } - - { offsetInCU: 0xE0C, offset: 0x7AD1F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C5C, symBinAddr: 0x8604, symSize: 0x10 } - - { offsetInCU: 0xE46, offset: 0x7AD59, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1C6C, symBinAddr: 0x8614, symSize: 0x34 } - - { offsetInCU: 0xEA1, offset: 0x7ADB4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1CE8, symBinAddr: 0x8690, symSize: 0x48 } - - { offsetInCU: 0xF3B, offset: 0x7AE4E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1D7C, symBinAddr: 0x8724, symSize: 0x64 } - - { offsetInCU: 0x1000, offset: 0x7AF13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1E38, symBinAddr: 0x87E0, symSize: 0x94 } - - { offsetInCU: 0x108D, offset: 0x7AFA0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x1F0C, symBinAddr: 0x88B4, symSize: 0x6C } - - { offsetInCU: 0x10EF, offset: 0x7B002, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x201C, symBinAddr: 0x89C4, symSize: 0x6C } - - { offsetInCU: 0x114C, offset: 0x7B05F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2088, symBinAddr: 0x8A30, symSize: 0xB0 } - - { offsetInCU: 0x119E, offset: 0x7B0B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x2208, symBinAddr: 0x8BB0, symSize: 0x94 } - - { offsetInCU: 0x1230, offset: 0x7B143, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x2E24, symBinAddr: 0x97CC, symSize: 0x28 } - - { offsetInCU: 0x1285, offset: 0x7B198, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x37EC, symBinAddr: 0xA194, symSize: 0x20 } - - { offsetInCU: 0x12B8, offset: 0x7B1CB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x380C, symBinAddr: 0xA1B4, symSize: 0x10 } - - { offsetInCU: 0x12D8, offset: 0x7B1EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x380C, symBinAddr: 0xA1B4, symSize: 0x10 } - - { offsetInCU: 0x1310, offset: 0x7B223, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x381C, symBinAddr: 0xA1C4, symSize: 0x34 } - - { offsetInCU: 0x137E, offset: 0x7B291, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x38D0, symBinAddr: 0xA278, symSize: 0x20 } - - { offsetInCU: 0x13D8, offset: 0x7B2EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x38F0, symBinAddr: 0xA298, symSize: 0x34 } - - { offsetInCU: 0x1438, offset: 0x7B34B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3954, symBinAddr: 0xA2FC, symSize: 0x34 } - - { offsetInCU: 0x157C, offset: 0x7B48F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x3CA0, symBinAddr: 0xA648, symSize: 0x28 } - - { offsetInCU: 0x15AF, offset: 0x7B4C2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x3FCC, symBinAddr: 0xA974, symSize: 0x24 } - - { offsetInCU: 0x15EA, offset: 0x7B4FD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x40B8, symBinAddr: 0xAA60, symSize: 0x34 } - - { offsetInCU: 0x161D, offset: 0x7B530, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4A4C, symBinAddr: 0xB3F4, symSize: 0x298 } - - { offsetInCU: 0x179A, offset: 0x7B6AD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x4DA8, symBinAddr: 0xB750, symSize: 0xA0 } - - { offsetInCU: 0x1A16, offset: 0x7B929, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1EE0, symBinAddr: 0x8888, symSize: 0x2C } - - { offsetInCU: 0x1A2E, offset: 0x7B941, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2190, symBinAddr: 0x8B38, symSize: 0x78 } - - { offsetInCU: 0x1A46, offset: 0x7B959, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x22F8, symBinAddr: 0x8CA0, symSize: 0x94 } - - { offsetInCU: 0x1A7E, offset: 0x7B991, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x238C, symBinAddr: 0x8D34, symSize: 0xB8 } - - { offsetInCU: 0x1AC0, offset: 0x7B9D3, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x2444, symBinAddr: 0x8DEC, symSize: 0x6C } - - { offsetInCU: 0x1B65, offset: 0x7BA78, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x3FF0, symBinAddr: 0xA998, symSize: 0xC4 } - - { offsetInCU: 0x1B95, offset: 0x7BAA8, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x40EC, symBinAddr: 0xAA94, symSize: 0x10 } - - { offsetInCU: 0x1BA9, offset: 0x7BABC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x40FC, symBinAddr: 0xAAA4, symSize: 0x20 } - - { offsetInCU: 0x1BC8, offset: 0x7BADB, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x411C, symBinAddr: 0xAAC4, symSize: 0x64 } - - { offsetInCU: 0x1DCF, offset: 0x7BCE2, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x4CE4, symBinAddr: 0xB68C, symSize: 0x40 } - - { offsetInCU: 0x1DE3, offset: 0x7BCF6, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x4D24, symBinAddr: 0xB6CC, symSize: 0x40 } - - { offsetInCU: 0x1DF7, offset: 0x7BD0A, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x4D64, symBinAddr: 0xB70C, symSize: 0x24 } - - { offsetInCU: 0x1E0B, offset: 0x7BD1E, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x4D88, symBinAddr: 0xB730, symSize: 0x20 } - - { offsetInCU: 0x1E2A, offset: 0x7BD3D, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x5274, symBinAddr: 0xBC1C, symSize: 0x48 } - - { offsetInCU: 0x1E53, offset: 0x7BD66, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x52BC, symBinAddr: 0xBC64, symSize: 0x10 } - - { offsetInCU: 0x1E67, offset: 0x7BD7A, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x52CC, symBinAddr: 0xBC74, symSize: 0x8 } - - { offsetInCU: 0x1E7B, offset: 0x7BD8E, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x52D4, symBinAddr: 0xBC7C, symSize: 0x10 } - - { offsetInCU: 0x1E9A, offset: 0x7BDAD, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x52E4, symBinAddr: 0xBC8C, symSize: 0xC } - - { offsetInCU: 0x1EC3, offset: 0x7BDD6, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5314, symBinAddr: 0xBCBC, symSize: 0x8 } - - { offsetInCU: 0x1EE2, offset: 0x7BDF5, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x531C, symBinAddr: 0xBCC4, symSize: 0x30 } - - { offsetInCU: 0x1F0B, offset: 0x7BE1E, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x534C, symBinAddr: 0xBCF4, symSize: 0x10 } - - { offsetInCU: 0x1F1F, offset: 0x7BE32, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x5394, symBinAddr: 0xBD3C, symSize: 0x3C } - - { offsetInCU: 0x21A4, offset: 0x7C0B7, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x493C, symBinAddr: 0xB2E4, symSize: 0x110 } - - { offsetInCU: 0x2652, offset: 0x7C565, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyF', symObjAddr: 0x1D4, symBinAddr: 0x6B7C, symSize: 0x44 } - - { offsetInCU: 0x26FB, offset: 0x7C60E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyF', symObjAddr: 0x25C, symBinAddr: 0x6C04, symSize: 0x4C } - - { offsetInCU: 0x27A4, offset: 0x7C6B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x360, symBinAddr: 0x6D08, symSize: 0x44 } - - { offsetInCU: 0x27D7, offset: 0x7C6EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x3D4, symBinAddr: 0x6D7C, symSize: 0xEC } - - { offsetInCU: 0x2823, offset: 0x7C736, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x4C0, symBinAddr: 0x6E68, symSize: 0x58 } - - { offsetInCU: 0x2848, offset: 0x7C75B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x518, symBinAddr: 0x6EC0, symSize: 0xE0 } - - { offsetInCU: 0x2889, offset: 0x7C79C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x63C, symBinAddr: 0x6FE4, symSize: 0x44 } - - { offsetInCU: 0x28E1, offset: 0x7C7F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x70C, symBinAddr: 0x70B4, symSize: 0x44 } - - { offsetInCU: 0x2A27, offset: 0x7C93A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x8B4, symBinAddr: 0x725C, symSize: 0xD0 } - - { offsetInCU: 0x2B4C, offset: 0x7CA5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x9B8, symBinAddr: 0x7360, symSize: 0xD0 } - - { offsetInCU: 0x2C92, offset: 0x7CBA5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xAA8, symBinAddr: 0x7450, symSize: 0x24 } - - { offsetInCU: 0x2CDA, offset: 0x7CBED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xAEC, symBinAddr: 0x7494, symSize: 0x24 } - - { offsetInCU: 0x2D0E, offset: 0x7CC21, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xB10, symBinAddr: 0x74B8, symSize: 0x24 } - - { offsetInCU: 0x2E88, offset: 0x7CD9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xBF8, symBinAddr: 0x75A0, symSize: 0x160 } - - { offsetInCU: 0x325A, offset: 0x7D16D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xD88, symBinAddr: 0x7730, symSize: 0x870 } - - { offsetInCU: 0x3A5D, offset: 0x7D970, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x16BC, symBinAddr: 0x8064, symSize: 0x258 } - - { offsetInCU: 0x3E8F, offset: 0x7DDA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x19C4, symBinAddr: 0x836C, symSize: 0xC0 } - - { offsetInCU: 0x3F20, offset: 0x7DE33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1B3C, symBinAddr: 0x84E4, symSize: 0xE4 } - - { offsetInCU: 0x407B, offset: 0x7DF8E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1CA0, symBinAddr: 0x8648, symSize: 0x48 } - - { offsetInCU: 0x4101, offset: 0x7E014, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1D30, symBinAddr: 0x86D8, symSize: 0x4C } - - { offsetInCU: 0x4222, offset: 0x7E135, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1DE0, symBinAddr: 0x8788, symSize: 0x58 } - - { offsetInCU: 0x4318, offset: 0x7E22B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x2138, symBinAddr: 0x8AE0, symSize: 0x58 } - - { offsetInCU: 0x4364, offset: 0x7E277, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x229C, symBinAddr: 0x8C44, symSize: 0x5C } - - { offsetInCU: 0x438D, offset: 0x7E2A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x24B0, symBinAddr: 0x8E58, symSize: 0x44 } - - { offsetInCU: 0x43B3, offset: 0x7E2C6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x24F4, symBinAddr: 0x8E9C, symSize: 0x4 } - - { offsetInCU: 0x446F, offset: 0x7E382, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x24F8, symBinAddr: 0x8EA0, symSize: 0x92C } - - { offsetInCU: 0x465E, offset: 0x7E571, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x2E4C, symBinAddr: 0x97F4, symSize: 0x50 } - - { offsetInCU: 0x4687, offset: 0x7E59A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x2E9C, symBinAddr: 0x9844, symSize: 0x950 } - - { offsetInCU: 0x4897, offset: 0x7E7AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3850, symBinAddr: 0xA1F8, symSize: 0x80 } - - { offsetInCU: 0x498D, offset: 0x7E8A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3924, symBinAddr: 0xA2CC, symSize: 0x30 } - - { offsetInCU: 0x4A2B, offset: 0x7E93E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3988, symBinAddr: 0xA330, symSize: 0x144 } - - { offsetInCU: 0x4C2C, offset: 0x7EB3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3ACC, symBinAddr: 0xA474, symSize: 0x1D4 } - - { offsetInCU: 0x4EA9, offset: 0x7EDBC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x3CC8, symBinAddr: 0xA670, symSize: 0x304 } - - { offsetInCU: 0x4F39, offset: 0x7EE4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x40B4, symBinAddr: 0xAA5C, symSize: 0x4 } - - { offsetInCU: 0x4F67, offset: 0x7EE7A, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x4180, symBinAddr: 0xAB28, symSize: 0x64 } - - { offsetInCU: 0x4FC1, offset: 0x7EED4, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x41E4, symBinAddr: 0xAB8C, symSize: 0x6C } - - { offsetInCU: 0x5041, offset: 0x7EF54, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4250, symBinAddr: 0xABF8, symSize: 0xD8 } - - { offsetInCU: 0x507E, offset: 0x7EF91, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4328, symBinAddr: 0xACD0, symSize: 0xE0 } - - { offsetInCU: 0x50F9, offset: 0x7F00C, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4408, symBinAddr: 0xADB0, symSize: 0x1F4 } - - { offsetInCU: 0x51B5, offset: 0x7F0C8, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x45FC, symBinAddr: 0xAFA4, symSize: 0x340 } - - { offsetInCU: 0x27, offset: 0x7F315, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xBDDC, symSize: 0x10 } - - { offsetInCU: 0x62, offset: 0x7F350, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x10, symBinAddr: 0xBDEC, symSize: 0x20 } - - { offsetInCU: 0x1AF, offset: 0x7F49D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xBDDC, symSize: 0x10 } - - { offsetInCU: 0x65, offset: 0x7F52C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xBE0C, symSize: 0x10 } - - { offsetInCU: 0x85, offset: 0x7F54C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xBE0C, symSize: 0x10 } - - { offsetInCU: 0xBB, offset: 0x7F582, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xBE1C, symSize: 0x10 } - - { offsetInCU: 0xDB, offset: 0x7F5A2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xBE1C, symSize: 0x10 } - - { offsetInCU: 0x114, offset: 0x7F5DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0xBE2C, symSize: 0x44 } - - { offsetInCU: 0x16C, offset: 0x7F633, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x64, symBinAddr: 0xBE70, symSize: 0x48 } - - { offsetInCU: 0x1C7, offset: 0x7F68E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xAC, symBinAddr: 0xBEB8, symSize: 0x44 } - - { offsetInCU: 0x21F, offset: 0x7F6E6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xF0, symBinAddr: 0xBEFC, symSize: 0x48 } - - { offsetInCU: 0x27A, offset: 0x7F741, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0xBF44, symSize: 0x10 } - - { offsetInCU: 0x29A, offset: 0x7F761, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0xBF44, symSize: 0x10 } - - { offsetInCU: 0x2D0, offset: 0x7F797, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0xBF54, symSize: 0x10 } - - { offsetInCU: 0x2F0, offset: 0x7F7B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0xBF54, symSize: 0x10 } - - { offsetInCU: 0x329, offset: 0x7F7F0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0xBF64, symSize: 0x10 } - - { offsetInCU: 0x349, offset: 0x7F810, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0xBF64, symSize: 0x10 } - - { offsetInCU: 0x37F, offset: 0x7F846, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0xBF74, symSize: 0x10 } - - { offsetInCU: 0x39F, offset: 0x7F866, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0xBF74, symSize: 0x10 } - - { offsetInCU: 0x3D8, offset: 0x7F89F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x178, symBinAddr: 0xBF84, symSize: 0x44 } - - { offsetInCU: 0x430, offset: 0x7F8F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1BC, symBinAddr: 0xBFC8, symSize: 0x48 } - - { offsetInCU: 0x48B, offset: 0x7F952, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0xC010, symSize: 0x10 } - - { offsetInCU: 0x4AB, offset: 0x7F972, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0xC010, symSize: 0x10 } - - { offsetInCU: 0x4E1, offset: 0x7F9A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0xC020, symSize: 0x10 } - - { offsetInCU: 0x501, offset: 0x7F9C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0xC020, symSize: 0x10 } - - { offsetInCU: 0x53A, offset: 0x7FA01, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0xC030, symSize: 0x10 } - - { offsetInCU: 0x55A, offset: 0x7FA21, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0xC030, symSize: 0x10 } - - { offsetInCU: 0x590, offset: 0x7FA57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0xC040, symSize: 0x10 } - - { offsetInCU: 0x5B0, offset: 0x7FA77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0xC040, symSize: 0x10 } - - { offsetInCU: 0x5E9, offset: 0x7FAB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x244, symBinAddr: 0xC050, symSize: 0x48 } - - { offsetInCU: 0x63F, offset: 0x7FB06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x28C, symBinAddr: 0xC098, symSize: 0x40 } - - { offsetInCU: 0x682, offset: 0x7FB49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2CC, symBinAddr: 0xC0D8, symSize: 0x8 } - - { offsetInCU: 0x69E, offset: 0x7FB65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2D4, symBinAddr: 0xC0E0, symSize: 0x2C } - - { offsetInCU: 0x6D0, offset: 0x7FB97, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0xC10C, symSize: 0x10 } - - { offsetInCU: 0x6F0, offset: 0x7FBB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0xC10C, symSize: 0x10 } - - { offsetInCU: 0x728, offset: 0x7FBEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x310, symBinAddr: 0xC11C, symSize: 0x34 } - - { offsetInCU: 0x781, offset: 0x7FC48, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0xC224, symSize: 0x10 } - - { offsetInCU: 0x7A1, offset: 0x7FC68, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0xC224, symSize: 0x10 } - - { offsetInCU: 0x7D7, offset: 0x7FC9E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0xC234, symSize: 0x10 } - - { offsetInCU: 0x7F7, offset: 0x7FCBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0xC234, symSize: 0x10 } - - { offsetInCU: 0x846, offset: 0x7FD0D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x5A4, symBinAddr: 0xC370, symSize: 0x20 } - - { offsetInCU: 0x878, offset: 0x7FD3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x708, symBinAddr: 0xC4D4, symSize: 0x28 } - - { offsetInCU: 0x8D0, offset: 0x7FD97, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x744, symBinAddr: 0xC510, symSize: 0x88 } - - { offsetInCU: 0x934, offset: 0x7FDFB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x7CC, symBinAddr: 0xC598, symSize: 0x7C } - - { offsetInCU: 0x9D6, offset: 0x7FE9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xBF4, symBinAddr: 0xC9C0, symSize: 0x28 } - - { offsetInCU: 0xAC0, offset: 0x7FF87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x584, symBinAddr: 0xC350, symSize: 0x20 } - - { offsetInCU: 0xB34, offset: 0x7FFFB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xC4C, symBinAddr: 0xCA18, symSize: 0x58 } - - { offsetInCU: 0x123B, offset: 0x80702, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x438, symBinAddr: 0xC244, symSize: 0x20 } - - { offsetInCU: 0x1255, offset: 0x8071C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x458, symBinAddr: 0xC264, symSize: 0xEC } - - { offsetInCU: 0x128D, offset: 0x80754, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x5C4, symBinAddr: 0xC390, symSize: 0x144 } - - { offsetInCU: 0x1448, offset: 0x8090F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x730, symBinAddr: 0xC4FC, symSize: 0x14 } - - { offsetInCU: 0x14F9, offset: 0x809C0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x848, symBinAddr: 0xC614, symSize: 0x3AC } - - { offsetInCU: 0x1869, offset: 0x80D30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xC1C, symBinAddr: 0xC9E8, symSize: 0x30 } - - { offsetInCU: 0x1954, offset: 0x80E1B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xCA4, symBinAddr: 0xCA70, symSize: 0x65C } - - { offsetInCU: 0x2152, offset: 0x81619, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x1344, symBinAddr: 0xD110, symSize: 0x6C8 } - - { offsetInCU: 0x10C, offset: 0x81FD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0xED4, symBinAddr: 0xE684, symSize: 0x68 } - - { offsetInCU: 0x19C, offset: 0x82069, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0xF48, symBinAddr: 0xE6F8, symSize: 0x10 } - - { offsetInCU: 0x1CB, offset: 0x82098, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0xF58, symBinAddr: 0xE708, symSize: 0x4 } - - { offsetInCU: 0x368, offset: 0x82235, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x16DC, symBinAddr: 0xEE8C, symSize: 0x2C } - - { offsetInCU: 0x5D4, offset: 0x824A1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1744, symBinAddr: 0xEEF4, symSize: 0x68 } - - { offsetInCU: 0x603, offset: 0x824D0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x17AC, symBinAddr: 0xEF5C, symSize: 0x20 } - - { offsetInCU: 0x617, offset: 0x824E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x17CC, symBinAddr: 0xEF7C, symSize: 0x20 } - - { offsetInCU: 0x62B, offset: 0x824F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x17EC, symBinAddr: 0xEF9C, symSize: 0x30 } - - { offsetInCU: 0x63F, offset: 0x8250C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x181C, symBinAddr: 0xEFCC, symSize: 0x8 } - - { offsetInCU: 0x653, offset: 0x82520, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1824, symBinAddr: 0xEFD4, symSize: 0x3C } - - { offsetInCU: 0x667, offset: 0x82534, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1860, symBinAddr: 0xF010, symSize: 0x50 } - - { offsetInCU: 0x67B, offset: 0x82548, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x18BC, symBinAddr: 0xF060, symSize: 0x40 } - - { offsetInCU: 0x68F, offset: 0x8255C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x18FC, symBinAddr: 0xF0A0, symSize: 0x48 } - - { offsetInCU: 0x6A3, offset: 0x82570, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1944, symBinAddr: 0xF0E8, symSize: 0x40 } - - { offsetInCU: 0x6B7, offset: 0x82584, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1984, symBinAddr: 0xF128, symSize: 0x10 } - - { offsetInCU: 0x6CB, offset: 0x82598, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1994, symBinAddr: 0xF138, symSize: 0x48 } - - { offsetInCU: 0x6DF, offset: 0x825AC, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1AA0, symBinAddr: 0xF180, symSize: 0x58 } - - { offsetInCU: 0x6F3, offset: 0x825C0, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1AF8, symBinAddr: 0xF1D8, symSize: 0x8 } - - { offsetInCU: 0x761, offset: 0x8262E, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x1DE4, symBinAddr: 0xF4C4, symSize: 0x10 } - - { offsetInCU: 0xCBB, offset: 0x82B88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0xD7D8, symSize: 0x540 } - - { offsetInCU: 0xF57, offset: 0x82E24, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x54C, symBinAddr: 0xDD24, symSize: 0xE0 } - - { offsetInCU: 0xFD6, offset: 0x82EA3, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0xDEB4, symSize: 0x9C } - - { offsetInCU: 0x1069, offset: 0x82F36, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0xDCC, symBinAddr: 0xE57C, symSize: 0x108 } - - { offsetInCU: 0x11B3, offset: 0x83080, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x12D0, symBinAddr: 0xEA80, symSize: 0x40C } - - { offsetInCU: 0x18C9, offset: 0x83796, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1B00, symBinAddr: 0xF1E0, symSize: 0x14 } - - { offsetInCU: 0x1968, offset: 0x83835, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1B14, symBinAddr: 0xF1F4, symSize: 0x1DC } - - { offsetInCU: 0x27, offset: 0x83A12, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xF4D4, symSize: 0x2C } - - { offsetInCU: 0x4B, offset: 0x83A36, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2D8, symBinAddr: 0x1048048, symSize: 0x0 } - - { offsetInCU: 0x65, offset: 0x83A50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xF4D4, symSize: 0x2C } - - { offsetInCU: 0x98, offset: 0x83A83, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x178, symBinAddr: 0xF64C, symSize: 0x40 } - - { offsetInCU: 0x104, offset: 0x83AEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x228, symBinAddr: 0xF6FC, symSize: 0x3C } - - { offsetInCU: 0x156, offset: 0x83B41, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x2C, symBinAddr: 0xF500, symSize: 0x10C } - - { offsetInCU: 0x181, offset: 0x83B6C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x208, symBinAddr: 0xF6DC, symSize: 0x20 } - - { offsetInCU: 0x195, offset: 0x83B80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x294, symBinAddr: 0xF768, symSize: 0x4 } - - { offsetInCU: 0x1C0, offset: 0x83BAB, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x298, symBinAddr: 0xF76C, symSize: 0x3C } - - { offsetInCU: 0x348, offset: 0x83D33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x138, symBinAddr: 0xF60C, symSize: 0x40 } - - { offsetInCU: 0x388, offset: 0x83D73, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x1B8, symBinAddr: 0xF68C, symSize: 0x20 } - - { offsetInCU: 0x39C, offset: 0x83D87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1D8, symBinAddr: 0xF6AC, symSize: 0x30 } - - { offsetInCU: 0x3D8, offset: 0x83DC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x264, symBinAddr: 0xF738, symSize: 0x30 } - - { offsetInCU: 0x2B, offset: 0x83E11, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xF7A8, symSize: 0xA4 } - - { offsetInCU: 0x66, offset: 0x83E4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA4, symBinAddr: 0xF84C, symSize: 0xA4 } - - { offsetInCU: 0xF9, offset: 0x83EDF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D8, symBinAddr: 0xF980, symSize: 0x110 } - - { offsetInCU: 0x1A2, offset: 0x83F88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x30C, symBinAddr: 0xFAB4, symSize: 0x28 } - - { offsetInCU: 0x222, offset: 0x84008, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x338, symBinAddr: 0xFAE0, symSize: 0xA0 } - - { offsetInCU: 0x29B, offset: 0x84081, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4D0, symBinAddr: 0xFC78, symSize: 0x15C } - - { offsetInCU: 0x330, offset: 0x84116, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x67C, symBinAddr: 0xFE24, symSize: 0x3C } - - { offsetInCU: 0x381, offset: 0x84167, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6E8, symBinAddr: 0xFE90, symSize: 0x160 } - - { offsetInCU: 0x4DF, offset: 0x842C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x848, symBinAddr: 0xFFF0, symSize: 0x2E4 } - - { offsetInCU: 0x5AE, offset: 0x84394, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB2C, symBinAddr: 0x102D4, symSize: 0x20 } - - { offsetInCU: 0x5C2, offset: 0x843A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB4C, symBinAddr: 0x102F4, symSize: 0x44 } - - { offsetInCU: 0x5D6, offset: 0x843BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xB90, symBinAddr: 0x10338, symSize: 0x2C } - - { offsetInCU: 0x5EA, offset: 0x843D0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBBC, symBinAddr: 0x10364, symSize: 0x8 } - - { offsetInCU: 0x5FE, offset: 0x843E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBC4, symBinAddr: 0x1036C, symSize: 0x40 } - - { offsetInCU: 0x612, offset: 0x843F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC10, symBinAddr: 0x103AC, symSize: 0x30 } - - { offsetInCU: 0x626, offset: 0x8440C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC40, symBinAddr: 0x103DC, symSize: 0x48 } - - { offsetInCU: 0x63A, offset: 0x84420, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xC88, symBinAddr: 0x10424, symSize: 0x3C } - - { offsetInCU: 0x64E, offset: 0x84434, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCC4, symBinAddr: 0x10460, symSize: 0x8 } - - { offsetInCU: 0x662, offset: 0x84448, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCCC, symBinAddr: 0x10468, symSize: 0x4 } - - { offsetInCU: 0x676, offset: 0x8445C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xCD0, symBinAddr: 0x1046C, symSize: 0x4 } - - { offsetInCU: 0x68A, offset: 0x84470, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xCD4, symBinAddr: 0x10470, symSize: 0x10 } - - { offsetInCU: 0x712, offset: 0x844F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D8, symBinAddr: 0xFB80, symSize: 0x4 } - - { offsetInCU: 0x72E, offset: 0x84514, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3DC, symBinAddr: 0xFB84, symSize: 0x4 } - - { offsetInCU: 0x74A, offset: 0x84530, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3E0, symBinAddr: 0xFB88, symSize: 0x4 } - - { offsetInCU: 0x766, offset: 0x8454C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x3E4, symBinAddr: 0xFB8C, symSize: 0x4 } - - { offsetInCU: 0xA14, offset: 0x847FA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xF7A8, symSize: 0xA4 } - - { offsetInCU: 0xAAA, offset: 0x84890, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x148, symBinAddr: 0xF8F0, symSize: 0x90 } - - { offsetInCU: 0xC31, offset: 0x84A17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2E8, symBinAddr: 0xFA90, symSize: 0x24 } - - { offsetInCU: 0xC7B, offset: 0x84A61, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x334, symBinAddr: 0xFADC, symSize: 0x4 } - - { offsetInCU: 0xC9D, offset: 0x84A83, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x3E8, symBinAddr: 0xFB90, symSize: 0xE8 } - - { offsetInCU: 0xD4D, offset: 0x84B33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x62C, symBinAddr: 0xFDD4, symSize: 0x20 } - - { offsetInCU: 0xD61, offset: 0x84B47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x64C, symBinAddr: 0xFDF4, symSize: 0x30 } - - { offsetInCU: 0xD97, offset: 0x84B7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6B8, symBinAddr: 0xFE60, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x84C96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x10484, symSize: 0x4 } - - { offsetInCU: 0x71, offset: 0x84CE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x4, symBinAddr: 0x10488, symSize: 0x70 } - - { offsetInCU: 0xF6, offset: 0x84D65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x78, symBinAddr: 0x104FC, symSize: 0x50 } - - { offsetInCU: 0x191, offset: 0x84E00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xCC, symBinAddr: 0x10550, symSize: 0x68 } - - { offsetInCU: 0x254, offset: 0x84EC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x138, symBinAddr: 0x105BC, symSize: 0x98 } - - { offsetInCU: 0x323, offset: 0x84F92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x220, symBinAddr: 0x106A4, symSize: 0x3C } - - { offsetInCU: 0x375, offset: 0x84FE4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x28C, symBinAddr: 0x10710, symSize: 0x20 } - - { offsetInCU: 0x4E5, offset: 0x85154, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x10484, symSize: 0x4 } - - { offsetInCU: 0x51D, offset: 0x8518C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x10484, symSize: 0x4 } - - { offsetInCU: 0x588, offset: 0x851F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x104F8, symSize: 0x4 } - - { offsetInCU: 0x5C8, offset: 0x85237, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x104F8, symSize: 0x4 } - - { offsetInCU: 0x62A, offset: 0x85299, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x1054C, symSize: 0x4 } - - { offsetInCU: 0x67C, offset: 0x852EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x1054C, symSize: 0x4 } - - { offsetInCU: 0x6F1, offset: 0x85360, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x105B8, symSize: 0x4 } - - { offsetInCU: 0x767, offset: 0x853D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x105B8, symSize: 0x4 } - - { offsetInCU: 0x805, offset: 0x85474, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1D0, symBinAddr: 0x10654, symSize: 0x20 } - - { offsetInCU: 0x819, offset: 0x85488, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x1F0, symBinAddr: 0x10674, symSize: 0x30 } - - { offsetInCU: 0x84F, offset: 0x854BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x25C, symBinAddr: 0x106E0, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x85508, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x10730, symSize: 0x14 } - - { offsetInCU: 0xA9, offset: 0x8558A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x14, symBinAddr: 0x10744, symSize: 0x38 } - - { offsetInCU: 0x1A2, offset: 0x85683, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x68, symBinAddr: 0x10798, symSize: 0x40 } - - { offsetInCU: 0x284, offset: 0x85765, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x118, symBinAddr: 0x10848, symSize: 0x3C } - - { offsetInCU: 0x2D6, offset: 0x857B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0xF8, symBinAddr: 0x10828, symSize: 0x20 } - - { offsetInCU: 0x480, offset: 0x85961, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x10730, symSize: 0x14 } - - { offsetInCU: 0x5C4, offset: 0x85AA5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x4C, symBinAddr: 0x1077C, symSize: 0x1C } - - { offsetInCU: 0x6FA, offset: 0x85BDB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0xA8, symBinAddr: 0x107D8, symSize: 0x20 } - - { offsetInCU: 0x70E, offset: 0x85BEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0xC8, symBinAddr: 0x107F8, symSize: 0x30 } - - { offsetInCU: 0x744, offset: 0x85C25, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x154, symBinAddr: 0x10884, symSize: 0x30 } - - { offsetInCU: 0x61, offset: 0x85CA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x108B8, symSize: 0x10 } - - { offsetInCU: 0x81, offset: 0x85CC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x108B8, symSize: 0x10 } - - { offsetInCU: 0xB7, offset: 0x85CFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x108C8, symSize: 0x10 } - - { offsetInCU: 0xD7, offset: 0x85D1F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x108C8, symSize: 0x10 } - - { offsetInCU: 0x110, offset: 0x85D58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x24, symBinAddr: 0x108D8, symSize: 0x48 } - - { offsetInCU: 0x168, offset: 0x85DB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xB4, symBinAddr: 0x10968, symSize: 0x50 } - - { offsetInCU: 0x1C3, offset: 0x85E0B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x109B8, symSize: 0x10 } - - { offsetInCU: 0x1E3, offset: 0x85E2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x109B8, symSize: 0x10 } - - { offsetInCU: 0x219, offset: 0x85E61, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x109C8, symSize: 0x10 } - - { offsetInCU: 0x239, offset: 0x85E81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x109C8, symSize: 0x10 } - - { offsetInCU: 0x272, offset: 0x85EBA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1B0, symBinAddr: 0x10A64, symSize: 0x78 } - - { offsetInCU: 0x2C8, offset: 0x85F10, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x2D4, symBinAddr: 0x10B88, symSize: 0xB0 } - - { offsetInCU: 0x32A, offset: 0x85F72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x43C, symBinAddr: 0x10CF0, symSize: 0x28 } - - { offsetInCU: 0x35C, offset: 0x85FA4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x4E0, symBinAddr: 0x10D18, symSize: 0xA0 } - - { offsetInCU: 0x3DD, offset: 0x86025, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x5BC, symBinAddr: 0x10DB8, symSize: 0x60 } - - { offsetInCU: 0x44D, offset: 0x86095, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x620, symBinAddr: 0x10E1C, symSize: 0x4C } - - { offsetInCU: 0x4BF, offset: 0x86107, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x70C, symBinAddr: 0x10F08, symSize: 0x34 } - - { offsetInCU: 0x533, offset: 0x8617B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x190, symBinAddr: 0x10A44, symSize: 0x20 } - - { offsetInCU: 0x55D, offset: 0x861A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x74C, symBinAddr: 0x10F48, symSize: 0x10 } - - { offsetInCU: 0x65B, offset: 0x862A3, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xA08, symBinAddr: 0x11204, symSize: 0x74 } - - { offsetInCU: 0x699, offset: 0x862E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x11278, symSize: 0x10 } - - { offsetInCU: 0x6B9, offset: 0x86301, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x11278, symSize: 0x10 } - - { offsetInCU: 0x6EF, offset: 0x86337, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x11288, symSize: 0x10 } - - { offsetInCU: 0x70F, offset: 0x86357, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x11288, symSize: 0x10 } - - { offsetInCU: 0x748, offset: 0x86390, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xA9C, symBinAddr: 0x11298, symSize: 0x20 } - - { offsetInCU: 0x7A0, offset: 0x863E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xABC, symBinAddr: 0x112B8, symSize: 0x14 } - - { offsetInCU: 0x7FB, offset: 0x86443, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xAD0, symBinAddr: 0x112CC, symSize: 0x44 } - - { offsetInCU: 0x853, offset: 0x8649B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xB58, symBinAddr: 0x11354, symSize: 0x48 } - - { offsetInCU: 0x8E8, offset: 0x86530, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xCBC, symBinAddr: 0x114B8, symSize: 0x78 } - - { offsetInCU: 0x93E, offset: 0x86586, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xE34, symBinAddr: 0x11630, symSize: 0xB0 } - - { offsetInCU: 0x9A0, offset: 0x865E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x1178C, symSize: 0x28 } - - { offsetInCU: 0x9D2, offset: 0x8661A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0xFB8, symBinAddr: 0x117B4, symSize: 0xB8 } - - { offsetInCU: 0xA53, offset: 0x8669B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x1074, symBinAddr: 0x1186C, symSize: 0x28 } - - { offsetInCU: 0xAB1, offset: 0x866F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x10D8, symBinAddr: 0x118D0, symSize: 0x10 } - - { offsetInCU: 0xC88, offset: 0x868D0, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgmq5', symObjAddr: 0x13D0, symBinAddr: 0x11ACC, symSize: 0x64 } - - { offsetInCU: 0xCD9, offset: 0x86921, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x15D8, symBinAddr: 0x11CD4, symSize: 0x44 } - - { offsetInCU: 0xCED, offset: 0x86935, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x161C, symBinAddr: 0x11D18, symSize: 0x44 } - - { offsetInCU: 0xD01, offset: 0x86949, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x1660, symBinAddr: 0x11D5C, symSize: 0x20 } - - { offsetInCU: 0xDDB, offset: 0x86A23, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x14B8, symBinAddr: 0x11BB4, symSize: 0x110 } - - { offsetInCU: 0x1086, offset: 0x86CCE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x6C, symBinAddr: 0x10920, symSize: 0x48 } - - { offsetInCU: 0x1103, offset: 0x86D4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x124, symBinAddr: 0x109D8, symSize: 0x6C } - - { offsetInCU: 0x114A, offset: 0x86D92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x228, symBinAddr: 0x10ADC, symSize: 0xAC } - - { offsetInCU: 0x11AE, offset: 0x86DF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x384, symBinAddr: 0x10C38, symSize: 0xB8 } - - { offsetInCU: 0x1239, offset: 0x86E81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x61C, symBinAddr: 0x10E18, symSize: 0x4 } - - { offsetInCU: 0x125A, offset: 0x86EA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x66C, symBinAddr: 0x10E68, symSize: 0x74 } - - { offsetInCU: 0x126E, offset: 0x86EB6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x6E0, symBinAddr: 0x10EDC, symSize: 0x2C } - - { offsetInCU: 0x1387, offset: 0x86FCF, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x75C, symBinAddr: 0x10F58, symSize: 0x2AC } - - { offsetInCU: 0x1731, offset: 0x87379, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xB14, symBinAddr: 0x11310, symSize: 0x44 } - - { offsetInCU: 0x1770, offset: 0x873B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xBA0, symBinAddr: 0x1139C, symSize: 0x48 } - - { offsetInCU: 0x1795, offset: 0x873DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xBE8, symBinAddr: 0x113E4, symSize: 0x44 } - - { offsetInCU: 0x17BA, offset: 0x87402, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xC2C, symBinAddr: 0x11428, symSize: 0x4 } - - { offsetInCU: 0x17E1, offset: 0x87429, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xC30, symBinAddr: 0x1142C, symSize: 0x20 } - - { offsetInCU: 0x17F5, offset: 0x8743D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xC50, symBinAddr: 0x1144C, symSize: 0x6C } - - { offsetInCU: 0x183C, offset: 0x87484, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xD88, symBinAddr: 0x11584, symSize: 0xAC } - - { offsetInCU: 0x189B, offset: 0x874E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0xEE4, symBinAddr: 0x116E0, symSize: 0xAC } - - { offsetInCU: 0x1940, offset: 0x87588, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x10E8, symBinAddr: 0x118E0, symSize: 0x104 } - - { offsetInCU: 0x1A6F, offset: 0x876B7, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x12E8, symBinAddr: 0x119E4, symSize: 0xE8 } - - { offsetInCU: 0x1BB3, offset: 0x877FB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x1434, symBinAddr: 0x11B30, symSize: 0x84 } - - { offsetInCU: 0x1CAC, offset: 0x878F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x1680, symBinAddr: 0x11D7C, symSize: 0x360 } - - { offsetInCU: 0x2B, offset: 0x87D0E, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x122C8, symSize: 0x2C } - - { offsetInCU: 0x4F, offset: 0x87D32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x958, symBinAddr: 0x1048190, symSize: 0x0 } - - { offsetInCU: 0x5D, offset: 0x87D40, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x122C8, symSize: 0x2C } - - { offsetInCU: 0x75, offset: 0x87D58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x2C, symBinAddr: 0x122F4, symSize: 0x10C } - - { offsetInCU: 0xBC, offset: 0x87D9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x13C, symBinAddr: 0x12404, symSize: 0x44 } - - { offsetInCU: 0x132, offset: 0x87E15, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3AC, symBinAddr: 0x12674, symSize: 0x80 } - - { offsetInCU: 0x191, offset: 0x87E74, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x47C, symBinAddr: 0x12744, symSize: 0x3C } - - { offsetInCU: 0x1E2, offset: 0x87EC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x4EC, symBinAddr: 0x127B4, symSize: 0x1DC } - - { offsetInCU: 0x269, offset: 0x87F4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x4E8, symBinAddr: 0x127B0, symSize: 0x4 } - - { offsetInCU: 0x2A5, offset: 0x87F88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x6C8, symBinAddr: 0x12990, symSize: 0x20 } - - { offsetInCU: 0x2C4, offset: 0x87FA7, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x70C, symBinAddr: 0x129D4, symSize: 0x14 } - - { offsetInCU: 0x2ED, offset: 0x87FD0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x74C, symBinAddr: 0x12A14, symSize: 0xC } - - { offsetInCU: 0x301, offset: 0x87FE4, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x758, symBinAddr: 0x12A20, symSize: 0x10 } - - { offsetInCU: 0x315, offset: 0x87FF8, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x768, symBinAddr: 0x12A30, symSize: 0x8 } - - { offsetInCU: 0x329, offset: 0x8800C, size: 0x8, addend: 0x0, symName: '_$s8Dispatch0A13WorkItemFlagsVACs10SetAlgebraAAWl', symObjAddr: 0x770, symBinAddr: 0x12A38, symSize: 0x48 } - - { offsetInCU: 0x33D, offset: 0x88020, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGSayxGSTsWl', symObjAddr: 0x7F8, symBinAddr: 0x12A80, symSize: 0x4C } - - { offsetInCU: 0x351, offset: 0x88034, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x844, symBinAddr: 0x12ACC, symSize: 0x44 } - - { offsetInCU: 0x365, offset: 0x88048, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8C4, symBinAddr: 0x12B10, symSize: 0x24 } - - { offsetInCU: 0x399, offset: 0x8807C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x90C, symBinAddr: 0x12B58, symSize: 0x24 } - - { offsetInCU: 0x52E, offset: 0x88211, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x12400, symSize: 0x4 } - - { offsetInCU: 0x55C, offset: 0x8823F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x12400, symSize: 0x4 } - - { offsetInCU: 0x5BB, offset: 0x8829E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x180, symBinAddr: 0x12448, symSize: 0x4 } - - { offsetInCU: 0x5CF, offset: 0x882B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x184, symBinAddr: 0x1244C, symSize: 0x228 } - - { offsetInCU: 0x6A8, offset: 0x8838B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x42C, symBinAddr: 0x126F4, symSize: 0x20 } - - { offsetInCU: 0x6BC, offset: 0x8839F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x44C, symBinAddr: 0x12714, symSize: 0x30 } - - { offsetInCU: 0x6F2, offset: 0x883D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4B8, symBinAddr: 0x12780, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x8847B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x12B90, symSize: 0x20 } - - { offsetInCU: 0x77, offset: 0x884CB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x12C00, symSize: 0x3C } - - { offsetInCU: 0xC9, offset: 0x8851D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x12BE0, symSize: 0x20 } - - { offsetInCU: 0x214, offset: 0x88668, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x12B90, symSize: 0x20 } - - { offsetInCU: 0x228, offset: 0x8867C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x12BB0, symSize: 0x30 } - - { offsetInCU: 0x264, offset: 0x886B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xAC, symBinAddr: 0x12C3C, symSize: 0x30 } - - { offsetInCU: 0x26, offset: 0x88701, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x24627C, symSize: 0x265C } - - { offsetInCU: 0x40, offset: 0x8871B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9E20, symBinAddr: 0x91D350, symSize: 0x0 } - - { offsetInCU: 0x92, offset: 0x8876D, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFE20, symBinAddr: 0x923350, symSize: 0x0 } - - { offsetInCU: 0xF6, offset: 0x887D1, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE48, symBinAddr: 0x923378, symSize: 0x0 } - - { offsetInCU: 0x10C, offset: 0x887E7, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10250, symBinAddr: 0x923780, symSize: 0x0 } - - { offsetInCU: 0x123, offset: 0x887FE, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE90, symBinAddr: 0x9233C0, symSize: 0x0 } - - { offsetInCU: 0x9C2, offset: 0x8909D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x24627C, symSize: 0x265C } - - { offsetInCU: 0x45D1, offset: 0x8CCAC, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x2488D8, symSize: 0x134 } - - { offsetInCU: 0x46F7, offset: 0x8CDD2, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9954, symBinAddr: 0x24FBD0, symSize: 0x21C } - - { offsetInCU: 0x4926, offset: 0x8D001, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FE0, symBinAddr: 0x24B25C, symSize: 0x1B8 } - - { offsetInCU: 0x5313, offset: 0x8D9EE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x248A0C, symSize: 0x5BC } - - { offsetInCU: 0x5F76, offset: 0x8E651, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x248FC8, symSize: 0x7F8 } - - { offsetInCU: 0x642E, offset: 0x8EB09, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x2497C0, symSize: 0x208 } - - { offsetInCU: 0x69FC, offset: 0x8F0D7, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x2499C8, symSize: 0x7B4 } - - { offsetInCU: 0x77D5, offset: 0x8FEB0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3F00, symBinAddr: 0x24A17C, symSize: 0x634 } - - { offsetInCU: 0x8196, offset: 0x90871, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4534, symBinAddr: 0x24A7B0, symSize: 0xAAC } - - { offsetInCU: 0x9567, offset: 0x91C42, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x529C, symBinAddr: 0x24B518, symSize: 0x23F8 } - - { offsetInCU: 0xCAB8, offset: 0x95193, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5198, symBinAddr: 0x24B414, symSize: 0x104 } - - { offsetInCU: 0xCD20, offset: 0x953FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7694, symBinAddr: 0x24D910, symSize: 0x30 } - - { offsetInCU: 0xCE11, offset: 0x954EC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C4, symBinAddr: 0x24D940, symSize: 0x58 } - - { offsetInCU: 0xCE86, offset: 0x95561, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x24D998, symSize: 0x4 } - - { offsetInCU: 0xCECE, offset: 0x955A9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x24D998, symSize: 0x4 } - - { offsetInCU: 0xCEFD, offset: 0x955D8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x24D998, symSize: 0x4 } - - { offsetInCU: 0xCF21, offset: 0x955FC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x7720, symBinAddr: 0x24D99C, symSize: 0x8C } - - { offsetInCU: 0xD056, offset: 0x95731, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x24DA28, symSize: 0x4 } - - { offsetInCU: 0xD08F, offset: 0x9576A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x24DA28, symSize: 0x4 } - - { offsetInCU: 0xD328, offset: 0x95A03, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77B0, symBinAddr: 0x24DA2C, symSize: 0x15D8 } - - { offsetInCU: 0x10671, offset: 0x98D4C, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B70, symBinAddr: 0x24FDEC, symSize: 0x218 } - - { offsetInCU: 0x10CA3, offset: 0x9937E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D88, symBinAddr: 0x24F004, symSize: 0x20 } - - { offsetInCU: 0x11140, offset: 0x9981B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8DA8, symBinAddr: 0x24F024, symSize: 0xBAC } - - { offsetInCU: 0x26, offset: 0x9A5E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x250004, symSize: 0x1F4 } - - { offsetInCU: 0x1D2, offset: 0x9A792, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x250004, symSize: 0x1F4 } - - { offsetInCU: 0x26, offset: 0x9AA2D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2501F8, symSize: 0x3C } - - { offsetInCU: 0x34, offset: 0x9AA3B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2501F8, symSize: 0x3C } - - { offsetInCU: 0x26, offset: 0x9AB4B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x250234, symSize: 0x98 } - - { offsetInCU: 0x34, offset: 0x9AB59, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x250234, symSize: 0x98 } - - { offsetInCU: 0x86, offset: 0x9ACBC, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x923830, symSize: 0x0 } - - { offsetInCU: 0xB8, offset: 0x9ACEE, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x9237C0, symSize: 0x0 } - - { offsetInCU: 0xDA, offset: 0x9AD10, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x9237F0, symSize: 0x0 } - - { offsetInCU: 0xF0, offset: 0x9AD26, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x923820, symSize: 0x0 } - - { offsetInCU: 0x3B7, offset: 0x9AFED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2502CC, symSize: 0x18 } - - { offsetInCU: 0x3FB, offset: 0x9B031, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2502CC, symSize: 0x18 } - - { offsetInCU: 0x594, offset: 0x9B1CA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x2502E4, symSize: 0x18 } - - { offsetInCU: 0x63F, offset: 0x9B275, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x2502FC, symSize: 0x320 } - - { offsetInCU: 0x1173, offset: 0x9BDA9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x25061C, symSize: 0xAC } - - { offsetInCU: 0x1469, offset: 0x9C09F, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x2506C8, symSize: 0x500 } - - { offsetInCU: 0x2666, offset: 0x9D29C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x250BC8, symSize: 0x2C8 } - - { offsetInCU: 0x2CB5, offset: 0x9D8EB, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x250E90, symSize: 0xF4 } - - { offsetInCU: 0x2EC7, offset: 0x9DAFD, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x250F84, symSize: 0x168 } - - { offsetInCU: 0x26, offset: 0x9DE28, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2510EC, symSize: 0x38 } - - { offsetInCU: 0xFA, offset: 0x9DEFC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2510EC, symSize: 0x38 } - - { offsetInCU: 0x12C, offset: 0x9DF2E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2510EC, symSize: 0x38 } - - { offsetInCU: 0x199, offset: 0x9DF9B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x251124, symSize: 0x3C } - - { offsetInCU: 0x1F3, offset: 0x9DFF5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x251124, symSize: 0x3C } - - { offsetInCU: 0x31B, offset: 0x9E11D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x251160, symSize: 0x5C } - - { offsetInCU: 0x517, offset: 0x9E319, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x2511BC, symSize: 0x1C } - - { offsetInCU: 0x636, offset: 0x9E438, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x2511D8, symSize: 0x54 } - - { offsetInCU: 0x6D9, offset: 0x9E4DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x25122C, symSize: 0x4C } - - { offsetInCU: 0x8A7, offset: 0x9E6A9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x251278, symSize: 0xA8 } - - { offsetInCU: 0x90B, offset: 0x9E70D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x251278, symSize: 0xA8 } - - { offsetInCU: 0xBAA, offset: 0x9E9AC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x251320, symSize: 0x110 } - - { offsetInCU: 0xC4C, offset: 0x9EA4E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x251320, symSize: 0x110 } - - { offsetInCU: 0xEDE, offset: 0x9ECE0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x251430, symSize: 0xB0 } - - { offsetInCU: 0xF5E, offset: 0x9ED60, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x251430, symSize: 0xB0 } - - { offsetInCU: 0x10E1, offset: 0x9EEE3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x2514E0, symSize: 0x198 } - - { offsetInCU: 0x13AB, offset: 0x9F1AD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x58C, symBinAddr: 0x251678, symSize: 0x290 } - - { offsetInCU: 0x1500, offset: 0x9F302, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x81C, symBinAddr: 0x251908, symSize: 0x18 } - - { offsetInCU: 0x1567, offset: 0x9F369, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x834, symBinAddr: 0x251920, symSize: 0xC } - - { offsetInCU: 0x15A0, offset: 0x9F3A2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x840, symBinAddr: 0x25192C, symSize: 0x8 } - - { offsetInCU: 0x1624, offset: 0x9F426, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x848, symBinAddr: 0x251934, symSize: 0x3C } - - { offsetInCU: 0x26, offset: 0x9F5D9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x251970, symSize: 0x190 } - - { offsetInCU: 0x34, offset: 0x9F5E7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x251970, symSize: 0x190 } - - { offsetInCU: 0x34, offset: 0x9F6ED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x398, symBinAddr: 0x104ED38, symSize: 0x0 } - - { offsetInCU: 0x26, offset: 0x9F72F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x251B00, symSize: 0x388 } - - { offsetInCU: 0x76, offset: 0x9F77F, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x924000, symSize: 0x0 } - - { offsetInCU: 0xFA, offset: 0x9F803, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x949000, symSize: 0x0 } - - { offsetInCU: 0x35B, offset: 0x9FA64, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x251B00, symSize: 0x388 } - - { offsetInCU: 0xC66, offset: 0xA036F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x251E88, symSize: 0x204 } - - { offsetInCU: 0x1163, offset: 0xA086C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x25208C, symSize: 0x1BC } - - { offsetInCU: 0x10, offset: 0xA0C41, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x252260, symSize: 0x1A0 } - - { offsetInCU: 0x50, offset: 0xA0C81, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x252260, symSize: 0x1A0 } - - { offsetInCU: 0x5E, offset: 0xA0C8F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x252400, symSize: 0x60 } - - { offsetInCU: 0x81, offset: 0xA0CB2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x252460, symSize: 0x288 } - - { offsetInCU: 0x10, offset: 0xA0CA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2526F0, symSize: 0x130 } - - { offsetInCU: 0x48, offset: 0xA0CDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2526F0, symSize: 0x130 } - - { offsetInCU: 0x5F, offset: 0xA0CF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x252820, symSize: 0x70 } - - { offsetInCU: 0x75, offset: 0xA0D08, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x252890, symSize: 0x160 } - - { offsetInCU: 0x7A, offset: 0xA0D0D, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x2529F0, symSize: 0x378 } - - { offsetInCU: 0x10, offset: 0xA0D1B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x252D80, symSize: 0x3A0 } - - { offsetInCU: 0x48, offset: 0xA0D53, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x252D80, symSize: 0x3A0 } - - { offsetInCU: 0x4C, offset: 0xA0D57, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x253120, symSize: 0x6C0 } - - { offsetInCU: 0x66, offset: 0xA0D71, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x2537E0, symSize: 0x1138 } - - { offsetInCU: 0x50, offset: 0xA0DBD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0x254A80, symSize: 0x1180 } - - { offsetInCU: 0x66, offset: 0xA0DD3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0x255C00, symSize: 0x1410 } - - { offsetInCU: 0x10, offset: 0xA0DC9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x257020, symSize: 0x240 } - - { offsetInCU: 0x45, offset: 0xA0DFE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x257020, symSize: 0x240 } - - { offsetInCU: 0x4D, offset: 0xA0E06, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0x257260, symSize: 0x9E0 } - - { offsetInCU: 0x63, offset: 0xA0E1C, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0x257C40, symSize: 0x650 } - - { offsetInCU: 0x10, offset: 0xA0E2B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2582A0, symSize: 0x40 } - - { offsetInCU: 0x47, offset: 0xA0E62, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2582A0, symSize: 0x40 } - - { offsetInCU: 0x5D, offset: 0xA0E78, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0x2582E0, symSize: 0x40 } - - { offsetInCU: 0x76, offset: 0xA0E91, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0x258320, symSize: 0x40 } - - { offsetInCU: 0x81, offset: 0xA0E9C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0x258360, symSize: 0x1E0 } - - { offsetInCU: 0x97, offset: 0xA0EB2, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0x258540, symSize: 0x170 } - - { offsetInCU: 0xAB, offset: 0xA0EC6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0x2586B0, symSize: 0x50 } - - { offsetInCU: 0xC3, offset: 0xA0EDE, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0x258700, symSize: 0x50 } - - { offsetInCU: 0xD9, offset: 0xA0EF4, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0x258750, symSize: 0x50 } - - { offsetInCU: 0xEF, offset: 0xA0F0A, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0x2587A0, symSize: 0x60 } - - { offsetInCU: 0x111, offset: 0xA0F2C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0x258800, symSize: 0x1E0 } - - { offsetInCU: 0x124, offset: 0xA0F3F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0x2589E0, symSize: 0x360 } - - { offsetInCU: 0x141, offset: 0xA0F5C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0x258D40, symSize: 0x2D0 } - - { offsetInCU: 0x156, offset: 0xA0F71, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0x259010, symSize: 0x2B0 } - - { offsetInCU: 0x170, offset: 0xA0F8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0x2592C0, symSize: 0x250 } - - { offsetInCU: 0x184, offset: 0xA0F9F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0x259510, symSize: 0x60 } - - { offsetInCU: 0x19A, offset: 0xA0FB5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0x259570, symSize: 0x44 } - - { offsetInCU: 0x10, offset: 0xA0FAB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2595C0, symSize: 0xB90 } - - { offsetInCU: 0x4C, offset: 0xA0FE7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2595C0, symSize: 0xB90 } - - { offsetInCU: 0x62, offset: 0xA0FFD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0x25A150, symSize: 0xB98 } - - { offsetInCU: 0x10, offset: 0xA0FF7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x25AD00, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA1038, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x25AD00, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA1038, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x25BB40, symSize: 0x7E0 } - - { offsetInCU: 0x10, offset: 0xA1043, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x25C340, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA1084, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x25C340, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA1084, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x25D180, symSize: 0x1F0 } + - { offsetInCU: 0x34, offset: 0x7768C, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x8DD000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x776C1, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x8DD038, symSize: 0x0 } + - { offsetInCU: 0x3F, offset: 0x77716, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x28, symBinAddr: 0x5128, symSize: 0xC } + - { offsetInCU: 0x53, offset: 0x7772A, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x34, symBinAddr: 0x5134, symSize: 0x4 } + - { offsetInCU: 0x67, offset: 0x7773E, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x38, symBinAddr: 0x5138, symSize: 0x20 } + - { offsetInCU: 0x7B, offset: 0x77752, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x58, symBinAddr: 0x5158, symSize: 0x28 } + - { offsetInCU: 0x8F, offset: 0x77766, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0x94, symBinAddr: 0x5194, symSize: 0x30 } + - { offsetInCU: 0xA3, offset: 0x7777A, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0xC4, symBinAddr: 0x51C4, symSize: 0xC } + - { offsetInCU: 0xB7, offset: 0x7778E, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0xD0, symBinAddr: 0x51D0, symSize: 0x20 } + - { offsetInCU: 0xCB, offset: 0x777A2, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0xF0, symBinAddr: 0x51F0, symSize: 0x2C } + - { offsetInCU: 0x4F, offset: 0x7798B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AE8, symBinAddr: 0x10C3D00, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x779A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AF0, symBinAddr: 0x10C3D08, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x779D9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x4, symBinAddr: 0x5294, symSize: 0x38 } + - { offsetInCU: 0xF3, offset: 0x77A2F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x40, symBinAddr: 0x52D0, symSize: 0x70 } + - { offsetInCU: 0x144, offset: 0x77A80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xB4, symBinAddr: 0x5344, symSize: 0x44 } + - { offsetInCU: 0x19F, offset: 0x77ADB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0xFC, symBinAddr: 0x538C, symSize: 0x50 } + - { offsetInCU: 0x204, offset: 0x77B40, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x150, symBinAddr: 0x53E0, symSize: 0x68 } + - { offsetInCU: 0x27D, offset: 0x77BB9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1BC, symBinAddr: 0x544C, symSize: 0x98 } + - { offsetInCU: 0x2DA, offset: 0x77C16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x258, symBinAddr: 0x54E8, symSize: 0x14 } + - { offsetInCU: 0x35C, offset: 0x77C98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x270, symBinAddr: 0x5500, symSize: 0x14 } + - { offsetInCU: 0x40B, offset: 0x77D47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x2C8, symBinAddr: 0x5558, symSize: 0x50 } + - { offsetInCU: 0x4DC, offset: 0x77E18, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x364, symBinAddr: 0x55F4, symSize: 0x58 } + - { offsetInCU: 0x5B6, offset: 0x77EF2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x404, symBinAddr: 0x5694, symSize: 0x58 } + - { offsetInCU: 0x695, offset: 0x77FD1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x4AC, symBinAddr: 0x573C, symSize: 0x60 } + - { offsetInCU: 0x741, offset: 0x7807D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x510, symBinAddr: 0x57A0, symSize: 0x8 } + - { offsetInCU: 0x7AA, offset: 0x780E6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x51C, symBinAddr: 0x57AC, symSize: 0x8 } + - { offsetInCU: 0x801, offset: 0x7813D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x538, symBinAddr: 0x57C8, symSize: 0x8 } + - { offsetInCU: 0x858, offset: 0x78194, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x544, symBinAddr: 0x57D4, symSize: 0x8 } + - { offsetInCU: 0x8AF, offset: 0x781EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x550, symBinAddr: 0x57E0, symSize: 0x8 } + - { offsetInCU: 0x906, offset: 0x78242, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x55C, symBinAddr: 0x57EC, symSize: 0x8 } + - { offsetInCU: 0x985, offset: 0x782C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x56C, symBinAddr: 0x57FC, symSize: 0x24 } + - { offsetInCU: 0xA36, offset: 0x78372, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x594, symBinAddr: 0x5824, symSize: 0x14 } + - { offsetInCU: 0xAA9, offset: 0x783E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x5AC, symBinAddr: 0x583C, symSize: 0x8 } + - { offsetInCU: 0xB00, offset: 0x7843C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x60C, symBinAddr: 0x589C, symSize: 0x74 } + - { offsetInCU: 0xB8B, offset: 0x784C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0x814, symBinAddr: 0x5AA4, symSize: 0xA0 } + - { offsetInCU: 0xBDC, offset: 0x78518, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xB1C, symBinAddr: 0x5DAC, symSize: 0x98 } + - { offsetInCU: 0xC2D, offset: 0x78569, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0xE70, symBinAddr: 0x6100, symSize: 0x98 } + - { offsetInCU: 0xC89, offset: 0x785C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1298, symBinAddr: 0x6528, symSize: 0xD8 } + - { offsetInCU: 0xCD1, offset: 0x7860D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x1374, symBinAddr: 0x6604, symSize: 0x34 } + - { offsetInCU: 0xD31, offset: 0x7866D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x13F8, symBinAddr: 0x6688, symSize: 0x3C } + - { offsetInCU: 0xD82, offset: 0x786BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1468, symBinAddr: 0x66F8, symSize: 0x2AC } + - { offsetInCU: 0xFB6, offset: 0x788F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x1714, symBinAddr: 0x69A4, symSize: 0x264 } + - { offsetInCU: 0x11B0, offset: 0x78AEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1978, symBinAddr: 0x6C08, symSize: 0xEC } + - { offsetInCU: 0x12AD, offset: 0x78BE9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1A64, symBinAddr: 0x6CF4, symSize: 0x1B4 } + - { offsetInCU: 0x1422, offset: 0x78D5E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1C18, symBinAddr: 0x6EA8, symSize: 0x1CC } + - { offsetInCU: 0x15B7, offset: 0x78EF3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x1DE4, symBinAddr: 0x7074, symSize: 0x1E0 } + - { offsetInCU: 0x17A3, offset: 0x790DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x1FC4, symBinAddr: 0x7254, symSize: 0x1B4 } + - { offsetInCU: 0x186D, offset: 0x791A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x231C, symBinAddr: 0x75AC, symSize: 0x1D4 } + - { offsetInCU: 0x194E, offset: 0x7928A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x24F0, symBinAddr: 0x7780, symSize: 0x114 } + - { offsetInCU: 0x19F9, offset: 0x79335, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0x8B4, symBinAddr: 0x5B44, symSize: 0x78 } + - { offsetInCU: 0x1A11, offset: 0x7934D, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xBB4, symBinAddr: 0x5E44, symSize: 0x54 } + - { offsetInCU: 0x1A7E, offset: 0x793BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x1464, symBinAddr: 0x66F4, symSize: 0x4 } + - { offsetInCU: 0x1B09, offset: 0x79445, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x2604, symBinAddr: 0x7894, symSize: 0x20 } + - { offsetInCU: 0x1B1D, offset: 0x79459, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2648, symBinAddr: 0x78D8, symSize: 0x8 } + - { offsetInCU: 0x1B3C, offset: 0x79478, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2650, symBinAddr: 0x78E0, symSize: 0x18 } + - { offsetInCU: 0x1B65, offset: 0x794A1, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x2668, symBinAddr: 0x78F8, symSize: 0x8 } + - { offsetInCU: 0x1B79, offset: 0x794B5, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x2670, symBinAddr: 0x7900, symSize: 0x3C } + - { offsetInCU: 0x1B8D, offset: 0x794C9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x26F0, symBinAddr: 0x7980, symSize: 0x34 } + - { offsetInCU: 0x1BA1, offset: 0x794DD, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2724, symBinAddr: 0x79B4, symSize: 0x10 } + - { offsetInCU: 0x1BB5, offset: 0x794F1, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2734, symBinAddr: 0x79C4, symSize: 0x8 } + - { offsetInCU: 0x1BC9, offset: 0x79505, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2760, symBinAddr: 0x79F0, symSize: 0x40 } + - { offsetInCU: 0x1BFD, offset: 0x79539, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x27E4, symBinAddr: 0x7A74, symSize: 0x40 } + - { offsetInCU: 0x1C3B, offset: 0x79577, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2824, symBinAddr: 0x7AB4, symSize: 0x28 } + - { offsetInCU: 0x1C6F, offset: 0x795AB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x28A4, symBinAddr: 0x7B34, symSize: 0x3C } + - { offsetInCU: 0x1CA3, offset: 0x795DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x290C, symBinAddr: 0x7B9C, symSize: 0x30 } + - { offsetInCU: 0x1CDF, offset: 0x7961B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2978, symBinAddr: 0x7C08, symSize: 0x10 } + - { offsetInCU: 0x1CF3, offset: 0x7962F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2988, symBinAddr: 0x7C18, symSize: 0x40 } + - { offsetInCU: 0x21C0, offset: 0x79AFC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x5290, symSize: 0x4 } + - { offsetInCU: 0x21DB, offset: 0x79B17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x3C, symBinAddr: 0x52CC, symSize: 0x4 } + - { offsetInCU: 0x21F6, offset: 0x79B32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xB0, symBinAddr: 0x5340, symSize: 0x4 } + - { offsetInCU: 0x2217, offset: 0x79B53, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0xF8, symBinAddr: 0x5388, symSize: 0x4 } + - { offsetInCU: 0x2232, offset: 0x79B6E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x14C, symBinAddr: 0x53DC, symSize: 0x4 } + - { offsetInCU: 0x224D, offset: 0x79B89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1B8, symBinAddr: 0x5448, symSize: 0x4 } + - { offsetInCU: 0x2268, offset: 0x79BA4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x254, symBinAddr: 0x54E4, symSize: 0x4 } + - { offsetInCU: 0x22F6, offset: 0x79C32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x26C, symBinAddr: 0x54FC, symSize: 0x4 } + - { offsetInCU: 0x2375, offset: 0x79CB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x284, symBinAddr: 0x5514, symSize: 0x44 } + - { offsetInCU: 0x24B3, offset: 0x79DEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x318, symBinAddr: 0x55A8, symSize: 0x4C } + - { offsetInCU: 0x25FC, offset: 0x79F38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x3BC, symBinAddr: 0x564C, symSize: 0x48 } + - { offsetInCU: 0x2744, offset: 0x7A080, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x45C, symBinAddr: 0x56EC, symSize: 0x50 } + - { offsetInCU: 0x28A1, offset: 0x7A1DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x50C, symBinAddr: 0x579C, symSize: 0x4 } + - { offsetInCU: 0x2913, offset: 0x7A24F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x518, symBinAddr: 0x57A8, symSize: 0x4 } + - { offsetInCU: 0x2956, offset: 0x7A292, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x524, symBinAddr: 0x57B4, symSize: 0x14 } + - { offsetInCU: 0x299B, offset: 0x7A2D7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x540, symBinAddr: 0x57D0, symSize: 0x4 } + - { offsetInCU: 0x29DE, offset: 0x7A31A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x54C, symBinAddr: 0x57DC, symSize: 0x4 } + - { offsetInCU: 0x2A21, offset: 0x7A35D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x558, symBinAddr: 0x57E8, symSize: 0x4 } + - { offsetInCU: 0x2A64, offset: 0x7A3A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x564, symBinAddr: 0x57F4, symSize: 0x8 } + - { offsetInCU: 0x2B4B, offset: 0x7A487, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x590, symBinAddr: 0x5820, symSize: 0x4 } + - { offsetInCU: 0x2BCA, offset: 0x7A506, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x5A8, symBinAddr: 0x5838, symSize: 0x4 } + - { offsetInCU: 0x2C0D, offset: 0x7A549, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x5B4, symBinAddr: 0x5844, symSize: 0x58 } + - { offsetInCU: 0x2CCE, offset: 0x7A60A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x680, symBinAddr: 0x5910, symSize: 0x4 } + - { offsetInCU: 0x2CE2, offset: 0x7A61E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x684, symBinAddr: 0x5914, symSize: 0x190 } + - { offsetInCU: 0x2D82, offset: 0x7A6BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0x92C, symBinAddr: 0x5BBC, symSize: 0x2C } + - { offsetInCU: 0x2D96, offset: 0x7A6D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0x958, symBinAddr: 0x5BE8, symSize: 0x1C4 } + - { offsetInCU: 0x2E80, offset: 0x7A7BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xC08, symBinAddr: 0x5E98, symSize: 0x2C } + - { offsetInCU: 0x2E94, offset: 0x7A7D0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xC34, symBinAddr: 0x5EC4, symSize: 0x23C } + - { offsetInCU: 0x2F48, offset: 0x7A884, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0xF08, symBinAddr: 0x6198, symSize: 0x4 } + - { offsetInCU: 0x2F5C, offset: 0x7A898, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0xF0C, symBinAddr: 0x619C, symSize: 0x38C } + - { offsetInCU: 0x31F3, offset: 0x7AB2F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1370, symBinAddr: 0x6600, symSize: 0x4 } + - { offsetInCU: 0x320E, offset: 0x7AB4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x13A8, symBinAddr: 0x6638, symSize: 0x20 } + - { offsetInCU: 0x3222, offset: 0x7AB5E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x13C8, symBinAddr: 0x6658, symSize: 0x30 } + - { offsetInCU: 0x3258, offset: 0x7AB94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x1434, symBinAddr: 0x66C4, symSize: 0x30 } + - { offsetInCU: 0x4F, offset: 0x7ADCC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x55B0, symBinAddr: 0x10C3D40, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x7ADE6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x55B8, symBinAddr: 0x10C3D48, symSize: 0x0 } + - { offsetInCU: 0x83, offset: 0x7AE00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x55C0, symBinAddr: 0x10C3D50, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x7AE1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x55C8, symBinAddr: 0x10C3D58, symSize: 0x0 } + - { offsetInCU: 0xAB, offset: 0x7AE28, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0x7D40, symSize: 0x40 } + - { offsetInCU: 0xF0, offset: 0x7AE6D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x40, symBinAddr: 0x7D80, symSize: 0x30 } + - { offsetInCU: 0x135, offset: 0x7AEB2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xA8, symBinAddr: 0x7DE8, symSize: 0x40 } + - { offsetInCU: 0x187, offset: 0x7AF04, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0x7ED4, symSize: 0x10 } + - { offsetInCU: 0x1A7, offset: 0x7AF24, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0x7ED4, symSize: 0x10 } + - { offsetInCU: 0x1DD, offset: 0x7AF5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0x7EE4, symSize: 0x10 } + - { offsetInCU: 0x1FD, offset: 0x7AF7A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0x7EE4, symSize: 0x10 } + - { offsetInCU: 0x236, offset: 0x7AFB3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0x7EF4, symSize: 0x10 } + - { offsetInCU: 0x256, offset: 0x7AFD3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0x7EF4, symSize: 0x10 } + - { offsetInCU: 0x28C, offset: 0x7B009, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0x7F04, symSize: 0x10 } + - { offsetInCU: 0x2AC, offset: 0x7B029, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0x7F04, symSize: 0x10 } + - { offsetInCU: 0x2E5, offset: 0x7B062, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x29C, symBinAddr: 0x7FDC, symSize: 0x44 } + - { offsetInCU: 0x322, offset: 0x7B09F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x324, symBinAddr: 0x8064, symSize: 0x30 } + - { offsetInCU: 0x3B1, offset: 0x7B12E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x578, symBinAddr: 0x82B8, symSize: 0x44 } + - { offsetInCU: 0x409, offset: 0x7B186, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x600, symBinAddr: 0x8340, symSize: 0x48 } + - { offsetInCU: 0x464, offset: 0x7B1E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x648, symBinAddr: 0x8388, symSize: 0x44 } + - { offsetInCU: 0x4BC, offset: 0x7B239, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x6D0, symBinAddr: 0x8410, symSize: 0x48 } + - { offsetInCU: 0x517, offset: 0x7B294, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x718, symBinAddr: 0x8458, symSize: 0x10 } + - { offsetInCU: 0x537, offset: 0x7B2B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x718, symBinAddr: 0x8458, symSize: 0x10 } + - { offsetInCU: 0x56D, offset: 0x7B2EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x728, symBinAddr: 0x8468, symSize: 0x10 } + - { offsetInCU: 0x58D, offset: 0x7B30A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x728, symBinAddr: 0x8468, symSize: 0x10 } + - { offsetInCU: 0x5C6, offset: 0x7B343, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x738, symBinAddr: 0x8478, symSize: 0x10 } + - { offsetInCU: 0x5E6, offset: 0x7B363, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x738, symBinAddr: 0x8478, symSize: 0x10 } + - { offsetInCU: 0x61E, offset: 0x7B39B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x748, symBinAddr: 0x8488, symSize: 0x34 } + - { offsetInCU: 0x677, offset: 0x7B3F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x77C, symBinAddr: 0x84BC, symSize: 0x10 } + - { offsetInCU: 0x697, offset: 0x7B414, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x77C, symBinAddr: 0x84BC, symSize: 0x10 } + - { offsetInCU: 0x6CF, offset: 0x7B44C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x78C, symBinAddr: 0x84CC, symSize: 0x34 } + - { offsetInCU: 0x728, offset: 0x7B4A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x7C0, symBinAddr: 0x8500, symSize: 0x10 } + - { offsetInCU: 0x748, offset: 0x7B4C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x7C0, symBinAddr: 0x8500, symSize: 0x10 } + - { offsetInCU: 0x77E, offset: 0x7B4FB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x7D0, symBinAddr: 0x8510, symSize: 0x10 } + - { offsetInCU: 0x79E, offset: 0x7B51B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x7D0, symBinAddr: 0x8510, symSize: 0x10 } + - { offsetInCU: 0x7D7, offset: 0x7B554, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x7E0, symBinAddr: 0x8520, symSize: 0x10 } + - { offsetInCU: 0x7F7, offset: 0x7B574, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x7E0, symBinAddr: 0x8520, symSize: 0x10 } + - { offsetInCU: 0x82D, offset: 0x7B5AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x7F0, symBinAddr: 0x8530, symSize: 0x10 } + - { offsetInCU: 0x84D, offset: 0x7B5CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x7F0, symBinAddr: 0x8530, symSize: 0x10 } + - { offsetInCU: 0x870, offset: 0x7B5ED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x800, symBinAddr: 0x8540, symSize: 0x34 } + - { offsetInCU: 0x8A2, offset: 0x7B61F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x904, symBinAddr: 0x8644, symSize: 0x34 } + - { offsetInCU: 0x8EA, offset: 0x7B667, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA08, symBinAddr: 0x8748, symSize: 0x20 } + - { offsetInCU: 0x952, offset: 0x7B6CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xA4C, symBinAddr: 0x878C, symSize: 0x20 } + - { offsetInCU: 0x9F1, offset: 0x7B76E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xAB4, symBinAddr: 0x87F4, symSize: 0xC4 } + - { offsetInCU: 0xAB4, offset: 0x7B831, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xD10, symBinAddr: 0x8A50, symSize: 0x30 } + - { offsetInCU: 0xB64, offset: 0x7B8E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x15B0, symBinAddr: 0x92F0, symSize: 0xC4 } + - { offsetInCU: 0xBCE, offset: 0x7B94B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x18CC, symBinAddr: 0x960C, symSize: 0xB0 } + - { offsetInCU: 0xC0B, offset: 0x7B988, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1A3C, symBinAddr: 0x977C, symSize: 0xB8 } + - { offsetInCU: 0xC83, offset: 0x7BA00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1BD8, symBinAddr: 0x9918, symSize: 0x3C } + - { offsetInCU: 0xCB6, offset: 0x7BA33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C14, symBinAddr: 0x9954, symSize: 0x10 } + - { offsetInCU: 0xCD6, offset: 0x7BA53, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C14, symBinAddr: 0x9954, symSize: 0x10 } + - { offsetInCU: 0xD10, offset: 0x7BA8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1C24, symBinAddr: 0x9964, symSize: 0x34 } + - { offsetInCU: 0xD6B, offset: 0x7BAE8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1CA0, symBinAddr: 0x99E0, symSize: 0x48 } + - { offsetInCU: 0xE05, offset: 0x7BB82, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1D34, symBinAddr: 0x9A74, symSize: 0x64 } + - { offsetInCU: 0xECA, offset: 0x7BC47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1DF0, symBinAddr: 0x9B30, symSize: 0x94 } + - { offsetInCU: 0xF57, offset: 0x7BCD4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x1EC4, symBinAddr: 0x9C04, symSize: 0x6C } + - { offsetInCU: 0xFB9, offset: 0x7BD36, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x1FD4, symBinAddr: 0x9D14, symSize: 0x6C } + - { offsetInCU: 0x1016, offset: 0x7BD93, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2040, symBinAddr: 0x9D80, symSize: 0xB0 } + - { offsetInCU: 0x1068, offset: 0x7BDE5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x21C0, symBinAddr: 0x9F00, symSize: 0x94 } + - { offsetInCU: 0x10FA, offset: 0x7BE77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x2EAC, symBinAddr: 0xABEC, symSize: 0x28 } + - { offsetInCU: 0x114F, offset: 0x7BECC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x392C, symBinAddr: 0xB66C, symSize: 0x20 } + - { offsetInCU: 0x1182, offset: 0x7BEFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x394C, symBinAddr: 0xB68C, symSize: 0x10 } + - { offsetInCU: 0x11A2, offset: 0x7BF1F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x394C, symBinAddr: 0xB68C, symSize: 0x10 } + - { offsetInCU: 0x11DA, offset: 0x7BF57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x395C, symBinAddr: 0xB69C, symSize: 0x34 } + - { offsetInCU: 0x1248, offset: 0x7BFC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x3A10, symBinAddr: 0xB750, symSize: 0x20 } + - { offsetInCU: 0x12A2, offset: 0x7C01F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3A30, symBinAddr: 0xB770, symSize: 0x34 } + - { offsetInCU: 0x1302, offset: 0x7C07F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3A94, symBinAddr: 0xB7D4, symSize: 0x34 } + - { offsetInCU: 0x1446, offset: 0x7C1C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x3DE0, symBinAddr: 0xBB20, symSize: 0x28 } + - { offsetInCU: 0x1479, offset: 0x7C1F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x410C, symBinAddr: 0xBE4C, symSize: 0x24 } + - { offsetInCU: 0x14B4, offset: 0x7C231, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x41F8, symBinAddr: 0xBF38, symSize: 0x34 } + - { offsetInCU: 0x14E7, offset: 0x7C264, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4B8C, symBinAddr: 0xC8CC, symSize: 0x298 } + - { offsetInCU: 0x1664, offset: 0x7C3E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x4EE8, symBinAddr: 0xCC28, symSize: 0xA0 } + - { offsetInCU: 0x18E0, offset: 0x7C65D, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1E98, symBinAddr: 0x9BD8, symSize: 0x2C } + - { offsetInCU: 0x18F8, offset: 0x7C675, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2148, symBinAddr: 0x9E88, symSize: 0x78 } + - { offsetInCU: 0x1910, offset: 0x7C68D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x22B0, symBinAddr: 0x9FF0, symSize: 0x94 } + - { offsetInCU: 0x1948, offset: 0x7C6C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x2344, symBinAddr: 0xA084, symSize: 0xB8 } + - { offsetInCU: 0x198A, offset: 0x7C707, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x23FC, symBinAddr: 0xA13C, symSize: 0x6C } + - { offsetInCU: 0x1A3A, offset: 0x7C7B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x4130, symBinAddr: 0xBE70, symSize: 0xC4 } + - { offsetInCU: 0x1A6A, offset: 0x7C7E7, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x422C, symBinAddr: 0xBF6C, symSize: 0x10 } + - { offsetInCU: 0x1A7E, offset: 0x7C7FB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x423C, symBinAddr: 0xBF7C, symSize: 0x20 } + - { offsetInCU: 0x1A92, offset: 0x7C80F, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x425C, symBinAddr: 0xBF9C, symSize: 0x64 } + - { offsetInCU: 0x1C99, offset: 0x7CA16, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x4E24, symBinAddr: 0xCB64, symSize: 0x40 } + - { offsetInCU: 0x1CAD, offset: 0x7CA2A, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x4E64, symBinAddr: 0xCBA4, symSize: 0x40 } + - { offsetInCU: 0x1CC1, offset: 0x7CA3E, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x4EA4, symBinAddr: 0xCBE4, symSize: 0x24 } + - { offsetInCU: 0x1CD5, offset: 0x7CA52, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x4EC8, symBinAddr: 0xCC08, symSize: 0x20 } + - { offsetInCU: 0x1CF4, offset: 0x7CA71, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x53B4, symBinAddr: 0xD0F4, symSize: 0x48 } + - { offsetInCU: 0x1D1D, offset: 0x7CA9A, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x53FC, symBinAddr: 0xD13C, symSize: 0x10 } + - { offsetInCU: 0x1D31, offset: 0x7CAAE, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x540C, symBinAddr: 0xD14C, symSize: 0x8 } + - { offsetInCU: 0x1D45, offset: 0x7CAC2, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5414, symBinAddr: 0xD154, symSize: 0x10 } + - { offsetInCU: 0x1D64, offset: 0x7CAE1, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5424, symBinAddr: 0xD164, symSize: 0xC } + - { offsetInCU: 0x1D8D, offset: 0x7CB0A, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5454, symBinAddr: 0xD194, symSize: 0x8 } + - { offsetInCU: 0x1DAC, offset: 0x7CB29, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x545C, symBinAddr: 0xD19C, symSize: 0x30 } + - { offsetInCU: 0x1DD5, offset: 0x7CB52, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x548C, symBinAddr: 0xD1CC, symSize: 0x10 } + - { offsetInCU: 0x1DE9, offset: 0x7CB66, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x54D4, symBinAddr: 0xD214, symSize: 0x3C } + - { offsetInCU: 0x206E, offset: 0x7CDEB, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4A7C, symBinAddr: 0xC7BC, symSize: 0x110 } + - { offsetInCU: 0x251C, offset: 0x7D299, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x2E0, symBinAddr: 0x8020, symSize: 0x44 } + - { offsetInCU: 0x254F, offset: 0x7D2CC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x354, symBinAddr: 0x8094, symSize: 0xEC } + - { offsetInCU: 0x259B, offset: 0x7D318, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x440, symBinAddr: 0x8180, symSize: 0x58 } + - { offsetInCU: 0x25C0, offset: 0x7D33D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x498, symBinAddr: 0x81D8, symSize: 0xE0 } + - { offsetInCU: 0x2601, offset: 0x7D37E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x5BC, symBinAddr: 0x82FC, symSize: 0x44 } + - { offsetInCU: 0x2659, offset: 0x7D3D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x68C, symBinAddr: 0x83CC, symSize: 0x44 } + - { offsetInCU: 0x27C7, offset: 0x7D544, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x834, symBinAddr: 0x8574, symSize: 0xD0 } + - { offsetInCU: 0x28EC, offset: 0x7D669, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x938, symBinAddr: 0x8678, symSize: 0xD0 } + - { offsetInCU: 0x2A32, offset: 0x7D7AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xA28, symBinAddr: 0x8768, symSize: 0x24 } + - { offsetInCU: 0x2A7A, offset: 0x7D7F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xA6C, symBinAddr: 0x87AC, symSize: 0x24 } + - { offsetInCU: 0x2AAE, offset: 0x7D82B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xA90, symBinAddr: 0x87D0, symSize: 0x24 } + - { offsetInCU: 0x2C3C, offset: 0x7D9B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xB78, symBinAddr: 0x88B8, symSize: 0x198 } + - { offsetInCU: 0x302F, offset: 0x7DDAC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xD40, symBinAddr: 0x8A80, symSize: 0x870 } + - { offsetInCU: 0x3832, offset: 0x7E5AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x1674, symBinAddr: 0x93B4, symSize: 0x258 } + - { offsetInCU: 0x3C64, offset: 0x7E9E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x197C, symBinAddr: 0x96BC, symSize: 0xC0 } + - { offsetInCU: 0x3CF5, offset: 0x7EA72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1AF4, symBinAddr: 0x9834, symSize: 0xE4 } + - { offsetInCU: 0x3E50, offset: 0x7EBCD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1C58, symBinAddr: 0x9998, symSize: 0x48 } + - { offsetInCU: 0x3ED6, offset: 0x7EC53, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1CE8, symBinAddr: 0x9A28, symSize: 0x4C } + - { offsetInCU: 0x3FF7, offset: 0x7ED74, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1D98, symBinAddr: 0x9AD8, symSize: 0x58 } + - { offsetInCU: 0x40ED, offset: 0x7EE6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x20F0, symBinAddr: 0x9E30, symSize: 0x58 } + - { offsetInCU: 0x4139, offset: 0x7EEB6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x2254, symBinAddr: 0x9F94, symSize: 0x5C } + - { offsetInCU: 0x4162, offset: 0x7EEDF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x2468, symBinAddr: 0xA1A8, symSize: 0x44 } + - { offsetInCU: 0x4188, offset: 0x7EF05, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x24AC, symBinAddr: 0xA1EC, symSize: 0x4 } + - { offsetInCU: 0x424A, offset: 0x7EFC7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x24B0, symBinAddr: 0xA1F0, symSize: 0x9FC } + - { offsetInCU: 0x446D, offset: 0x7F1EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x2ED4, symBinAddr: 0xAC14, symSize: 0x50 } + - { offsetInCU: 0x4496, offset: 0x7F213, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x2F24, symBinAddr: 0xAC64, symSize: 0xA08 } + - { offsetInCU: 0x46DA, offset: 0x7F457, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3990, symBinAddr: 0xB6D0, symSize: 0x80 } + - { offsetInCU: 0x47D0, offset: 0x7F54D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3A64, symBinAddr: 0xB7A4, symSize: 0x30 } + - { offsetInCU: 0x486E, offset: 0x7F5EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3AC8, symBinAddr: 0xB808, symSize: 0x144 } + - { offsetInCU: 0x4A6F, offset: 0x7F7EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3C0C, symBinAddr: 0xB94C, symSize: 0x1D4 } + - { offsetInCU: 0x4CEC, offset: 0x7FA69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x3E08, symBinAddr: 0xBB48, symSize: 0x304 } + - { offsetInCU: 0x4D7C, offset: 0x7FAF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x41F4, symBinAddr: 0xBF34, symSize: 0x4 } + - { offsetInCU: 0x4DA4, offset: 0x7FB21, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x42C0, symBinAddr: 0xC000, symSize: 0x64 } + - { offsetInCU: 0x4DFE, offset: 0x7FB7B, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x4324, symBinAddr: 0xC064, symSize: 0x6C } + - { offsetInCU: 0x4E7E, offset: 0x7FBFB, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4390, symBinAddr: 0xC0D0, symSize: 0xD8 } + - { offsetInCU: 0x4EBB, offset: 0x7FC38, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4468, symBinAddr: 0xC1A8, symSize: 0xE0 } + - { offsetInCU: 0x4F36, offset: 0x7FCB3, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4548, symBinAddr: 0xC288, symSize: 0x1F4 } + - { offsetInCU: 0x4FF2, offset: 0x7FD6F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x473C, symBinAddr: 0xC47C, symSize: 0x340 } + - { offsetInCU: 0x27, offset: 0x7FFD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xD2B4, symSize: 0x10 } + - { offsetInCU: 0x62, offset: 0x80012, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x10, symBinAddr: 0xD2C4, symSize: 0x20 } + - { offsetInCU: 0x1AF, offset: 0x8015F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xD2B4, symSize: 0x10 } + - { offsetInCU: 0x65, offset: 0x801EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xD2E4, symSize: 0x10 } + - { offsetInCU: 0x85, offset: 0x8020E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xD2E4, symSize: 0x10 } + - { offsetInCU: 0xBB, offset: 0x80244, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xD2F4, symSize: 0x10 } + - { offsetInCU: 0xDB, offset: 0x80264, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xD2F4, symSize: 0x10 } + - { offsetInCU: 0x114, offset: 0x8029D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0xD304, symSize: 0x44 } + - { offsetInCU: 0x16C, offset: 0x802F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x64, symBinAddr: 0xD348, symSize: 0x48 } + - { offsetInCU: 0x1C7, offset: 0x80350, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xAC, symBinAddr: 0xD390, symSize: 0x44 } + - { offsetInCU: 0x21F, offset: 0x803A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xF0, symBinAddr: 0xD3D4, symSize: 0x48 } + - { offsetInCU: 0x27A, offset: 0x80403, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0xD41C, symSize: 0x10 } + - { offsetInCU: 0x29A, offset: 0x80423, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0xD41C, symSize: 0x10 } + - { offsetInCU: 0x2D0, offset: 0x80459, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0xD42C, symSize: 0x10 } + - { offsetInCU: 0x2F0, offset: 0x80479, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0xD42C, symSize: 0x10 } + - { offsetInCU: 0x329, offset: 0x804B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0xD43C, symSize: 0x10 } + - { offsetInCU: 0x349, offset: 0x804D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0xD43C, symSize: 0x10 } + - { offsetInCU: 0x37F, offset: 0x80508, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0xD44C, symSize: 0x10 } + - { offsetInCU: 0x39F, offset: 0x80528, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0xD44C, symSize: 0x10 } + - { offsetInCU: 0x3D8, offset: 0x80561, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x178, symBinAddr: 0xD45C, symSize: 0x44 } + - { offsetInCU: 0x430, offset: 0x805B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1BC, symBinAddr: 0xD4A0, symSize: 0x48 } + - { offsetInCU: 0x48B, offset: 0x80614, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0xD4E8, symSize: 0x10 } + - { offsetInCU: 0x4AB, offset: 0x80634, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0xD4E8, symSize: 0x10 } + - { offsetInCU: 0x4E1, offset: 0x8066A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0xD4F8, symSize: 0x10 } + - { offsetInCU: 0x501, offset: 0x8068A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0xD4F8, symSize: 0x10 } + - { offsetInCU: 0x53A, offset: 0x806C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0xD508, symSize: 0x10 } + - { offsetInCU: 0x55A, offset: 0x806E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0xD508, symSize: 0x10 } + - { offsetInCU: 0x590, offset: 0x80719, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0xD518, symSize: 0x10 } + - { offsetInCU: 0x5B0, offset: 0x80739, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0xD518, symSize: 0x10 } + - { offsetInCU: 0x5E9, offset: 0x80772, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x244, symBinAddr: 0xD528, symSize: 0x48 } + - { offsetInCU: 0x63F, offset: 0x807C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x28C, symBinAddr: 0xD570, symSize: 0x40 } + - { offsetInCU: 0x682, offset: 0x8080B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2CC, symBinAddr: 0xD5B0, symSize: 0x8 } + - { offsetInCU: 0x69E, offset: 0x80827, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2D4, symBinAddr: 0xD5B8, symSize: 0x2C } + - { offsetInCU: 0x6D0, offset: 0x80859, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0xD5E4, symSize: 0x10 } + - { offsetInCU: 0x6F0, offset: 0x80879, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0xD5E4, symSize: 0x10 } + - { offsetInCU: 0x728, offset: 0x808B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x310, symBinAddr: 0xD5F4, symSize: 0x34 } + - { offsetInCU: 0x781, offset: 0x8090A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0xD6FC, symSize: 0x10 } + - { offsetInCU: 0x7A1, offset: 0x8092A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0xD6FC, symSize: 0x10 } + - { offsetInCU: 0x7D7, offset: 0x80960, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0xD70C, symSize: 0x10 } + - { offsetInCU: 0x7F7, offset: 0x80980, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0xD70C, symSize: 0x10 } + - { offsetInCU: 0x846, offset: 0x809CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x5A4, symBinAddr: 0xD848, symSize: 0x20 } + - { offsetInCU: 0x878, offset: 0x80A01, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x708, symBinAddr: 0xD9AC, symSize: 0x28 } + - { offsetInCU: 0x8D0, offset: 0x80A59, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x744, symBinAddr: 0xD9E8, symSize: 0x88 } + - { offsetInCU: 0x934, offset: 0x80ABD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x7CC, symBinAddr: 0xDA70, symSize: 0x7C } + - { offsetInCU: 0x9D6, offset: 0x80B5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xBF4, symBinAddr: 0xDE98, symSize: 0x28 } + - { offsetInCU: 0xAC0, offset: 0x80C49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x584, symBinAddr: 0xD828, symSize: 0x20 } + - { offsetInCU: 0xB34, offset: 0x80CBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xC4C, symBinAddr: 0xDEF0, symSize: 0x58 } + - { offsetInCU: 0x123B, offset: 0x813C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x438, symBinAddr: 0xD71C, symSize: 0x20 } + - { offsetInCU: 0x1255, offset: 0x813DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x458, symBinAddr: 0xD73C, symSize: 0xEC } + - { offsetInCU: 0x128D, offset: 0x81416, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x5C4, symBinAddr: 0xD868, symSize: 0x144 } + - { offsetInCU: 0x1448, offset: 0x815D1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x730, symBinAddr: 0xD9D4, symSize: 0x14 } + - { offsetInCU: 0x14F9, offset: 0x81682, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x848, symBinAddr: 0xDAEC, symSize: 0x3AC } + - { offsetInCU: 0x1869, offset: 0x819F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xC1C, symBinAddr: 0xDEC0, symSize: 0x30 } + - { offsetInCU: 0x1954, offset: 0x81ADD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xCA4, symBinAddr: 0xDF48, symSize: 0x65C } + - { offsetInCU: 0x2152, offset: 0x822DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x1344, symBinAddr: 0xE5E8, symSize: 0x6C8 } + - { offsetInCU: 0x10C, offset: 0x82C9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0xED4, symBinAddr: 0xFB5C, symSize: 0x68 } + - { offsetInCU: 0x19C, offset: 0x82D2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0xF48, symBinAddr: 0xFBD0, symSize: 0x10 } + - { offsetInCU: 0x1CB, offset: 0x82D5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0xF58, symBinAddr: 0xFBE0, symSize: 0x4 } + - { offsetInCU: 0x368, offset: 0x82EF7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x16DC, symBinAddr: 0x10364, symSize: 0x2C } + - { offsetInCU: 0x5D4, offset: 0x83163, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1744, symBinAddr: 0x103CC, symSize: 0x68 } + - { offsetInCU: 0x603, offset: 0x83192, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x17AC, symBinAddr: 0x10434, symSize: 0x20 } + - { offsetInCU: 0x617, offset: 0x831A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x17CC, symBinAddr: 0x10454, symSize: 0x20 } + - { offsetInCU: 0x62B, offset: 0x831BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x17EC, symBinAddr: 0x10474, symSize: 0x30 } + - { offsetInCU: 0x63F, offset: 0x831CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x181C, symBinAddr: 0x104A4, symSize: 0x8 } + - { offsetInCU: 0x653, offset: 0x831E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1824, symBinAddr: 0x104AC, symSize: 0x3C } + - { offsetInCU: 0x667, offset: 0x831F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1860, symBinAddr: 0x104E8, symSize: 0x50 } + - { offsetInCU: 0x67B, offset: 0x8320A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x18BC, symBinAddr: 0x10538, symSize: 0x40 } + - { offsetInCU: 0x68F, offset: 0x8321E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x18FC, symBinAddr: 0x10578, symSize: 0x48 } + - { offsetInCU: 0x6A3, offset: 0x83232, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1944, symBinAddr: 0x105C0, symSize: 0x40 } + - { offsetInCU: 0x6B7, offset: 0x83246, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1984, symBinAddr: 0x10600, symSize: 0x10 } + - { offsetInCU: 0x6CB, offset: 0x8325A, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1994, symBinAddr: 0x10610, symSize: 0x48 } + - { offsetInCU: 0x6DF, offset: 0x8326E, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1AA0, symBinAddr: 0x10658, symSize: 0x58 } + - { offsetInCU: 0x6F3, offset: 0x83282, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1AF8, symBinAddr: 0x106B0, symSize: 0x8 } + - { offsetInCU: 0x761, offset: 0x832F0, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x1DE4, symBinAddr: 0x1099C, symSize: 0x10 } + - { offsetInCU: 0xCBB, offset: 0x8384A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0xECB0, symSize: 0x540 } + - { offsetInCU: 0xF57, offset: 0x83AE6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x54C, symBinAddr: 0xF1FC, symSize: 0xE0 } + - { offsetInCU: 0xFD6, offset: 0x83B65, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0xF38C, symSize: 0x9C } + - { offsetInCU: 0x1069, offset: 0x83BF8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0xDCC, symBinAddr: 0xFA54, symSize: 0x108 } + - { offsetInCU: 0x11B3, offset: 0x83D42, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x12D0, symBinAddr: 0xFF58, symSize: 0x40C } + - { offsetInCU: 0x18C9, offset: 0x84458, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1B00, symBinAddr: 0x106B8, symSize: 0x14 } + - { offsetInCU: 0x1968, offset: 0x844F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1B14, symBinAddr: 0x106CC, symSize: 0x1DC } + - { offsetInCU: 0x27, offset: 0x846D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x109AC, symSize: 0x2C } + - { offsetInCU: 0x4B, offset: 0x846F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2D8, symBinAddr: 0x10C4068, symSize: 0x0 } + - { offsetInCU: 0x65, offset: 0x84712, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x109AC, symSize: 0x2C } + - { offsetInCU: 0x98, offset: 0x84745, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x178, symBinAddr: 0x10B24, symSize: 0x40 } + - { offsetInCU: 0x104, offset: 0x847B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x228, symBinAddr: 0x10BD4, symSize: 0x3C } + - { offsetInCU: 0x156, offset: 0x84803, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x2C, symBinAddr: 0x109D8, symSize: 0x10C } + - { offsetInCU: 0x181, offset: 0x8482E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x208, symBinAddr: 0x10BB4, symSize: 0x20 } + - { offsetInCU: 0x195, offset: 0x84842, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x294, symBinAddr: 0x10C40, symSize: 0x4 } + - { offsetInCU: 0x1C0, offset: 0x8486D, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x298, symBinAddr: 0x10C44, symSize: 0x3C } + - { offsetInCU: 0x348, offset: 0x849F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x138, symBinAddr: 0x10AE4, symSize: 0x40 } + - { offsetInCU: 0x388, offset: 0x84A35, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x1B8, symBinAddr: 0x10B64, symSize: 0x20 } + - { offsetInCU: 0x39C, offset: 0x84A49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1D8, symBinAddr: 0x10B84, symSize: 0x30 } + - { offsetInCU: 0x3D8, offset: 0x84A85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x264, symBinAddr: 0x10C10, symSize: 0x30 } + - { offsetInCU: 0x2B, offset: 0x84AD3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x10C80, symSize: 0xA4 } + - { offsetInCU: 0x66, offset: 0x84B0E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA4, symBinAddr: 0x10D24, symSize: 0xA4 } + - { offsetInCU: 0xF9, offset: 0x84BA1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D8, symBinAddr: 0x10E58, symSize: 0x110 } + - { offsetInCU: 0x1A2, offset: 0x84C4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x30C, symBinAddr: 0x10F8C, symSize: 0x28 } + - { offsetInCU: 0x222, offset: 0x84CCA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x338, symBinAddr: 0x10FB8, symSize: 0xA0 } + - { offsetInCU: 0x29B, offset: 0x84D43, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4D0, symBinAddr: 0x11150, symSize: 0x15C } + - { offsetInCU: 0x330, offset: 0x84DD8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x67C, symBinAddr: 0x112FC, symSize: 0x3C } + - { offsetInCU: 0x381, offset: 0x84E29, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6E8, symBinAddr: 0x11368, symSize: 0x160 } + - { offsetInCU: 0x4DF, offset: 0x84F87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x848, symBinAddr: 0x114C8, symSize: 0x2E4 } + - { offsetInCU: 0x5AE, offset: 0x85056, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB2C, symBinAddr: 0x117AC, symSize: 0x20 } + - { offsetInCU: 0x5C2, offset: 0x8506A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB4C, symBinAddr: 0x117CC, symSize: 0x44 } + - { offsetInCU: 0x5D6, offset: 0x8507E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xB90, symBinAddr: 0x11810, symSize: 0x2C } + - { offsetInCU: 0x5EA, offset: 0x85092, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBBC, symBinAddr: 0x1183C, symSize: 0x8 } + - { offsetInCU: 0x5FE, offset: 0x850A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBC4, symBinAddr: 0x11844, symSize: 0x40 } + - { offsetInCU: 0x612, offset: 0x850BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC10, symBinAddr: 0x11884, symSize: 0x30 } + - { offsetInCU: 0x626, offset: 0x850CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC40, symBinAddr: 0x118B4, symSize: 0x48 } + - { offsetInCU: 0x63A, offset: 0x850E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xC88, symBinAddr: 0x118FC, symSize: 0x3C } + - { offsetInCU: 0x64E, offset: 0x850F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCC4, symBinAddr: 0x11938, symSize: 0x8 } + - { offsetInCU: 0x662, offset: 0x8510A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCCC, symBinAddr: 0x11940, symSize: 0x4 } + - { offsetInCU: 0x676, offset: 0x8511E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xCD0, symBinAddr: 0x11944, symSize: 0x4 } + - { offsetInCU: 0x68A, offset: 0x85132, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xCD4, symBinAddr: 0x11948, symSize: 0x10 } + - { offsetInCU: 0x712, offset: 0x851BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D8, symBinAddr: 0x11058, symSize: 0x4 } + - { offsetInCU: 0x72E, offset: 0x851D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3DC, symBinAddr: 0x1105C, symSize: 0x4 } + - { offsetInCU: 0x74A, offset: 0x851F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3E0, symBinAddr: 0x11060, symSize: 0x4 } + - { offsetInCU: 0x766, offset: 0x8520E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x3E4, symBinAddr: 0x11064, symSize: 0x4 } + - { offsetInCU: 0xA14, offset: 0x854BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x10C80, symSize: 0xA4 } + - { offsetInCU: 0xAAA, offset: 0x85552, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x148, symBinAddr: 0x10DC8, symSize: 0x90 } + - { offsetInCU: 0xC31, offset: 0x856D9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2E8, symBinAddr: 0x10F68, symSize: 0x24 } + - { offsetInCU: 0xC7B, offset: 0x85723, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x334, symBinAddr: 0x10FB4, symSize: 0x4 } + - { offsetInCU: 0xC9D, offset: 0x85745, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x3E8, symBinAddr: 0x11068, symSize: 0xE8 } + - { offsetInCU: 0xD4D, offset: 0x857F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x62C, symBinAddr: 0x112AC, symSize: 0x20 } + - { offsetInCU: 0xD61, offset: 0x85809, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x64C, symBinAddr: 0x112CC, symSize: 0x30 } + - { offsetInCU: 0xD97, offset: 0x8583F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6B8, symBinAddr: 0x11338, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x85958, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x1195C, symSize: 0x4 } + - { offsetInCU: 0x71, offset: 0x859A2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x4, symBinAddr: 0x11960, symSize: 0x70 } + - { offsetInCU: 0xF6, offset: 0x85A27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x78, symBinAddr: 0x119D4, symSize: 0x50 } + - { offsetInCU: 0x191, offset: 0x85AC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xCC, symBinAddr: 0x11A28, symSize: 0x68 } + - { offsetInCU: 0x254, offset: 0x85B85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x138, symBinAddr: 0x11A94, symSize: 0x98 } + - { offsetInCU: 0x323, offset: 0x85C54, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x220, symBinAddr: 0x11B7C, symSize: 0x3C } + - { offsetInCU: 0x375, offset: 0x85CA6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x28C, symBinAddr: 0x11BE8, symSize: 0x20 } + - { offsetInCU: 0x4E5, offset: 0x85E16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x1195C, symSize: 0x4 } + - { offsetInCU: 0x51D, offset: 0x85E4E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x1195C, symSize: 0x4 } + - { offsetInCU: 0x588, offset: 0x85EB9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x119D0, symSize: 0x4 } + - { offsetInCU: 0x5C8, offset: 0x85EF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x119D0, symSize: 0x4 } + - { offsetInCU: 0x62A, offset: 0x85F5B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x11A24, symSize: 0x4 } + - { offsetInCU: 0x67C, offset: 0x85FAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x11A24, symSize: 0x4 } + - { offsetInCU: 0x6F1, offset: 0x86022, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x11A90, symSize: 0x4 } + - { offsetInCU: 0x767, offset: 0x86098, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x11A90, symSize: 0x4 } + - { offsetInCU: 0x805, offset: 0x86136, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1D0, symBinAddr: 0x11B2C, symSize: 0x20 } + - { offsetInCU: 0x819, offset: 0x8614A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x1F0, symBinAddr: 0x11B4C, symSize: 0x30 } + - { offsetInCU: 0x84F, offset: 0x86180, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x25C, symBinAddr: 0x11BB8, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x861CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x11C08, symSize: 0x14 } + - { offsetInCU: 0xA9, offset: 0x8624C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x14, symBinAddr: 0x11C1C, symSize: 0x38 } + - { offsetInCU: 0x1A2, offset: 0x86345, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x68, symBinAddr: 0x11C70, symSize: 0x40 } + - { offsetInCU: 0x284, offset: 0x86427, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x118, symBinAddr: 0x11D20, symSize: 0x3C } + - { offsetInCU: 0x2D6, offset: 0x86479, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0xF8, symBinAddr: 0x11D00, symSize: 0x20 } + - { offsetInCU: 0x480, offset: 0x86623, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x11C08, symSize: 0x14 } + - { offsetInCU: 0x5C4, offset: 0x86767, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x4C, symBinAddr: 0x11C54, symSize: 0x1C } + - { offsetInCU: 0x6FA, offset: 0x8689D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0xA8, symBinAddr: 0x11CB0, symSize: 0x20 } + - { offsetInCU: 0x70E, offset: 0x868B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0xC8, symBinAddr: 0x11CD0, symSize: 0x30 } + - { offsetInCU: 0x744, offset: 0x868E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x154, symBinAddr: 0x11D5C, symSize: 0x30 } + - { offsetInCU: 0x61, offset: 0x8696B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x11D90, symSize: 0x10 } + - { offsetInCU: 0x81, offset: 0x8698B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x11D90, symSize: 0x10 } + - { offsetInCU: 0xB7, offset: 0x869C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x11DA0, symSize: 0x10 } + - { offsetInCU: 0xD7, offset: 0x869E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x11DA0, symSize: 0x10 } + - { offsetInCU: 0x110, offset: 0x86A1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x24, symBinAddr: 0x11DB0, symSize: 0x48 } + - { offsetInCU: 0x168, offset: 0x86A72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xB4, symBinAddr: 0x11E40, symSize: 0x50 } + - { offsetInCU: 0x1C3, offset: 0x86ACD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x11E90, symSize: 0x10 } + - { offsetInCU: 0x1E3, offset: 0x86AED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x11E90, symSize: 0x10 } + - { offsetInCU: 0x219, offset: 0x86B23, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x11EA0, symSize: 0x10 } + - { offsetInCU: 0x239, offset: 0x86B43, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x11EA0, symSize: 0x10 } + - { offsetInCU: 0x272, offset: 0x86B7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1B0, symBinAddr: 0x11F3C, symSize: 0x78 } + - { offsetInCU: 0x2C8, offset: 0x86BD2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x2D4, symBinAddr: 0x12060, symSize: 0xB0 } + - { offsetInCU: 0x32A, offset: 0x86C34, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x43C, symBinAddr: 0x121C8, symSize: 0x28 } + - { offsetInCU: 0x35C, offset: 0x86C66, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x4E0, symBinAddr: 0x121F0, symSize: 0xA0 } + - { offsetInCU: 0x3DD, offset: 0x86CE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x5BC, symBinAddr: 0x12290, symSize: 0x60 } + - { offsetInCU: 0x44D, offset: 0x86D57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x620, symBinAddr: 0x122F4, symSize: 0x4C } + - { offsetInCU: 0x4BF, offset: 0x86DC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x70C, symBinAddr: 0x123E0, symSize: 0x34 } + - { offsetInCU: 0x533, offset: 0x86E3D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x190, symBinAddr: 0x11F1C, symSize: 0x20 } + - { offsetInCU: 0x55D, offset: 0x86E67, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x74C, symBinAddr: 0x12420, symSize: 0x10 } + - { offsetInCU: 0x65B, offset: 0x86F65, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xA08, symBinAddr: 0x126DC, symSize: 0x74 } + - { offsetInCU: 0x699, offset: 0x86FA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x12750, symSize: 0x10 } + - { offsetInCU: 0x6B9, offset: 0x86FC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x12750, symSize: 0x10 } + - { offsetInCU: 0x6EF, offset: 0x86FF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x12760, symSize: 0x10 } + - { offsetInCU: 0x70F, offset: 0x87019, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x12760, symSize: 0x10 } + - { offsetInCU: 0x748, offset: 0x87052, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xA9C, symBinAddr: 0x12770, symSize: 0x20 } + - { offsetInCU: 0x7A0, offset: 0x870AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xABC, symBinAddr: 0x12790, symSize: 0x14 } + - { offsetInCU: 0x7FB, offset: 0x87105, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xAD0, symBinAddr: 0x127A4, symSize: 0x44 } + - { offsetInCU: 0x853, offset: 0x8715D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xB58, symBinAddr: 0x1282C, symSize: 0x48 } + - { offsetInCU: 0x8E8, offset: 0x871F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xCBC, symBinAddr: 0x12990, symSize: 0x78 } + - { offsetInCU: 0x93E, offset: 0x87248, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xE34, symBinAddr: 0x12B08, symSize: 0xB0 } + - { offsetInCU: 0x9A0, offset: 0x872AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x12C64, symSize: 0x28 } + - { offsetInCU: 0x9D2, offset: 0x872DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0xFB8, symBinAddr: 0x12C8C, symSize: 0xB8 } + - { offsetInCU: 0xA53, offset: 0x8735D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x1074, symBinAddr: 0x12D44, symSize: 0x28 } + - { offsetInCU: 0xAB1, offset: 0x873BB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x10D8, symBinAddr: 0x12DA8, symSize: 0x10 } + - { offsetInCU: 0xC88, offset: 0x87592, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgmq5', symObjAddr: 0x13D0, symBinAddr: 0x12FA4, symSize: 0x64 } + - { offsetInCU: 0xCD9, offset: 0x875E3, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x15D8, symBinAddr: 0x131AC, symSize: 0x44 } + - { offsetInCU: 0xCED, offset: 0x875F7, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x161C, symBinAddr: 0x131F0, symSize: 0x44 } + - { offsetInCU: 0xD01, offset: 0x8760B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x1660, symBinAddr: 0x13234, symSize: 0x20 } + - { offsetInCU: 0xDDB, offset: 0x876E5, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x14B8, symBinAddr: 0x1308C, symSize: 0x110 } + - { offsetInCU: 0x1086, offset: 0x87990, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x6C, symBinAddr: 0x11DF8, symSize: 0x48 } + - { offsetInCU: 0x1103, offset: 0x87A0D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x124, symBinAddr: 0x11EB0, symSize: 0x6C } + - { offsetInCU: 0x114A, offset: 0x87A54, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x228, symBinAddr: 0x11FB4, symSize: 0xAC } + - { offsetInCU: 0x11AE, offset: 0x87AB8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x384, symBinAddr: 0x12110, symSize: 0xB8 } + - { offsetInCU: 0x1239, offset: 0x87B43, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x61C, symBinAddr: 0x122F0, symSize: 0x4 } + - { offsetInCU: 0x125A, offset: 0x87B64, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x66C, symBinAddr: 0x12340, symSize: 0x74 } + - { offsetInCU: 0x126E, offset: 0x87B78, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x6E0, symBinAddr: 0x123B4, symSize: 0x2C } + - { offsetInCU: 0x1387, offset: 0x87C91, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x75C, symBinAddr: 0x12430, symSize: 0x2AC } + - { offsetInCU: 0x1731, offset: 0x8803B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xB14, symBinAddr: 0x127E8, symSize: 0x44 } + - { offsetInCU: 0x1770, offset: 0x8807A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xBA0, symBinAddr: 0x12874, symSize: 0x48 } + - { offsetInCU: 0x1795, offset: 0x8809F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xBE8, symBinAddr: 0x128BC, symSize: 0x44 } + - { offsetInCU: 0x17BA, offset: 0x880C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xC2C, symBinAddr: 0x12900, symSize: 0x4 } + - { offsetInCU: 0x17E1, offset: 0x880EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xC30, symBinAddr: 0x12904, symSize: 0x20 } + - { offsetInCU: 0x17F5, offset: 0x880FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xC50, symBinAddr: 0x12924, symSize: 0x6C } + - { offsetInCU: 0x183C, offset: 0x88146, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xD88, symBinAddr: 0x12A5C, symSize: 0xAC } + - { offsetInCU: 0x189B, offset: 0x881A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0xEE4, symBinAddr: 0x12BB8, symSize: 0xAC } + - { offsetInCU: 0x1940, offset: 0x8824A, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x10E8, symBinAddr: 0x12DB8, symSize: 0x104 } + - { offsetInCU: 0x1A6F, offset: 0x88379, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x12E8, symBinAddr: 0x12EBC, symSize: 0xE8 } + - { offsetInCU: 0x1BB3, offset: 0x884BD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x1434, symBinAddr: 0x13008, symSize: 0x84 } + - { offsetInCU: 0x1CAC, offset: 0x885B6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x1680, symBinAddr: 0x13254, symSize: 0x360 } + - { offsetInCU: 0x2B, offset: 0x889D0, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x137A0, symSize: 0x2C } + - { offsetInCU: 0x4F, offset: 0x889F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x958, symBinAddr: 0x10C41B0, symSize: 0x0 } + - { offsetInCU: 0x5D, offset: 0x88A02, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x137A0, symSize: 0x2C } + - { offsetInCU: 0x75, offset: 0x88A1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x2C, symBinAddr: 0x137CC, symSize: 0x10C } + - { offsetInCU: 0xBC, offset: 0x88A61, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x13C, symBinAddr: 0x138DC, symSize: 0x44 } + - { offsetInCU: 0x132, offset: 0x88AD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3AC, symBinAddr: 0x13B4C, symSize: 0x80 } + - { offsetInCU: 0x191, offset: 0x88B36, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x47C, symBinAddr: 0x13C1C, symSize: 0x3C } + - { offsetInCU: 0x1E2, offset: 0x88B87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x4EC, symBinAddr: 0x13C8C, symSize: 0x1DC } + - { offsetInCU: 0x269, offset: 0x88C0E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x4E8, symBinAddr: 0x13C88, symSize: 0x4 } + - { offsetInCU: 0x2A5, offset: 0x88C4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x6C8, symBinAddr: 0x13E68, symSize: 0x20 } + - { offsetInCU: 0x2C4, offset: 0x88C69, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x70C, symBinAddr: 0x13EAC, symSize: 0x14 } + - { offsetInCU: 0x2ED, offset: 0x88C92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x74C, symBinAddr: 0x13EEC, symSize: 0xC } + - { offsetInCU: 0x301, offset: 0x88CA6, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x758, symBinAddr: 0x13EF8, symSize: 0x10 } + - { offsetInCU: 0x315, offset: 0x88CBA, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x768, symBinAddr: 0x13F08, symSize: 0x8 } + - { offsetInCU: 0x329, offset: 0x88CCE, size: 0x8, addend: 0x0, symName: '_$s8Dispatch0A13WorkItemFlagsVACs10SetAlgebraAAWl', symObjAddr: 0x770, symBinAddr: 0x13F10, symSize: 0x48 } + - { offsetInCU: 0x33D, offset: 0x88CE2, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGSayxGSTsWl', symObjAddr: 0x7F8, symBinAddr: 0x13F58, symSize: 0x4C } + - { offsetInCU: 0x351, offset: 0x88CF6, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x844, symBinAddr: 0x13FA4, symSize: 0x44 } + - { offsetInCU: 0x365, offset: 0x88D0A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8C4, symBinAddr: 0x13FE8, symSize: 0x24 } + - { offsetInCU: 0x399, offset: 0x88D3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x90C, symBinAddr: 0x14030, symSize: 0x24 } + - { offsetInCU: 0x52E, offset: 0x88ED3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x138D8, symSize: 0x4 } + - { offsetInCU: 0x55C, offset: 0x88F01, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x138D8, symSize: 0x4 } + - { offsetInCU: 0x5BB, offset: 0x88F60, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x180, symBinAddr: 0x13920, symSize: 0x4 } + - { offsetInCU: 0x5CF, offset: 0x88F74, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x184, symBinAddr: 0x13924, symSize: 0x228 } + - { offsetInCU: 0x6A8, offset: 0x8904D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x42C, symBinAddr: 0x13BCC, symSize: 0x20 } + - { offsetInCU: 0x6BC, offset: 0x89061, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x44C, symBinAddr: 0x13BEC, symSize: 0x30 } + - { offsetInCU: 0x6F2, offset: 0x89097, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4B8, symBinAddr: 0x13C58, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x8913D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x14068, symSize: 0x20 } + - { offsetInCU: 0x77, offset: 0x8918D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x140D8, symSize: 0x3C } + - { offsetInCU: 0xC9, offset: 0x891DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x140B8, symSize: 0x20 } + - { offsetInCU: 0x214, offset: 0x8932A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x14068, symSize: 0x20 } + - { offsetInCU: 0x228, offset: 0x8933E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x14088, symSize: 0x30 } + - { offsetInCU: 0x264, offset: 0x8937A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xAC, symBinAddr: 0x14114, symSize: 0x30 } + - { offsetInCU: 0x26, offset: 0x893C3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2B1E9C, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0x893DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9E20, symBinAddr: 0x9951C0, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0x8942F, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFE20, symBinAddr: 0x99B1C0, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0x89493, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE48, symBinAddr: 0x99B1E8, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0x894A9, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10250, symBinAddr: 0x99B5F0, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0x894C0, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE90, symBinAddr: 0x99B230, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0x89D5F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2B1E9C, symSize: 0x265C } + - { offsetInCU: 0x45D1, offset: 0x8D96E, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x2B44F8, symSize: 0x134 } + - { offsetInCU: 0x46F7, offset: 0x8DA94, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9954, symBinAddr: 0x2BB7F0, symSize: 0x21C } + - { offsetInCU: 0x4926, offset: 0x8DCC3, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FE0, symBinAddr: 0x2B6E7C, symSize: 0x1B8 } + - { offsetInCU: 0x5313, offset: 0x8E6B0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x2B462C, symSize: 0x5BC } + - { offsetInCU: 0x5F76, offset: 0x8F313, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x2B4BE8, symSize: 0x7F8 } + - { offsetInCU: 0x642E, offset: 0x8F7CB, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x2B53E0, symSize: 0x208 } + - { offsetInCU: 0x69FC, offset: 0x8FD99, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x2B55E8, symSize: 0x7B4 } + - { offsetInCU: 0x77D5, offset: 0x90B72, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3F00, symBinAddr: 0x2B5D9C, symSize: 0x634 } + - { offsetInCU: 0x8196, offset: 0x91533, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4534, symBinAddr: 0x2B63D0, symSize: 0xAAC } + - { offsetInCU: 0x9567, offset: 0x92904, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x529C, symBinAddr: 0x2B7138, symSize: 0x23F8 } + - { offsetInCU: 0xCAB8, offset: 0x95E55, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5198, symBinAddr: 0x2B7034, symSize: 0x104 } + - { offsetInCU: 0xCD20, offset: 0x960BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7694, symBinAddr: 0x2B9530, symSize: 0x30 } + - { offsetInCU: 0xCE11, offset: 0x961AE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C4, symBinAddr: 0x2B9560, symSize: 0x58 } + - { offsetInCU: 0xCE86, offset: 0x96223, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x2B95B8, symSize: 0x4 } + - { offsetInCU: 0xCECE, offset: 0x9626B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x2B95B8, symSize: 0x4 } + - { offsetInCU: 0xCEFD, offset: 0x9629A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x2B95B8, symSize: 0x4 } + - { offsetInCU: 0xCF21, offset: 0x962BE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x7720, symBinAddr: 0x2B95BC, symSize: 0x8C } + - { offsetInCU: 0xD056, offset: 0x963F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x2B9648, symSize: 0x4 } + - { offsetInCU: 0xD08F, offset: 0x9642C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x2B9648, symSize: 0x4 } + - { offsetInCU: 0xD328, offset: 0x966C5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77B0, symBinAddr: 0x2B964C, symSize: 0x15D8 } + - { offsetInCU: 0x10671, offset: 0x99A0E, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B70, symBinAddr: 0x2BBA0C, symSize: 0x218 } + - { offsetInCU: 0x10CA3, offset: 0x9A040, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D88, symBinAddr: 0x2BAC24, symSize: 0x20 } + - { offsetInCU: 0x11140, offset: 0x9A4DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8DA8, symBinAddr: 0x2BAC44, symSize: 0xBAC } + - { offsetInCU: 0x26, offset: 0x9B2A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2BBC24, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0x9B454, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2BBC24, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0x9B6EF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2BBE18, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0x9B6FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2BBE18, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0x9B80D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2BBE54, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0x9B81B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2BBE54, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0x9B97E, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x99B6A0, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0x9B9B0, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x99B630, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0x9B9D2, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x99B660, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0x9B9E8, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x99B690, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0x9BCAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2BBEEC, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0x9BCF3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2BBEEC, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0x9BE8C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x2BBF04, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0x9BF37, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x2BBF1C, symSize: 0x320 } + - { offsetInCU: 0x1173, offset: 0x9CA6B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x2BC23C, symSize: 0xAC } + - { offsetInCU: 0x1469, offset: 0x9CD61, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x2BC2E8, symSize: 0x500 } + - { offsetInCU: 0x2666, offset: 0x9DF5E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x2BC7E8, symSize: 0x2C8 } + - { offsetInCU: 0x2CB5, offset: 0x9E5AD, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x2BCAB0, symSize: 0xF4 } + - { offsetInCU: 0x2EC7, offset: 0x9E7BF, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x2BCBA4, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0x9EAEA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2BCD0C, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0x9EBBE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2BCD0C, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0x9EBF0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2BCD0C, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0x9EC5D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2BCD44, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0x9ECB7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2BCD44, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0x9EDDF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x2BCD80, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0x9EFDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x2BCDDC, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0x9F0FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x2BCDF8, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0x9F19D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x2BCE4C, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0x9F36B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x2BCE98, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0x9F3CF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x2BCE98, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0x9F66E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2BCF40, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0x9F710, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2BCF40, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0x9F9A2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x2BD050, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0x9FA22, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x2BD050, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0x9FBA5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x2BD100, symSize: 0x198 } + - { offsetInCU: 0x13AB, offset: 0x9FE6F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x58C, symBinAddr: 0x2BD298, symSize: 0x290 } + - { offsetInCU: 0x1500, offset: 0x9FFC4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x81C, symBinAddr: 0x2BD528, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0xA002B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x834, symBinAddr: 0x2BD540, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0xA0064, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x840, symBinAddr: 0x2BD54C, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0xA00E8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x848, symBinAddr: 0x2BD554, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xA029B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2BD590, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xA02A9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2BD590, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xA03AF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x398, symBinAddr: 0x10CB0D8, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xA03F1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2BD720, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0xA0441, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x99C000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xA04C5, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x9C1000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xA0726, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2BD720, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xA1031, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x2BDAA8, symSize: 0x204 } + - { offsetInCU: 0x1163, offset: 0xA152E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x2BDCAC, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xA1903, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2BDE80, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xA1943, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2BDE80, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xA1951, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x2BE020, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xA1974, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x2BE080, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xA1965, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2BE310, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xA199D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2BE310, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xA19B4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x2BE440, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xA19CA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x2BE4B0, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xA19CF, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x2BE610, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xA19DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2BE9A0, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xA1A15, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2BE9A0, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xA1A19, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x2BED40, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xA1A33, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x2BF400, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xA1A7F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0x2C0680, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xA1A95, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0x2C1800, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xA1A8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C2C20, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xA1AC0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C2C20, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xA1AC8, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0x2C2E60, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xA1ADE, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0x2C3840, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xA1AED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C3EA0, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xA1B24, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C3EA0, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xA1B3A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0x2C3EE0, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xA1B53, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0x2C3F20, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xA1B5E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0x2C3F60, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xA1B74, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0x2C4140, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xA1B88, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0x2C42B0, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xA1BA0, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0x2C4300, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xA1BB6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0x2C4350, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xA1BCC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0x2C43A0, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xA1BEE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0x2C4400, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xA1C01, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0x2C45E0, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xA1C1E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0x2C4940, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xA1C33, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0x2C4C10, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xA1C4D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0x2C4EC0, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xA1C61, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0x2C5110, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xA1C77, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0x2C5170, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xA1C6D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2C51C0, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xA1CA9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2C51C0, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xA1CBF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0x2C5D50, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xA1CB9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2C6900, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1CFA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2C6900, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1CFA, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x2C7740, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xA1D05, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2C7F40, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1D46, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2C7F40, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1D46, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x2C8D80, symSize: 0x1F0 } ... diff --git a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml index e03efe90c..0e5e3fa18 100644 --- a/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +++ b/packages/canvas/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml @@ -2,644 +2,642 @@ triple: 'x86_64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas/src-native/canvas-ios/dist/Release-iphonesimulator/CanvasNative.framework/CanvasNative' relocations: - - { offsetInCU: 0x34, offset: 0x78185, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x99B000, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x781BA, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x99B038, symSize: 0x0 } - - { offsetInCU: 0x3F, offset: 0x7820F, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x40, symBinAddr: 0x2700, symSize: 0x10 } - - { offsetInCU: 0x53, offset: 0x78223, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x50, symBinAddr: 0x2710, symSize: 0x10 } - - { offsetInCU: 0x67, offset: 0x78237, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x60, symBinAddr: 0x2720, symSize: 0x20 } - - { offsetInCU: 0x7B, offset: 0x7824B, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x80, symBinAddr: 0x2740, symSize: 0x30 } - - { offsetInCU: 0x8F, offset: 0x7825F, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0xD0, symBinAddr: 0x2790, symSize: 0x30 } - - { offsetInCU: 0xA3, offset: 0x78273, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0x100, symBinAddr: 0x27C0, symSize: 0x20 } - - { offsetInCU: 0xB7, offset: 0x78287, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0x120, symBinAddr: 0x27E0, symSize: 0x20 } - - { offsetInCU: 0xCB, offset: 0x7829B, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0x140, symBinAddr: 0x2800, symSize: 0x30 } - - { offsetInCU: 0x4F, offset: 0x78484, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x3080, symBinAddr: 0x1243E30, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x7849E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x3088, symBinAddr: 0x1243E38, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x784D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x10, symBinAddr: 0x28D0, symSize: 0x40 } - - { offsetInCU: 0xF3, offset: 0x78528, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x60, symBinAddr: 0x2920, symSize: 0x60 } - - { offsetInCU: 0x144, offset: 0x78579, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xD0, symBinAddr: 0x2990, symSize: 0x40 } - - { offsetInCU: 0x19F, offset: 0x785D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x120, symBinAddr: 0x29E0, symSize: 0x50 } - - { offsetInCU: 0x204, offset: 0x78639, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x180, symBinAddr: 0x2A40, symSize: 0x60 } - - { offsetInCU: 0x27D, offset: 0x786B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1F0, symBinAddr: 0x2AB0, symSize: 0x90 } - - { offsetInCU: 0x2DA, offset: 0x7870F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x290, symBinAddr: 0x2B50, symSize: 0x20 } - - { offsetInCU: 0x389, offset: 0x787BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x320, symBinAddr: 0x2BE0, symSize: 0x80 } - - { offsetInCU: 0x44E, offset: 0x78883, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x410, symBinAddr: 0x2CD0, symSize: 0x80 } - - { offsetInCU: 0x51D, offset: 0x78952, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x500, symBinAddr: 0x2DC0, symSize: 0x80 } - - { offsetInCU: 0x5E7, offset: 0x78A1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x600, symBinAddr: 0x2EC0, symSize: 0x90 } - - { offsetInCU: 0x67F, offset: 0x78AB4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x6A0, symBinAddr: 0x2F60, symSize: 0x10 } - - { offsetInCU: 0x6E6, offset: 0x78B1B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x6C0, symBinAddr: 0x2F80, symSize: 0x10 } - - { offsetInCU: 0x73D, offset: 0x78B72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x6E0, symBinAddr: 0x2FA0, symSize: 0x10 } - - { offsetInCU: 0x794, offset: 0x78BC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x700, symBinAddr: 0x2FC0, symSize: 0x10 } - - { offsetInCU: 0x7EB, offset: 0x78C20, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x720, symBinAddr: 0x2FE0, symSize: 0x10 } - - { offsetInCU: 0x842, offset: 0x78C77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x740, symBinAddr: 0x3000, symSize: 0x10 } - - { offsetInCU: 0x8C1, offset: 0x78CF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x760, symBinAddr: 0x3020, symSize: 0x40 } - - { offsetInCU: 0x96C, offset: 0x78DA1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x7B0, symBinAddr: 0x3070, symSize: 0x20 } - - { offsetInCU: 0x9DF, offset: 0x78E14, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x7E0, symBinAddr: 0x30A0, symSize: 0x10 } - - { offsetInCU: 0xA36, offset: 0x78E6B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x850, symBinAddr: 0x3110, symSize: 0x70 } - - { offsetInCU: 0xAC1, offset: 0x78EF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0xA60, symBinAddr: 0x3320, symSize: 0xA0 } - - { offsetInCU: 0xB12, offset: 0x78F47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xD60, symBinAddr: 0x3620, symSize: 0xA0 } - - { offsetInCU: 0xB63, offset: 0x78F98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0x10C0, symBinAddr: 0x3980, symSize: 0xA0 } - - { offsetInCU: 0xBBF, offset: 0x78FF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1510, symBinAddr: 0x3DD0, symSize: 0xD0 } - - { offsetInCU: 0xC07, offset: 0x7903C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x15F0, symBinAddr: 0x3EB0, symSize: 0x40 } - - { offsetInCU: 0xC67, offset: 0x7909C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x1680, symBinAddr: 0x3F40, symSize: 0x30 } - - { offsetInCU: 0xCBA, offset: 0x790EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x16F0, symBinAddr: 0x3FB0, symSize: 0x300 } - - { offsetInCU: 0xEEA, offset: 0x7931F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x19F0, symBinAddr: 0x42B0, symSize: 0x260 } - - { offsetInCU: 0x10E4, offset: 0x79519, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1C50, symBinAddr: 0x4510, symSize: 0xD0 } - - { offsetInCU: 0x11E1, offset: 0x79616, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1D20, symBinAddr: 0x45E0, symSize: 0x1B0 } - - { offsetInCU: 0x1356, offset: 0x7978B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1ED0, symBinAddr: 0x4790, symSize: 0x1D0 } - - { offsetInCU: 0x14EB, offset: 0x79920, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x20A0, symBinAddr: 0x4960, symSize: 0x200 } - - { offsetInCU: 0x16D7, offset: 0x79B0C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x22A0, symBinAddr: 0x4B60, symSize: 0x1D0 } - - { offsetInCU: 0x17A1, offset: 0x79BD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x2630, symBinAddr: 0x4EF0, symSize: 0x200 } - - { offsetInCU: 0x1882, offset: 0x79CB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x2830, symBinAddr: 0x50F0, symSize: 0x110 } - - { offsetInCU: 0x192D, offset: 0x79D62, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0xB00, symBinAddr: 0x33C0, symSize: 0x70 } - - { offsetInCU: 0x1945, offset: 0x79D7A, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xE00, symBinAddr: 0x36C0, symSize: 0x50 } - - { offsetInCU: 0x19B2, offset: 0x79DE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x16E0, symBinAddr: 0x3FA0, symSize: 0x10 } - - { offsetInCU: 0x1A3D, offset: 0x79E72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x2940, symBinAddr: 0x5200, symSize: 0x20 } - - { offsetInCU: 0x1A51, offset: 0x79E86, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2980, symBinAddr: 0x5240, symSize: 0x10 } - - { offsetInCU: 0x1A70, offset: 0x79EA5, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2990, symBinAddr: 0x5250, symSize: 0x20 } - - { offsetInCU: 0x1A99, offset: 0x79ECE, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x29B0, symBinAddr: 0x5270, symSize: 0x10 } - - { offsetInCU: 0x1AAD, offset: 0x79EE2, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x29C0, symBinAddr: 0x5280, symSize: 0x30 } - - { offsetInCU: 0x1AC1, offset: 0x79EF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x2A40, symBinAddr: 0x5300, symSize: 0x40 } - - { offsetInCU: 0x1AD5, offset: 0x79F0A, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2A80, symBinAddr: 0x5340, symSize: 0x20 } - - { offsetInCU: 0x1AE9, offset: 0x79F1E, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2AA0, symBinAddr: 0x5360, symSize: 0x10 } - - { offsetInCU: 0x1AFD, offset: 0x79F32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2AD0, symBinAddr: 0x5390, symSize: 0x40 } - - { offsetInCU: 0x1B31, offset: 0x79F66, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2B90, symBinAddr: 0x5450, symSize: 0x40 } - - { offsetInCU: 0x1B6F, offset: 0x79FA4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2BD0, symBinAddr: 0x5490, symSize: 0x20 } - - { offsetInCU: 0x1BA3, offset: 0x79FD8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2C80, symBinAddr: 0x5540, symSize: 0x40 } - - { offsetInCU: 0x1BD7, offset: 0x7A00C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2CF0, symBinAddr: 0x55B0, symSize: 0x30 } - - { offsetInCU: 0x1C13, offset: 0x7A048, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2D70, symBinAddr: 0x5630, symSize: 0x30 } - - { offsetInCU: 0x1C27, offset: 0x7A05C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2DA0, symBinAddr: 0x5660, symSize: 0x40 } - - { offsetInCU: 0x20F4, offset: 0x7A529, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x28C0, symSize: 0x10 } - - { offsetInCU: 0x210F, offset: 0x7A544, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x50, symBinAddr: 0x2910, symSize: 0x10 } - - { offsetInCU: 0x212A, offset: 0x7A55F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xC0, symBinAddr: 0x2980, symSize: 0x10 } - - { offsetInCU: 0x214B, offset: 0x7A580, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x110, symBinAddr: 0x29D0, symSize: 0x10 } - - { offsetInCU: 0x2166, offset: 0x7A59B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x170, symBinAddr: 0x2A30, symSize: 0x10 } - - { offsetInCU: 0x2181, offset: 0x7A5B6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1E0, symBinAddr: 0x2AA0, symSize: 0x10 } - - { offsetInCU: 0x219C, offset: 0x7A5D1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x280, symBinAddr: 0x2B40, symSize: 0x10 } - - { offsetInCU: 0x222A, offset: 0x7A65F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x2B0, symBinAddr: 0x2B70, symSize: 0x70 } - - { offsetInCU: 0x237C, offset: 0x7A7B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x3A0, symBinAddr: 0x2C60, symSize: 0x70 } - - { offsetInCU: 0x24DA, offset: 0x7A90F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x490, symBinAddr: 0x2D50, symSize: 0x70 } - - { offsetInCU: 0x2638, offset: 0x7AA6D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x580, symBinAddr: 0x2E40, symSize: 0x80 } - - { offsetInCU: 0x27AC, offset: 0x7ABE1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x690, symBinAddr: 0x2F50, symSize: 0x10 } - - { offsetInCU: 0x281C, offset: 0x7AC51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x6B0, symBinAddr: 0x2F70, symSize: 0x10 } - - { offsetInCU: 0x285F, offset: 0x7AC94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x6D0, symBinAddr: 0x2F90, symSize: 0x10 } - - { offsetInCU: 0x28A4, offset: 0x7ACD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x6F0, symBinAddr: 0x2FB0, symSize: 0x10 } - - { offsetInCU: 0x28E7, offset: 0x7AD1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x710, symBinAddr: 0x2FD0, symSize: 0x10 } - - { offsetInCU: 0x292A, offset: 0x7AD5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x730, symBinAddr: 0x2FF0, symSize: 0x10 } - - { offsetInCU: 0x296D, offset: 0x7ADA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x750, symBinAddr: 0x3010, symSize: 0x10 } - - { offsetInCU: 0x2A53, offset: 0x7AE88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x7A0, symBinAddr: 0x3060, symSize: 0x10 } - - { offsetInCU: 0x2AD2, offset: 0x7AF07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x7D0, symBinAddr: 0x3090, symSize: 0x10 } - - { offsetInCU: 0x2B15, offset: 0x7AF4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x7F0, symBinAddr: 0x30B0, symSize: 0x60 } - - { offsetInCU: 0x2BD6, offset: 0x7B00B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x8C0, symBinAddr: 0x3180, symSize: 0x10 } - - { offsetInCU: 0x2BEA, offset: 0x7B01F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x8D0, symBinAddr: 0x3190, symSize: 0x190 } - - { offsetInCU: 0x2C8A, offset: 0x7B0BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0xB70, symBinAddr: 0x3430, symSize: 0x30 } - - { offsetInCU: 0x2C9E, offset: 0x7B0D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0xBA0, symBinAddr: 0x3460, symSize: 0x1C0 } - - { offsetInCU: 0x2D83, offset: 0x7B1B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xE50, symBinAddr: 0x3710, symSize: 0x30 } - - { offsetInCU: 0x2D97, offset: 0x7B1CC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xE80, symBinAddr: 0x3740, symSize: 0x240 } - - { offsetInCU: 0x2E4B, offset: 0x7B280, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0x1160, symBinAddr: 0x3A20, symSize: 0x10 } - - { offsetInCU: 0x2E5F, offset: 0x7B294, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0x1170, symBinAddr: 0x3A30, symSize: 0x3A0 } - - { offsetInCU: 0x30F5, offset: 0x7B52A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x15E0, symBinAddr: 0x3EA0, symSize: 0x10 } - - { offsetInCU: 0x3110, offset: 0x7B545, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x1630, symBinAddr: 0x3EF0, symSize: 0x20 } - - { offsetInCU: 0x3124, offset: 0x7B559, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x1650, symBinAddr: 0x3F10, symSize: 0x30 } - - { offsetInCU: 0x315A, offset: 0x7B58F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x16B0, symBinAddr: 0x3F70, symSize: 0x30 } - - { offsetInCU: 0x4F, offset: 0x7B7C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x5A98, symBinAddr: 0x1243E70, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x7B7E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x5AA0, symBinAddr: 0x1243E78, symSize: 0x0 } - - { offsetInCU: 0x83, offset: 0x7B7FB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x5AA8, symBinAddr: 0x1243E80, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x7B815, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x5AB0, symBinAddr: 0x1243E88, symSize: 0x0 } - - { offsetInCU: 0xAB, offset: 0x7B823, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0x5930, symSize: 0x60 } - - { offsetInCU: 0xF0, offset: 0x7B868, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x60, symBinAddr: 0x5990, symSize: 0x30 } - - { offsetInCU: 0x135, offset: 0x7B8AD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xD0, symBinAddr: 0x5A00, symSize: 0x40 } - - { offsetInCU: 0x187, offset: 0x7B8FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x1B0, symBinAddr: 0x5AE0, symSize: 0x20 } - - { offsetInCU: 0x1DD, offset: 0x7B955, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1D0, symBinAddr: 0x5B00, symSize: 0x20 } - - { offsetInCU: 0x236, offset: 0x7B9AE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1F0, symBinAddr: 0x5B20, symSize: 0x20 } - - { offsetInCU: 0x28C, offset: 0x7BA04, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x210, symBinAddr: 0x5B40, symSize: 0x20 } - - { offsetInCU: 0x2FB, offset: 0x7BA73, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyFTo', symObjAddr: 0x270, symBinAddr: 0x5BA0, symSize: 0x40 } - - { offsetInCU: 0x3C6, offset: 0x7BB3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyFTo', symObjAddr: 0x300, symBinAddr: 0x5C30, symSize: 0x70 } - - { offsetInCU: 0x473, offset: 0x7BBEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x370, symBinAddr: 0x5CA0, symSize: 0x40 } - - { offsetInCU: 0x4AE, offset: 0x7BC26, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x3E0, symBinAddr: 0x5D10, symSize: 0x30 } - - { offsetInCU: 0x53D, offset: 0x7BCB5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x620, symBinAddr: 0x5F50, symSize: 0x40 } - - { offsetInCU: 0x593, offset: 0x7BD0B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x690, symBinAddr: 0x5FC0, symSize: 0x40 } - - { offsetInCU: 0x5EC, offset: 0x7BD64, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x6D0, symBinAddr: 0x6000, symSize: 0x40 } - - { offsetInCU: 0x642, offset: 0x7BDBA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x740, symBinAddr: 0x6070, symSize: 0x40 } - - { offsetInCU: 0x69B, offset: 0x7BE13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x780, symBinAddr: 0x60B0, symSize: 0x20 } - - { offsetInCU: 0x6F1, offset: 0x7BE69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A0, symBinAddr: 0x60D0, symSize: 0x20 } - - { offsetInCU: 0x734, offset: 0x7BEAC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7C0, symBinAddr: 0x60F0, symSize: 0x20 } - - { offsetInCU: 0x78C, offset: 0x7BF04, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x7E0, symBinAddr: 0x6110, symSize: 0x30 } - - { offsetInCU: 0x7CF, offset: 0x7BF47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x810, symBinAddr: 0x6140, symSize: 0x20 } - - { offsetInCU: 0x827, offset: 0x7BF9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x830, symBinAddr: 0x6160, symSize: 0x30 } - - { offsetInCU: 0x880, offset: 0x7BFF8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x860, symBinAddr: 0x6190, symSize: 0x20 } - - { offsetInCU: 0x8D6, offset: 0x7C04E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x880, symBinAddr: 0x61B0, symSize: 0x10 } - - { offsetInCU: 0x92F, offset: 0x7C0A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x890, symBinAddr: 0x61C0, symSize: 0x20 } - - { offsetInCU: 0x985, offset: 0x7C0FD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x8B0, symBinAddr: 0x61E0, symSize: 0x10 } - - { offsetInCU: 0x9C8, offset: 0x7C140, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x8C0, symBinAddr: 0x61F0, symSize: 0x30 } - - { offsetInCU: 0x9FA, offset: 0x7C172, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x9B0, symBinAddr: 0x62E0, symSize: 0x30 } - - { offsetInCU: 0xA42, offset: 0x7C1BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xAA0, symBinAddr: 0x63D0, symSize: 0x30 } - - { offsetInCU: 0xAAA, offset: 0x7C222, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xB00, symBinAddr: 0x6430, symSize: 0x30 } - - { offsetInCU: 0xB49, offset: 0x7C2C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xB70, symBinAddr: 0x64A0, symSize: 0xD0 } - - { offsetInCU: 0xBE2, offset: 0x7C35A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xDA0, symBinAddr: 0x66D0, symSize: 0x30 } - - { offsetInCU: 0xC7C, offset: 0x7C3F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x1760, symBinAddr: 0x7090, symSize: 0xD0 } - - { offsetInCU: 0xCE6, offset: 0x7C45E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x1A70, symBinAddr: 0x73A0, symSize: 0x90 } - - { offsetInCU: 0xD23, offset: 0x7C49B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1BF0, symBinAddr: 0x7520, symSize: 0x100 } - - { offsetInCU: 0xDA1, offset: 0x7C519, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1DC0, symBinAddr: 0x76F0, symSize: 0x40 } - - { offsetInCU: 0xDD4, offset: 0x7C54C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1E00, symBinAddr: 0x7730, symSize: 0x20 } - - { offsetInCU: 0xE2E, offset: 0x7C5A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1E20, symBinAddr: 0x7750, symSize: 0x30 } - - { offsetInCU: 0xE89, offset: 0x7C601, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1E90, symBinAddr: 0x77C0, symSize: 0x40 } - - { offsetInCU: 0xF1F, offset: 0x7C697, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1F10, symBinAddr: 0x7840, symSize: 0x60 } - - { offsetInCU: 0xFE4, offset: 0x7C75C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1FD0, symBinAddr: 0x7900, symSize: 0xA0 } - - { offsetInCU: 0x1071, offset: 0x7C7E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x20C0, symBinAddr: 0x79F0, symSize: 0x70 } - - { offsetInCU: 0x10D3, offset: 0x7C84B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x21D0, symBinAddr: 0x7B00, symSize: 0x70 } - - { offsetInCU: 0x1130, offset: 0x7C8A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2240, symBinAddr: 0x7B70, symSize: 0xB0 } - - { offsetInCU: 0x1180, offset: 0x7C8F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x23B0, symBinAddr: 0x7CE0, symSize: 0x90 } - - { offsetInCU: 0x1210, offset: 0x7C988, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x3080, symBinAddr: 0x89B0, symSize: 0x30 } - - { offsetInCU: 0x1265, offset: 0x7C9DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x3B80, symBinAddr: 0x94B0, symSize: 0x30 } - - { offsetInCU: 0x1298, offset: 0x7CA10, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3BB0, symBinAddr: 0x94E0, symSize: 0x20 } - - { offsetInCU: 0x12F0, offset: 0x7CA68, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x3BD0, symBinAddr: 0x9500, symSize: 0x30 } - - { offsetInCU: 0x135E, offset: 0x7CAD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x3C80, symBinAddr: 0x95B0, symSize: 0x30 } - - { offsetInCU: 0x13B8, offset: 0x7CB30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3CB0, symBinAddr: 0x95E0, symSize: 0x30 } - - { offsetInCU: 0x1418, offset: 0x7CB90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3D10, symBinAddr: 0x9640, symSize: 0x30 } - - { offsetInCU: 0x155C, offset: 0x7CCD4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x40F0, symBinAddr: 0x9A20, symSize: 0x30 } - - { offsetInCU: 0x158F, offset: 0x7CD07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x4410, symBinAddr: 0x9D40, symSize: 0x20 } - - { offsetInCU: 0x15CA, offset: 0x7CD42, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x4500, symBinAddr: 0x9E30, symSize: 0x30 } - - { offsetInCU: 0x15FD, offset: 0x7CD75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4F30, symBinAddr: 0xA860, symSize: 0x2A0 } - - { offsetInCU: 0x1765, offset: 0x7CEDD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x52A0, symBinAddr: 0xABD0, symSize: 0xC0 } - - { offsetInCU: 0x1981, offset: 0x7D0F9, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x2090, symBinAddr: 0x79C0, symSize: 0x30 } - - { offsetInCU: 0x1999, offset: 0x7D111, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2340, symBinAddr: 0x7C70, symSize: 0x70 } - - { offsetInCU: 0x19B1, offset: 0x7D129, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x24A0, symBinAddr: 0x7DD0, symSize: 0x90 } - - { offsetInCU: 0x19E9, offset: 0x7D161, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x2530, symBinAddr: 0x7E60, symSize: 0xC0 } - - { offsetInCU: 0x1A29, offset: 0x7D1A1, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x25F0, symBinAddr: 0x7F20, symSize: 0x70 } - - { offsetInCU: 0x1ACE, offset: 0x7D246, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x4430, symBinAddr: 0x9D60, symSize: 0xC0 } - - { offsetInCU: 0x1AFE, offset: 0x7D276, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x4530, symBinAddr: 0x9E60, symSize: 0x20 } - - { offsetInCU: 0x1B12, offset: 0x7D28A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x4550, symBinAddr: 0x9E80, symSize: 0x20 } - - { offsetInCU: 0x1B31, offset: 0x7D2A9, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x4570, symBinAddr: 0x9EA0, symSize: 0x60 } - - { offsetInCU: 0x1D38, offset: 0x7D4B0, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x51D0, symBinAddr: 0xAB00, symSize: 0x40 } - - { offsetInCU: 0x1D4C, offset: 0x7D4C4, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x5210, symBinAddr: 0xAB40, symSize: 0x30 } - - { offsetInCU: 0x1D60, offset: 0x7D4D8, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x5240, symBinAddr: 0xAB70, symSize: 0x30 } - - { offsetInCU: 0x1D74, offset: 0x7D4EC, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x5270, symBinAddr: 0xABA0, symSize: 0x30 } - - { offsetInCU: 0x1D93, offset: 0x7D50B, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x5800, symBinAddr: 0xB130, symSize: 0x40 } - - { offsetInCU: 0x1DBC, offset: 0x7D534, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x5840, symBinAddr: 0xB170, symSize: 0x20 } - - { offsetInCU: 0x1DD0, offset: 0x7D548, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x5860, symBinAddr: 0xB190, symSize: 0x10 } - - { offsetInCU: 0x1DE4, offset: 0x7D55C, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5870, symBinAddr: 0xB1A0, symSize: 0x20 } - - { offsetInCU: 0x1E03, offset: 0x7D57B, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5890, symBinAddr: 0xB1C0, symSize: 0x10 } - - { offsetInCU: 0x1E2C, offset: 0x7D5A4, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x58C0, symBinAddr: 0xB1F0, symSize: 0x20 } - - { offsetInCU: 0x1E4B, offset: 0x7D5C3, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x58E0, symBinAddr: 0xB210, symSize: 0x30 } - - { offsetInCU: 0x1E74, offset: 0x7D5EC, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x5910, symBinAddr: 0xB240, symSize: 0x20 } - - { offsetInCU: 0x1E88, offset: 0x7D600, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x5960, symBinAddr: 0xB290, symSize: 0x30 } - - { offsetInCU: 0x210D, offset: 0x7D885, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4E40, symBinAddr: 0xA770, symSize: 0xF0 } - - { offsetInCU: 0x259F, offset: 0x7DD17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyF', symObjAddr: 0x230, symBinAddr: 0x5B60, symSize: 0x40 } - - { offsetInCU: 0x2646, offset: 0x7DDBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyF', symObjAddr: 0x2B0, symBinAddr: 0x5BE0, symSize: 0x50 } - - { offsetInCU: 0x26ED, offset: 0x7DE65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x3B0, symBinAddr: 0x5CE0, symSize: 0x30 } - - { offsetInCU: 0x271E, offset: 0x7DE96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x410, symBinAddr: 0x5D40, symSize: 0xE0 } - - { offsetInCU: 0x2768, offset: 0x7DEE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x4F0, symBinAddr: 0x5E20, symSize: 0x50 } - - { offsetInCU: 0x278B, offset: 0x7DF03, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x540, symBinAddr: 0x5E70, symSize: 0xE0 } - - { offsetInCU: 0x27CC, offset: 0x7DF44, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x660, symBinAddr: 0x5F90, symSize: 0x30 } - - { offsetInCU: 0x2822, offset: 0x7DF9A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x710, symBinAddr: 0x6040, symSize: 0x30 } - - { offsetInCU: 0x2966, offset: 0x7E0DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x8F0, symBinAddr: 0x6220, symSize: 0xC0 } - - { offsetInCU: 0x2A8B, offset: 0x7E203, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x9E0, symBinAddr: 0x6310, symSize: 0xC0 } - - { offsetInCU: 0x2BD1, offset: 0x7E349, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xAD0, symBinAddr: 0x6400, symSize: 0x30 } - - { offsetInCU: 0x2C17, offset: 0x7E38F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xB30, symBinAddr: 0x6460, symSize: 0x30 } - - { offsetInCU: 0x2C49, offset: 0x7E3C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xB60, symBinAddr: 0x6490, symSize: 0x10 } - - { offsetInCU: 0x2DB2, offset: 0x7E52A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xC40, symBinAddr: 0x6570, symSize: 0x160 } - - { offsetInCU: 0x3174, offset: 0x7E8EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xDD0, symBinAddr: 0x6700, symSize: 0x990 } - - { offsetInCU: 0x3902, offset: 0x7F07A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x1830, symBinAddr: 0x7160, symSize: 0x240 } - - { offsetInCU: 0x3D8E, offset: 0x7F506, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x1B00, symBinAddr: 0x7430, symSize: 0xF0 } - - { offsetInCU: 0x3E1D, offset: 0x7F595, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1CF0, symBinAddr: 0x7620, symSize: 0xD0 } - - { offsetInCU: 0x3F76, offset: 0x7F6EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1E50, symBinAddr: 0x7780, symSize: 0x40 } - - { offsetInCU: 0x3FFA, offset: 0x7F772, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1ED0, symBinAddr: 0x7800, symSize: 0x40 } - - { offsetInCU: 0x4119, offset: 0x7F891, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1F70, symBinAddr: 0x78A0, symSize: 0x60 } - - { offsetInCU: 0x420F, offset: 0x7F987, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x22F0, symBinAddr: 0x7C20, symSize: 0x50 } - - { offsetInCU: 0x4259, offset: 0x7F9D1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x2440, symBinAddr: 0x7D70, symSize: 0x60 } - - { offsetInCU: 0x4280, offset: 0x7F9F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x2660, symBinAddr: 0x7F90, symSize: 0x40 } - - { offsetInCU: 0x42A6, offset: 0x7FA1E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x26A0, symBinAddr: 0x7FD0, symSize: 0x10 } - - { offsetInCU: 0x4362, offset: 0x7FADA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x26B0, symBinAddr: 0x7FE0, symSize: 0x9D0 } - - { offsetInCU: 0x4553, offset: 0x7FCCB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x30B0, symBinAddr: 0x89E0, symSize: 0x80 } - - { offsetInCU: 0x457C, offset: 0x7FCF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x3130, symBinAddr: 0x8A60, symSize: 0xA50 } - - { offsetInCU: 0x478E, offset: 0x7FF06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3C00, symBinAddr: 0x9530, symSize: 0x80 } - - { offsetInCU: 0x4884, offset: 0x7FFFC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3CE0, symBinAddr: 0x9610, symSize: 0x30 } - - { offsetInCU: 0x4920, offset: 0x80098, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3D40, symBinAddr: 0x9670, symSize: 0x110 } - - { offsetInCU: 0x4B71, offset: 0x802E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3E50, symBinAddr: 0x9780, symSize: 0x2A0 } - - { offsetInCU: 0x4DCD, offset: 0x80545, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x4120, symBinAddr: 0x9A50, symSize: 0x2F0 } - - { offsetInCU: 0x4E5B, offset: 0x805D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x44F0, symBinAddr: 0x9E20, symSize: 0x10 } - - { offsetInCU: 0x4E89, offset: 0x80601, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x45D0, symBinAddr: 0x9F00, symSize: 0x60 } - - { offsetInCU: 0x4EE3, offset: 0x8065B, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x4630, symBinAddr: 0x9F60, symSize: 0x60 } - - { offsetInCU: 0x4F4F, offset: 0x806C7, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4690, symBinAddr: 0x9FC0, symSize: 0xB0 } - - { offsetInCU: 0x4F8C, offset: 0x80704, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4740, symBinAddr: 0xA070, symSize: 0xE0 } - - { offsetInCU: 0x4FF7, offset: 0x8076F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4820, symBinAddr: 0xA150, symSize: 0x260 } - - { offsetInCU: 0x509F, offset: 0x80817, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x4A80, symBinAddr: 0xA3B0, symSize: 0x3C0 } - - { offsetInCU: 0x27, offset: 0x80A50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xB370, symSize: 0x20 } - - { offsetInCU: 0x62, offset: 0x80A8B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x20, symBinAddr: 0xB390, symSize: 0x14 } - - { offsetInCU: 0x1AF, offset: 0x80BD8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xB370, symSize: 0x20 } - - { offsetInCU: 0x65, offset: 0x80C65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xB3B0, symSize: 0x10 } - - { offsetInCU: 0xBB, offset: 0x80CBB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xB3C0, symSize: 0x10 } - - { offsetInCU: 0x114, offset: 0x80D14, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0xB3D0, symSize: 0x40 } - - { offsetInCU: 0x16A, offset: 0x80D6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x60, symBinAddr: 0xB410, symSize: 0x40 } - - { offsetInCU: 0x1C3, offset: 0x80DC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xA0, symBinAddr: 0xB450, symSize: 0x40 } - - { offsetInCU: 0x219, offset: 0x80E19, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xE0, symBinAddr: 0xB490, symSize: 0x40 } - - { offsetInCU: 0x272, offset: 0x80E72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x120, symBinAddr: 0xB4D0, symSize: 0x20 } - - { offsetInCU: 0x2C8, offset: 0x80EC8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x140, symBinAddr: 0xB4F0, symSize: 0x20 } - - { offsetInCU: 0x321, offset: 0x80F21, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x160, symBinAddr: 0xB510, symSize: 0x20 } - - { offsetInCU: 0x377, offset: 0x80F77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x180, symBinAddr: 0xB530, symSize: 0x20 } - - { offsetInCU: 0x3D0, offset: 0x80FD0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x1A0, symBinAddr: 0xB550, symSize: 0x40 } - - { offsetInCU: 0x426, offset: 0x81026, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1E0, symBinAddr: 0xB590, symSize: 0x40 } - - { offsetInCU: 0x47F, offset: 0x8107F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x220, symBinAddr: 0xB5D0, symSize: 0x10 } - - { offsetInCU: 0x4D5, offset: 0x810D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x230, symBinAddr: 0xB5E0, symSize: 0x10 } - - { offsetInCU: 0x52E, offset: 0x8112E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x240, symBinAddr: 0xB5F0, symSize: 0x10 } - - { offsetInCU: 0x584, offset: 0x81184, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x250, symBinAddr: 0xB600, symSize: 0x10 } - - { offsetInCU: 0x5DD, offset: 0x811DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x260, symBinAddr: 0xB610, symSize: 0x40 } - - { offsetInCU: 0x633, offset: 0x81233, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x2A0, symBinAddr: 0xB650, symSize: 0x40 } - - { offsetInCU: 0x676, offset: 0x81276, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2E0, symBinAddr: 0xB690, symSize: 0x10 } - - { offsetInCU: 0x692, offset: 0x81292, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2F0, symBinAddr: 0xB6A0, symSize: 0x30 } - - { offsetInCU: 0x6C4, offset: 0x812C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x320, symBinAddr: 0xB6D0, symSize: 0x20 } - - { offsetInCU: 0x71C, offset: 0x8131C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x340, symBinAddr: 0xB6F0, symSize: 0x30 } - - { offsetInCU: 0x775, offset: 0x81375, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x490, symBinAddr: 0xB840, symSize: 0x20 } - - { offsetInCU: 0x7CB, offset: 0x813CB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x4B0, symBinAddr: 0xB860, symSize: 0x20 } - - { offsetInCU: 0x83A, offset: 0x8143A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x680, symBinAddr: 0xB9F0, symSize: 0x20 } - - { offsetInCU: 0x86C, offset: 0x8146C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x7E0, symBinAddr: 0xBB50, symSize: 0x30 } - - { offsetInCU: 0x8C4, offset: 0x814C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x830, symBinAddr: 0xBBA0, symSize: 0x80 } - - { offsetInCU: 0x928, offset: 0x81528, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x8B0, symBinAddr: 0xBC20, symSize: 0x80 } - - { offsetInCU: 0x9CA, offset: 0x815CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xCE0, symBinAddr: 0xC050, symSize: 0x30 } - - { offsetInCU: 0xAB4, offset: 0x816B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x660, symBinAddr: 0xB9D0, symSize: 0x20 } - - { offsetInCU: 0xB33, offset: 0x81733, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xD40, symBinAddr: 0xC0B0, symSize: 0x60 } - - { offsetInCU: 0x1271, offset: 0x81E71, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x4D0, symBinAddr: 0xB880, symSize: 0x20 } - - { offsetInCU: 0x128B, offset: 0x81E8B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x4F0, symBinAddr: 0xB8A0, symSize: 0x130 } - - { offsetInCU: 0x12BB, offset: 0x81EBB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x6A0, symBinAddr: 0xBA10, symSize: 0x140 } - - { offsetInCU: 0x1474, offset: 0x82074, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x810, symBinAddr: 0xBB80, symSize: 0x20 } - - { offsetInCU: 0x1525, offset: 0x82125, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x930, symBinAddr: 0xBCA0, symSize: 0x3B0 } - - { offsetInCU: 0x18BB, offset: 0x824BB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xD10, symBinAddr: 0xC080, symSize: 0x30 } - - { offsetInCU: 0x19B4, offset: 0x825B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xDA0, symBinAddr: 0xC110, symSize: 0x720 } - - { offsetInCU: 0x231C, offset: 0x82F1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x1520, symBinAddr: 0xC890, symSize: 0x7EC } - - { offsetInCU: 0x10C, offset: 0x83AC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0x1120, symBinAddr: 0xE160, symSize: 0x60 } - - { offsetInCU: 0x19C, offset: 0x83B55, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0x11A0, symBinAddr: 0xE1E0, symSize: 0x20 } - - { offsetInCU: 0x1CB, offset: 0x83B84, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0x11C0, symBinAddr: 0xE200, symSize: 0x10 } - - { offsetInCU: 0x368, offset: 0x83D21, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x1A40, symBinAddr: 0xEA80, symSize: 0x30 } - - { offsetInCU: 0x5E4, offset: 0x83F9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1AC0, symBinAddr: 0xEB00, symSize: 0x60 } - - { offsetInCU: 0x613, offset: 0x83FCC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x1B20, symBinAddr: 0xEB60, symSize: 0x20 } - - { offsetInCU: 0x627, offset: 0x83FE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x1B40, symBinAddr: 0xEB80, symSize: 0x20 } - - { offsetInCU: 0x63B, offset: 0x83FF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x1B60, symBinAddr: 0xEBA0, symSize: 0x30 } - - { offsetInCU: 0x64F, offset: 0x84008, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x1B90, symBinAddr: 0xEBD0, symSize: 0x10 } - - { offsetInCU: 0x663, offset: 0x8401C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1BA0, symBinAddr: 0xEBE0, symSize: 0x30 } - - { offsetInCU: 0x677, offset: 0x84030, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1BD0, symBinAddr: 0xEC10, symSize: 0x50 } - - { offsetInCU: 0x68B, offset: 0x84044, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x1C40, symBinAddr: 0xEC60, symSize: 0x40 } - - { offsetInCU: 0x69F, offset: 0x84058, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x1C80, symBinAddr: 0xECA0, symSize: 0x40 } - - { offsetInCU: 0x6B3, offset: 0x8406C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1CC0, symBinAddr: 0xECE0, symSize: 0x50 } - - { offsetInCU: 0x6C7, offset: 0x84080, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1D10, symBinAddr: 0xED30, symSize: 0x10 } - - { offsetInCU: 0x6DB, offset: 0x84094, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1D20, symBinAddr: 0xED40, symSize: 0x40 } - - { offsetInCU: 0x6EF, offset: 0x840A8, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1E30, symBinAddr: 0xED80, symSize: 0x50 } - - { offsetInCU: 0x703, offset: 0x840BC, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1E80, symBinAddr: 0xEDD0, symSize: 0x20 } - - { offsetInCU: 0x761, offset: 0x8411A, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x21A0, symBinAddr: 0xF0F0, symSize: 0x14 } - - { offsetInCU: 0xCB4, offset: 0x8466D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0xD080, symSize: 0x630 } - - { offsetInCU: 0xF39, offset: 0x848F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x650, symBinAddr: 0xD6D0, symSize: 0xE0 } - - { offsetInCU: 0xFB8, offset: 0x84971, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x800, symBinAddr: 0xD860, symSize: 0xB0 } - - { offsetInCU: 0x102A, offset: 0x849E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0x1030, symBinAddr: 0xE070, symSize: 0xF0 } - - { offsetInCU: 0x1179, offset: 0x84B32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x1590, symBinAddr: 0xE5D0, symSize: 0x4B0 } - - { offsetInCU: 0x18C2, offset: 0x8527B, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1EA0, symBinAddr: 0xEDF0, symSize: 0x20 } - - { offsetInCU: 0x195A, offset: 0x85313, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1EC0, symBinAddr: 0xEE10, symSize: 0x1F0 } - - { offsetInCU: 0x27, offset: 0x854DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xF110, symSize: 0x30 } - - { offsetInCU: 0x4B, offset: 0x85500, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2A0, symBinAddr: 0x1244198, symSize: 0x0 } - - { offsetInCU: 0x65, offset: 0x8551A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xF110, symSize: 0x30 } - - { offsetInCU: 0x98, offset: 0x8554D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x160, symBinAddr: 0xF270, symSize: 0x30 } - - { offsetInCU: 0x104, offset: 0x855B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x200, symBinAddr: 0xF310, symSize: 0x30 } - - { offsetInCU: 0x158, offset: 0x8560D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x30, symBinAddr: 0xF140, symSize: 0xF0 } - - { offsetInCU: 0x183, offset: 0x85638, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x1E0, symBinAddr: 0xF2F0, symSize: 0x20 } - - { offsetInCU: 0x197, offset: 0x8564C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x260, symBinAddr: 0xF370, symSize: 0x10 } - - { offsetInCU: 0x1C2, offset: 0x85677, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x270, symBinAddr: 0xF380, symSize: 0x2F } - - { offsetInCU: 0x34A, offset: 0x857FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x120, symBinAddr: 0xF230, symSize: 0x40 } - - { offsetInCU: 0x38A, offset: 0x8583F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x190, symBinAddr: 0xF2A0, symSize: 0x20 } - - { offsetInCU: 0x39E, offset: 0x85853, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1B0, symBinAddr: 0xF2C0, symSize: 0x30 } - - { offsetInCU: 0x3DA, offset: 0x8588F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x230, symBinAddr: 0xF340, symSize: 0x30 } - - { offsetInCU: 0x2B, offset: 0x858DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xF3B0, symSize: 0xA0 } - - { offsetInCU: 0x66, offset: 0x85918, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA0, symBinAddr: 0xF450, symSize: 0xA0 } - - { offsetInCU: 0xF9, offset: 0x859AB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D0, symBinAddr: 0xF580, symSize: 0x100 } - - { offsetInCU: 0x1AD, offset: 0x85A5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x300, symBinAddr: 0xF6B0, symSize: 0x30 } - - { offsetInCU: 0x22D, offset: 0x85ADF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x340, symBinAddr: 0xF6F0, symSize: 0x90 } - - { offsetInCU: 0x2A6, offset: 0x85B58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4E0, symBinAddr: 0xF890, symSize: 0x140 } - - { offsetInCU: 0x345, offset: 0x85BF7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x670, symBinAddr: 0xFA20, symSize: 0x30 } - - { offsetInCU: 0x398, offset: 0x85C4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6D0, symBinAddr: 0xFA80, symSize: 0x170 } - - { offsetInCU: 0x50B, offset: 0x85DBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x840, symBinAddr: 0xFBF0, symSize: 0x310 } - - { offsetInCU: 0x5EA, offset: 0x85E9C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB50, symBinAddr: 0xFF00, symSize: 0x20 } - - { offsetInCU: 0x5FE, offset: 0x85EB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB70, symBinAddr: 0xFF20, symSize: 0x30 } - - { offsetInCU: 0x612, offset: 0x85EC4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xBA0, symBinAddr: 0xFF50, symSize: 0x30 } - - { offsetInCU: 0x626, offset: 0x85ED8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBD0, symBinAddr: 0xFF80, symSize: 0x10 } - - { offsetInCU: 0x63A, offset: 0x85EEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBE0, symBinAddr: 0xFF90, symSize: 0x40 } - - { offsetInCU: 0x64E, offset: 0x85F00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC30, symBinAddr: 0xFFD0, symSize: 0x30 } - - { offsetInCU: 0x662, offset: 0x85F14, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC60, symBinAddr: 0x10000, symSize: 0x40 } - - { offsetInCU: 0x676, offset: 0x85F28, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xCA0, symBinAddr: 0x10040, symSize: 0x40 } - - { offsetInCU: 0x68A, offset: 0x85F3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCE0, symBinAddr: 0x10080, symSize: 0x10 } - - { offsetInCU: 0x69E, offset: 0x85F50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCF0, symBinAddr: 0x10090, symSize: 0x10 } - - { offsetInCU: 0x6B2, offset: 0x85F64, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xD00, symBinAddr: 0x100A0, symSize: 0x10 } - - { offsetInCU: 0x6C6, offset: 0x85F78, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xD10, symBinAddr: 0x100B0, symSize: 0x10 } - - { offsetInCU: 0x74E, offset: 0x86000, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D0, symBinAddr: 0xF780, symSize: 0x10 } - - { offsetInCU: 0x76A, offset: 0x8601C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3E0, symBinAddr: 0xF790, symSize: 0x10 } - - { offsetInCU: 0x786, offset: 0x86038, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3F0, symBinAddr: 0xF7A0, symSize: 0x10 } - - { offsetInCU: 0x7A2, offset: 0x86054, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x400, symBinAddr: 0xF7B0, symSize: 0x10 } - - { offsetInCU: 0xA56, offset: 0x86308, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xF3B0, symSize: 0xA0 } - - { offsetInCU: 0xAEC, offset: 0x8639E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x140, symBinAddr: 0xF4F0, symSize: 0x90 } - - { offsetInCU: 0xC71, offset: 0x86523, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2D0, symBinAddr: 0xF680, symSize: 0x30 } - - { offsetInCU: 0xCBB, offset: 0x8656D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x330, symBinAddr: 0xF6E0, symSize: 0x10 } - - { offsetInCU: 0xCDD, offset: 0x8658F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x410, symBinAddr: 0xF7C0, symSize: 0xD0 } - - { offsetInCU: 0xD8D, offset: 0x8663F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x620, symBinAddr: 0xF9D0, symSize: 0x20 } - - { offsetInCU: 0xDA1, offset: 0x86653, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x640, symBinAddr: 0xF9F0, symSize: 0x30 } - - { offsetInCU: 0xDD7, offset: 0x86689, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6A0, symBinAddr: 0xFA50, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x867A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x100D0, symSize: 0x10 } - - { offsetInCU: 0x71, offset: 0x867F3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x10, symBinAddr: 0x100E0, symSize: 0x60 } - - { offsetInCU: 0xF6, offset: 0x86878, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x80, symBinAddr: 0x10150, symSize: 0x50 } - - { offsetInCU: 0x193, offset: 0x86915, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xE0, symBinAddr: 0x101B0, symSize: 0x60 } - - { offsetInCU: 0x25C, offset: 0x869DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x150, symBinAddr: 0x10220, symSize: 0x90 } - - { offsetInCU: 0x339, offset: 0x86ABB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x230, symBinAddr: 0x10300, symSize: 0x30 } - - { offsetInCU: 0x38D, offset: 0x86B0F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x290, symBinAddr: 0x10360, symSize: 0x14 } - - { offsetInCU: 0x4FD, offset: 0x86C7F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x100D0, symSize: 0x10 } - - { offsetInCU: 0x5A0, offset: 0x86D22, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x70, symBinAddr: 0x10140, symSize: 0x10 } - - { offsetInCU: 0x640, offset: 0x86DC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xD0, symBinAddr: 0x101A0, symSize: 0x10 } - - { offsetInCU: 0x703, offset: 0x86E85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x140, symBinAddr: 0x10210, symSize: 0x10 } - - { offsetInCU: 0x80F, offset: 0x86F91, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1E0, symBinAddr: 0x102B0, symSize: 0x20 } - - { offsetInCU: 0x823, offset: 0x86FA5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x200, symBinAddr: 0x102D0, symSize: 0x30 } - - { offsetInCU: 0x859, offset: 0x86FDB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x260, symBinAddr: 0x10330, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x87025, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x10380, symSize: 0x30 } - - { offsetInCU: 0xA9, offset: 0x870A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x30, symBinAddr: 0x103B0, symSize: 0x50 } - - { offsetInCU: 0x1A6, offset: 0x871A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0xC0, symBinAddr: 0x10440, symSize: 0x50 } - - { offsetInCU: 0x289, offset: 0x87287, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x180, symBinAddr: 0x10500, symSize: 0x30 } - - { offsetInCU: 0x2DD, offset: 0x872DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0x160, symBinAddr: 0x104E0, symSize: 0x20 } - - { offsetInCU: 0x487, offset: 0x87485, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x10380, symSize: 0x30 } - - { offsetInCU: 0x5DD, offset: 0x875DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x80, symBinAddr: 0x10400, symSize: 0x40 } - - { offsetInCU: 0x725, offset: 0x87723, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0x110, symBinAddr: 0x10490, symSize: 0x20 } - - { offsetInCU: 0x739, offset: 0x87737, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0x130, symBinAddr: 0x104B0, symSize: 0x30 } - - { offsetInCU: 0x76F, offset: 0x8776D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x1B0, symBinAddr: 0x10530, symSize: 0x2B } - - { offsetInCU: 0x61, offset: 0x877F1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x10, symBinAddr: 0x10570, symSize: 0x20 } - - { offsetInCU: 0xB7, offset: 0x87847, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x30, symBinAddr: 0x10590, symSize: 0x10 } - - { offsetInCU: 0x110, offset: 0x878A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x40, symBinAddr: 0x105A0, symSize: 0x40 } - - { offsetInCU: 0x168, offset: 0x878F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xC0, symBinAddr: 0x10620, symSize: 0x40 } - - { offsetInCU: 0x1C3, offset: 0x87953, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x100, symBinAddr: 0x10660, symSize: 0x10 } - - { offsetInCU: 0x219, offset: 0x879A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x110, symBinAddr: 0x10670, symSize: 0x10 } - - { offsetInCU: 0x272, offset: 0x87A02, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1C0, symBinAddr: 0x10720, symSize: 0x80 } - - { offsetInCU: 0x2CA, offset: 0x87A5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x300, symBinAddr: 0x10860, symSize: 0xA0 } - - { offsetInCU: 0x32C, offset: 0x87ABC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x470, symBinAddr: 0x109D0, symSize: 0x30 } - - { offsetInCU: 0x35E, offset: 0x87AEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x520, symBinAddr: 0x10A00, symSize: 0xA0 } - - { offsetInCU: 0x3DF, offset: 0x87B6F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x600, symBinAddr: 0x10AA0, symSize: 0x60 } - - { offsetInCU: 0x44F, offset: 0x87BDF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x670, symBinAddr: 0x10B10, symSize: 0x50 } - - { offsetInCU: 0x4C1, offset: 0x87C51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x780, symBinAddr: 0x10C20, symSize: 0x30 } - - { offsetInCU: 0x535, offset: 0x87CC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x1A0, symBinAddr: 0x10700, symSize: 0x20 } - - { offsetInCU: 0x55F, offset: 0x87CEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x7D0, symBinAddr: 0x10C70, symSize: 0x20 } - - { offsetInCU: 0x65D, offset: 0x87DED, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xAF0, symBinAddr: 0x10F90, symSize: 0x80 } - - { offsetInCU: 0x69B, offset: 0x87E2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xB70, symBinAddr: 0x11010, symSize: 0x20 } - - { offsetInCU: 0x6F1, offset: 0x87E81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xB90, symBinAddr: 0x11030, symSize: 0x10 } - - { offsetInCU: 0x74A, offset: 0x87EDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xBA0, symBinAddr: 0x11040, symSize: 0x20 } - - { offsetInCU: 0x7A2, offset: 0x87F32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xBC0, symBinAddr: 0x11060, symSize: 0x20 } - - { offsetInCU: 0x7FD, offset: 0x87F8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xBE0, symBinAddr: 0x11080, symSize: 0x40 } - - { offsetInCU: 0x853, offset: 0x87FE3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xC50, symBinAddr: 0x110F0, symSize: 0x40 } - - { offsetInCU: 0x8E6, offset: 0x88076, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xDC0, symBinAddr: 0x11260, symSize: 0x80 } - - { offsetInCU: 0x93E, offset: 0x880CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x11430, symSize: 0xA0 } - - { offsetInCU: 0x9A0, offset: 0x88130, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x10E0, symBinAddr: 0x11580, symSize: 0x30 } - - { offsetInCU: 0x9D2, offset: 0x88162, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0x1110, symBinAddr: 0x115B0, symSize: 0xB0 } - - { offsetInCU: 0xA53, offset: 0x881E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x11D0, symBinAddr: 0x11660, symSize: 0x30 } - - { offsetInCU: 0xAB1, offset: 0x88241, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x1250, symBinAddr: 0x116E0, symSize: 0x20 } - - { offsetInCU: 0xC63, offset: 0x883F3, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfC12CanvasNative15NSCTouchHandlerC7PointerV_Tgm5', symObjAddr: 0x1470, symBinAddr: 0x11850, symSize: 0x80 } - - { offsetInCU: 0xCE6, offset: 0x88476, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgm5', symObjAddr: 0x1570, symBinAddr: 0x118D0, symSize: 0x70 } - - { offsetInCU: 0xD6A, offset: 0x884FA, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x1750, symBinAddr: 0x11AB0, symSize: 0x40 } - - { offsetInCU: 0xD7E, offset: 0x8850E, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x1790, symBinAddr: 0x11AF0, symSize: 0x40 } - - { offsetInCU: 0xD92, offset: 0x88522, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x17D0, symBinAddr: 0x11B30, symSize: 0x20 } - - { offsetInCU: 0xE6C, offset: 0x885FC, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x1650, symBinAddr: 0x119B0, symSize: 0x100 } - - { offsetInCU: 0x112B, offset: 0x888BB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x80, symBinAddr: 0x105E0, symSize: 0x40 } - - { offsetInCU: 0x11A8, offset: 0x88938, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x120, symBinAddr: 0x10680, symSize: 0x80 } - - { offsetInCU: 0x11EF, offset: 0x8897F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x240, symBinAddr: 0x107A0, symSize: 0xC0 } - - { offsetInCU: 0x1251, offset: 0x889E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x3A0, symBinAddr: 0x10900, symSize: 0xD0 } - - { offsetInCU: 0x12DA, offset: 0x88A6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x660, symBinAddr: 0x10B00, symSize: 0x10 } - - { offsetInCU: 0x12FB, offset: 0x88A8B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x6C0, symBinAddr: 0x10B60, symSize: 0x90 } - - { offsetInCU: 0x130F, offset: 0x88A9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x750, symBinAddr: 0x10BF0, symSize: 0x30 } - - { offsetInCU: 0x1428, offset: 0x88BB8, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x7F0, symBinAddr: 0x10C90, symSize: 0x300 } - - { offsetInCU: 0x17D2, offset: 0x88F62, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xC20, symBinAddr: 0x110C0, symSize: 0x30 } - - { offsetInCU: 0x180F, offset: 0x88F9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xC90, symBinAddr: 0x11130, symSize: 0x40 } - - { offsetInCU: 0x1836, offset: 0x88FC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xCD0, symBinAddr: 0x11170, symSize: 0x40 } - - { offsetInCU: 0x185B, offset: 0x88FEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xD10, symBinAddr: 0x111B0, symSize: 0x10 } - - { offsetInCU: 0x1882, offset: 0x89012, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xD20, symBinAddr: 0x111C0, symSize: 0x20 } - - { offsetInCU: 0x1896, offset: 0x89026, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xD40, symBinAddr: 0x111E0, symSize: 0x80 } - - { offsetInCU: 0x18DD, offset: 0x8906D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xED0, symBinAddr: 0x11370, symSize: 0xC0 } - - { offsetInCU: 0x193A, offset: 0x890CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1030, symBinAddr: 0x114D0, symSize: 0xB0 } - - { offsetInCU: 0x19D6, offset: 0x89166, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1270, symBinAddr: 0x11700, symSize: 0xB0 } - - { offsetInCU: 0x1AB8, offset: 0x89248, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x13D0, symBinAddr: 0x117B0, symSize: 0xA0 } - - { offsetInCU: 0x1BC4, offset: 0x89354, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x15E0, symBinAddr: 0x11940, symSize: 0x70 } - - { offsetInCU: 0x1CBF, offset: 0x8944F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x17F0, symBinAddr: 0x11B50, symSize: 0x410 } - - { offsetInCU: 0x4F, offset: 0x89867, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x980, symBinAddr: 0x12442E0, symSize: 0x0 } - - { offsetInCU: 0x5D, offset: 0x89875, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x12150, symSize: 0x30 } - - { offsetInCU: 0x75, offset: 0x8988D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x30, symBinAddr: 0x12180, symSize: 0xF0 } - - { offsetInCU: 0xBC, offset: 0x898D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x130, symBinAddr: 0x12280, symSize: 0x40 } - - { offsetInCU: 0x130, offset: 0x89948, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3C0, symBinAddr: 0x12510, symSize: 0x80 } - - { offsetInCU: 0x18F, offset: 0x899A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x490, symBinAddr: 0x125E0, symSize: 0x30 } - - { offsetInCU: 0x1E2, offset: 0x899FA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x500, symBinAddr: 0x12650, symSize: 0x200 } - - { offsetInCU: 0x261, offset: 0x89A79, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x4F0, symBinAddr: 0x12640, symSize: 0x10 } - - { offsetInCU: 0x29D, offset: 0x89AB5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x700, symBinAddr: 0x12850, symSize: 0x20 } - - { offsetInCU: 0x2BC, offset: 0x89AD4, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x740, symBinAddr: 0x12890, symSize: 0x20 } - - { offsetInCU: 0x2E5, offset: 0x89AFD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x790, symBinAddr: 0x128E0, symSize: 0x20 } - - { offsetInCU: 0x2F9, offset: 0x89B11, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x7B0, symBinAddr: 0x12900, symSize: 0x20 } - - { offsetInCU: 0x30D, offset: 0x89B25, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x7D0, symBinAddr: 0x12920, symSize: 0x10 } - - { offsetInCU: 0x321, offset: 0x89B39, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGMa', symObjAddr: 0x850, symBinAddr: 0x12960, symSize: 0x50 } - - { offsetInCU: 0x335, offset: 0x89B4D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8D0, symBinAddr: 0x129B0, symSize: 0x20 } - - { offsetInCU: 0x369, offset: 0x89B81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x910, symBinAddr: 0x129F0, symSize: 0x20 } - - { offsetInCU: 0x4FE, offset: 0x89D16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x120, symBinAddr: 0x12270, symSize: 0x10 } - - { offsetInCU: 0x58B, offset: 0x89DA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x170, symBinAddr: 0x122C0, symSize: 0x10 } - - { offsetInCU: 0x59F, offset: 0x89DB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x180, symBinAddr: 0x122D0, symSize: 0x240 } - - { offsetInCU: 0x678, offset: 0x89E90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x440, symBinAddr: 0x12590, symSize: 0x20 } - - { offsetInCU: 0x68C, offset: 0x89EA4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x460, symBinAddr: 0x125B0, symSize: 0x30 } - - { offsetInCU: 0x6C2, offset: 0x89EDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4C0, symBinAddr: 0x12610, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x89F80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x12A60, symSize: 0x20 } - - { offsetInCU: 0x77, offset: 0x89FD0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x12AD0, symSize: 0x30 } - - { offsetInCU: 0xCB, offset: 0x8A024, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x12AB0, symSize: 0x20 } - - { offsetInCU: 0x216, offset: 0x8A16F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x12A60, symSize: 0x20 } - - { offsetInCU: 0x22A, offset: 0x8A183, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x12A80, symSize: 0x30 } - - { offsetInCU: 0x266, offset: 0x8A1BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xA0, symBinAddr: 0x12B00, symSize: 0x2B } - - { offsetInCU: 0x26, offset: 0x8A208, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2CB460, symSize: 0x3990 } - - { offsetInCU: 0x40, offset: 0x8A222, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0xEEC0, symBinAddr: 0xA48A30, symSize: 0x0 } - - { offsetInCU: 0x92, offset: 0x8A274, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0x14EC0, symBinAddr: 0xA4EA30, symSize: 0x0 } - - { offsetInCU: 0xF6, offset: 0x8A2D8, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0x14EE8, symBinAddr: 0xA4EA58, symSize: 0x0 } - - { offsetInCU: 0x10C, offset: 0x8A2EE, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x152F0, symBinAddr: 0xA4EE60, symSize: 0x0 } - - { offsetInCU: 0x123, offset: 0x8A305, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0x14F30, symBinAddr: 0xA4EAA0, symSize: 0x0 } - - { offsetInCU: 0xE22, offset: 0x8B004, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2CB460, symSize: 0x3990 } - - { offsetInCU: 0x4DAE, offset: 0x8EF90, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0xE6E0, symBinAddr: 0x2D9B40, symSize: 0x3E0 } - - { offsetInCU: 0x4FF1, offset: 0x8F1D3, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x7C20, symBinAddr: 0x2D3080, symSize: 0x270 } - - { offsetInCU: 0x582C, offset: 0x8FA0E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x3990, symBinAddr: 0x2CEDF0, symSize: 0xA10 } - - { offsetInCU: 0x684B, offset: 0x90A2D, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x43A0, symBinAddr: 0x2CF800, symSize: 0xA10 } - - { offsetInCU: 0x6EE9, offset: 0x910CB, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x4DB0, symBinAddr: 0x2D0210, symSize: 0x2B0 } - - { offsetInCU: 0x74BC, offset: 0x9169E, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x5060, symBinAddr: 0x2D04C0, symSize: 0xCD0 } - - { offsetInCU: 0x83FE, offset: 0x925E0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x5D30, symBinAddr: 0x2D1190, symSize: 0xB40 } - - { offsetInCU: 0x8F67, offset: 0x93149, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x6870, symBinAddr: 0x2D1CD0, symSize: 0x13B0 } - - { offsetInCU: 0xA567, offset: 0x94749, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x7FF0, symBinAddr: 0x2D3450, symSize: 0x2A30 } - - { offsetInCU: 0xDC6D, offset: 0x97E4F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x7E90, symBinAddr: 0x2D32F0, symSize: 0x160 } - - { offsetInCU: 0xDEE7, offset: 0x980C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0xAA20, symBinAddr: 0x2D5E80, symSize: 0x30 } - - { offsetInCU: 0xDFDC, offset: 0x981BE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0xAA50, symBinAddr: 0x2D5EB0, symSize: 0x50 } - - { offsetInCU: 0xE051, offset: 0x98233, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0xAAA0, symBinAddr: 0x2D5F00, symSize: 0x10 } - - { offsetInCU: 0xE0EC, offset: 0x982CE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0xAAB0, symBinAddr: 0x2D5F10, symSize: 0xB0 } - - { offsetInCU: 0xE217, offset: 0x983F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0xAB60, symBinAddr: 0x2D5FC0, symSize: 0x10 } - - { offsetInCU: 0xE4E9, offset: 0x986CB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0xAB70, symBinAddr: 0x2D5FD0, symSize: 0x21A0 } - - { offsetInCU: 0x1118F, offset: 0x9B371, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0xEAC0, symBinAddr: 0x2D9F20, symSize: 0x2D1 } - - { offsetInCU: 0x117CF, offset: 0x9B9B1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0xCD10, symBinAddr: 0x2D8170, symSize: 0x20 } - - { offsetInCU: 0x11C6C, offset: 0x9BE4E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0xCD30, symBinAddr: 0x2D8190, symSize: 0x19B0 } - - { offsetInCU: 0x26, offset: 0x9CEFE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2DA200, symSize: 0x800 } - - { offsetInCU: 0x41, offset: 0x9CF19, size: 0x8, addend: 0x0, symName: _aes_nohw_rcon, symObjAddr: 0x1B10, symBinAddr: 0xA4EF40, symSize: 0x0 } - - { offsetInCU: 0x484, offset: 0x9D35C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2DA200, symSize: 0x800 } - - { offsetInCU: 0x1B2B, offset: 0x9EA03, size: 0x8, addend: 0x0, symName: _aes_nohw_sub_bytes, symObjAddr: 0x15F0, symBinAddr: 0x2DB7F0, symSize: 0x300 } - - { offsetInCU: 0x32EE, offset: 0xA01C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_encrypt, symObjAddr: 0x800, symBinAddr: 0x2DAA00, symSize: 0x80 } - - { offsetInCU: 0x33DC, offset: 0xA02B4, size: 0x8, addend: 0x0, symName: _aes_nohw_expand_round_keys, symObjAddr: 0x880, symBinAddr: 0x2DAA80, symSize: 0x1A0 } - - { offsetInCU: 0x386D, offset: 0xA0745, size: 0x8, addend: 0x0, symName: _aes_nohw_to_batch, symObjAddr: 0xA20, symBinAddr: 0x2DAC20, symSize: 0x420 } - - { offsetInCU: 0x3D7D, offset: 0xA0C55, size: 0x8, addend: 0x0, symName: _aes_nohw_encrypt_batch, symObjAddr: 0xE40, symBinAddr: 0x2DB040, symSize: 0x380 } - - { offsetInCU: 0x424C, offset: 0xA1124, size: 0x8, addend: 0x0, symName: _aes_nohw_from_batch, symObjAddr: 0x11C0, symBinAddr: 0x2DB3C0, symSize: 0x250 } - - { offsetInCU: 0x498D, offset: 0xA1865, size: 0x8, addend: 0x0, symName: _aes_nohw_shift_rows, symObjAddr: 0x18F0, symBinAddr: 0x2DBAF0, symSize: 0x149 } - - { offsetInCU: 0x4BF9, offset: 0xA1AD1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_ctr32_encrypt_blocks, symObjAddr: 0x1410, symBinAddr: 0x2DB610, symSize: 0x1E0 } - - { offsetInCU: 0x26, offset: 0xA1EF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2DBC40, symSize: 0x2DC } - - { offsetInCU: 0x1D2, offset: 0xA209E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2DBC40, symSize: 0x2DC } - - { offsetInCU: 0x26, offset: 0xA22F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2DBF20, symSize: 0x87 } - - { offsetInCU: 0x34, offset: 0xA2305, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2DBF20, symSize: 0x87 } - - { offsetInCU: 0x26, offset: 0xA2415, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2DBFB0, symSize: 0x46 } - - { offsetInCU: 0x34, offset: 0xA2423, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2DBFB0, symSize: 0x46 } - - { offsetInCU: 0x86, offset: 0xA2586, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x15F0, symBinAddr: 0xA4EFC0, symSize: 0x0 } - - { offsetInCU: 0xB8, offset: 0xA25B8, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1580, symBinAddr: 0xA4EF50, symSize: 0x0 } - - { offsetInCU: 0xDA, offset: 0xA25DA, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x15B0, symBinAddr: 0xA4EF80, symSize: 0x0 } - - { offsetInCU: 0xF0, offset: 0xA25F0, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x15E0, symBinAddr: 0xA4EFB0, symSize: 0x0 } - - { offsetInCU: 0x3B7, offset: 0xA28B7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x150, symBinAddr: 0x2DC000, symSize: 0x20 } - - { offsetInCU: 0x594, offset: 0xA2A94, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x250, symBinAddr: 0x2DC020, symSize: 0x20 } - - { offsetInCU: 0x63F, offset: 0xA2B3F, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x340, symBinAddr: 0x2DC040, symSize: 0x3A0 } - - { offsetInCU: 0x11A7, offset: 0xA36A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x6E0, symBinAddr: 0x2DC3E0, symSize: 0x140 } - - { offsetInCU: 0x14A2, offset: 0xA39A2, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x820, symBinAddr: 0x2DC520, symSize: 0x6B0 } - - { offsetInCU: 0x26DA, offset: 0xA4BDA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xED0, symBinAddr: 0x2DCBD0, symSize: 0x380 } - - { offsetInCU: 0x2D37, offset: 0xA5237, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0x1250, symBinAddr: 0x2DCF50, symSize: 0x170 } - - { offsetInCU: 0x2F2F, offset: 0xA542F, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0x13C0, symBinAddr: 0x2DD0C0, symSize: 0x1BF } - - { offsetInCU: 0x26, offset: 0xA577A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2DD280, symSize: 0x50 } - - { offsetInCU: 0xFA, offset: 0xA584E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2DD280, symSize: 0x50 } - - { offsetInCU: 0x18D, offset: 0xA58E1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x50, symBinAddr: 0x2DD2D0, symSize: 0x60 } - - { offsetInCU: 0x2F1, offset: 0xA5A45, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0xB0, symBinAddr: 0x2DD330, symSize: 0x90 } - - { offsetInCU: 0x4C6, offset: 0xA5C1A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0x140, symBinAddr: 0x2DD3C0, symSize: 0x20 } - - { offsetInCU: 0x5E3, offset: 0xA5D37, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0x160, symBinAddr: 0x2DD3E0, symSize: 0xB0 } - - { offsetInCU: 0x696, offset: 0xA5DEA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x210, symBinAddr: 0x2DD490, symSize: 0x70 } - - { offsetInCU: 0x861, offset: 0xA5FB5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x280, symBinAddr: 0x2DD500, symSize: 0x170 } - - { offsetInCU: 0xB67, offset: 0xA62BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x3F0, symBinAddr: 0x2DD670, symSize: 0x270 } - - { offsetInCU: 0xE6A, offset: 0xA65BE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x660, symBinAddr: 0x2DD8E0, symSize: 0x1A0 } - - { offsetInCU: 0x105D, offset: 0xA67B1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x800, symBinAddr: 0x2DDA80, symSize: 0x280 } - - { offsetInCU: 0x128C, offset: 0xA69E0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0xC20, symBinAddr: 0x2DDD00, symSize: 0x20 } - - { offsetInCU: 0x12F3, offset: 0xA6A47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0xC40, symBinAddr: 0x2DDD20, symSize: 0x20 } - - { offsetInCU: 0x132A, offset: 0xA6A7E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0xC60, symBinAddr: 0x2DDD40, symSize: 0x10 } - - { offsetInCU: 0x13AC, offset: 0xA6B00, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0xC70, symBinAddr: 0x2DDD50, symSize: 0x4A } - - { offsetInCU: 0x26, offset: 0xA6C8C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2DDDA0, symSize: 0x129 } - - { offsetInCU: 0x34, offset: 0xA6C9A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2DDDA0, symSize: 0x129 } - - { offsetInCU: 0x34, offset: 0xA6D9C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_ia32cap_P, symObjAddr: 0x3F0, symBinAddr: 0x124B140, symSize: 0x0 } - - { offsetInCU: 0x26, offset: 0xA6DF1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0x2DDED0, symSize: 0xF8 } - - { offsetInCU: 0xD5, offset: 0xA6EA0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0x2DDED0, symSize: 0xF8 } - - { offsetInCU: 0x26, offset: 0xA6FF5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0x2DDFD0, symSize: 0x1210 } - - { offsetInCU: 0x92E, offset: 0xA78FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0x2DDFD0, symSize: 0x1210 } - - { offsetInCU: 0x5347, offset: 0xAC316, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base_adx, symObjAddr: 0x1210, symBinAddr: 0x2DF1E0, symSize: 0x1E50 } - - { offsetInCU: 0x9B2F, offset: 0xB0AFE, size: 0x8, addend: 0x0, symName: _inline_x25519_ge_dbl_4, symObjAddr: 0x3060, symBinAddr: 0x2E1030, symSize: 0x361 } - - { offsetInCU: 0x26, offset: 0xB1EEB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0x2E13A0, symSize: 0xD0 } - - { offsetInCU: 0x303, offset: 0xB21C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0x2E13A0, symSize: 0xD0 } - - { offsetInCU: 0x5A4, offset: 0xB2469, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_update, symObjAddr: 0xD0, symBinAddr: 0x2E1470, symSize: 0x1C0 } - - { offsetInCU: 0x764, offset: 0xB2629, size: 0x8, addend: 0x0, symName: _poly1305_blocks, symObjAddr: 0x5F0, symBinAddr: 0x2E1990, symSize: 0x780 } - - { offsetInCU: 0x903, offset: 0xB27C8, size: 0x8, addend: 0x0, symName: _poly1305_first_block, symObjAddr: 0x290, symBinAddr: 0x2E1630, symSize: 0x360 } - - { offsetInCU: 0xEFC, offset: 0xB2DC1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_finish, symObjAddr: 0xD70, symBinAddr: 0x2E2110, symSize: 0xAA2 } - - { offsetInCU: 0x10, offset: 0xB354A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0x2E2BB2, symSize: 0x2AF } - - { offsetInCU: 0x51, offset: 0xB358B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0x2E2BB2, symSize: 0x2AF } - - { offsetInCU: 0x10, offset: 0xB3580, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0x2E2E61, symSize: 0x1F4 } - - { offsetInCU: 0x54, offset: 0xB35C4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0x2E2E61, symSize: 0x1F4 } - - { offsetInCU: 0x26, offset: 0xB35CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2E3060, symSize: 0x490 } - - { offsetInCU: 0x76, offset: 0xB361C, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0xA50000, symSize: 0x0 } - - { offsetInCU: 0xFA, offset: 0xB36A0, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0xA75000, symSize: 0x0 } - - { offsetInCU: 0x35B, offset: 0xB3901, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2E3060, symSize: 0x490 } - - { offsetInCU: 0xC5A, offset: 0xB4200, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x490, symBinAddr: 0x2E34F0, symSize: 0x300 } - - { offsetInCU: 0x1135, offset: 0xB46DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x790, symBinAddr: 0x2E37F0, symSize: 0x25D } - - { offsetInCU: 0x10, offset: 0xB4AA0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2E3A80, symSize: 0x3A0 } - - { offsetInCU: 0x48, offset: 0xB4AD8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2E3A80, symSize: 0x3A0 } - - { offsetInCU: 0x4D, offset: 0xB4ADD, size: 0x8, addend: 0x0, symName: ChaCha20_ssse3, symObjAddr: 0x3A0, symBinAddr: 0x2E3E20, symSize: 0x220 } - - { offsetInCU: 0x60, offset: 0xB4AF0, size: 0x8, addend: 0x0, symName: ChaCha20_4x, symObjAddr: 0x5C0, symBinAddr: 0x2E4040, symSize: 0xA20 } - - { offsetInCU: 0x76, offset: 0xB4B06, size: 0x8, addend: 0x0, symName: ChaCha20_8x, symObjAddr: 0xFE0, symBinAddr: 0x2E4A60, symSize: 0xB4C } - - { offsetInCU: 0x10, offset: 0xB4B18, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0x2E55C0, symSize: 0x40 } - - { offsetInCU: 0x48, offset: 0xB4B50, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0x2E55C0, symSize: 0x40 } - - { offsetInCU: 0x4D, offset: 0xB4B55, size: 0x8, addend: 0x0, symName: _aesni_encrypt2, symObjAddr: 0x40, symBinAddr: 0x2E5600, symSize: 0x60 } - - { offsetInCU: 0x63, offset: 0xB4B6B, size: 0x8, addend: 0x0, symName: _aesni_encrypt3, symObjAddr: 0xA0, symBinAddr: 0x2E5660, symSize: 0x70 } - - { offsetInCU: 0x79, offset: 0xB4B81, size: 0x8, addend: 0x0, symName: _aesni_encrypt4, symObjAddr: 0x110, symBinAddr: 0x2E56D0, symSize: 0x90 } - - { offsetInCU: 0x8F, offset: 0xB4B97, size: 0x8, addend: 0x0, symName: _aesni_encrypt6, symObjAddr: 0x1A0, symBinAddr: 0x2E5760, symSize: 0xE0 } - - { offsetInCU: 0xA5, offset: 0xB4BAD, size: 0x8, addend: 0x0, symName: _aesni_encrypt8, symObjAddr: 0x280, symBinAddr: 0x2E5840, symSize: 0x110 } - - { offsetInCU: 0xD9, offset: 0xB4BE1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x390, symBinAddr: 0x2E5950, symSize: 0x940 } - - { offsetInCU: 0xEA, offset: 0xB4BF2, size: 0x8, addend: 0x0, symName: __aesni_set_encrypt_key, symObjAddr: 0xCD0, symBinAddr: 0x2E6290, symSize: 0x44D } - - { offsetInCU: 0x10, offset: 0xB4BE8, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0x2E66E0, symSize: 0x160 } - - { offsetInCU: 0x3B, offset: 0xB4C13, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0x2E66E0, symSize: 0x160 } - - { offsetInCU: 0x54, offset: 0xB4C2C, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core_2x, symObjAddr: 0x160, symBinAddr: 0x2E6840, symSize: 0x290 } - - { offsetInCU: 0x68, offset: 0xB4C40, size: 0x8, addend: 0x0, symName: _vpaes_schedule_core, symObjAddr: 0x3F0, symBinAddr: 0x2E6AD0, symSize: 0xF0 } - - { offsetInCU: 0x7F, offset: 0xB4C57, size: 0x8, addend: 0x0, symName: _vpaes_schedule_round, symObjAddr: 0x4E0, symBinAddr: 0x2E6BC0, symSize: 0x21 } - - { offsetInCU: 0x99, offset: 0xB4C71, size: 0x8, addend: 0x0, symName: _vpaes_schedule_low_round, symObjAddr: 0x501, symBinAddr: 0x2E6BE1, symSize: 0x9F } - - { offsetInCU: 0xAF, offset: 0xB4C87, size: 0x8, addend: 0x0, symName: _vpaes_schedule_transform, symObjAddr: 0x5A0, symBinAddr: 0x2E6C80, symSize: 0x30 } - - { offsetInCU: 0xC2, offset: 0xB4C9A, size: 0x8, addend: 0x0, symName: _vpaes_schedule_mangle, symObjAddr: 0x5D0, symBinAddr: 0x2E6CB0, symSize: 0x50 } - - { offsetInCU: 0xE9, offset: 0xB4CC1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_set_encrypt_key, symObjAddr: 0x620, symBinAddr: 0x2E6D00, symSize: 0x30 } - - { offsetInCU: 0xF7, offset: 0xB4CCF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_encrypt, symObjAddr: 0x650, symBinAddr: 0x2E6D30, symSize: 0x20 } - - { offsetInCU: 0x11A, offset: 0xB4CF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_ctr32_encrypt_blocks, symObjAddr: 0x670, symBinAddr: 0x2E6D50, symSize: 0xD0 } - - { offsetInCU: 0x112, offset: 0xB4CEA, size: 0x8, addend: 0x0, symName: _vpaes_preheat, symObjAddr: 0x740, symBinAddr: 0x2E6E20, symSize: 0x31 } - - { offsetInCU: 0x10, offset: 0xB4CFA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2E6E60, symSize: 0x2A0 } - - { offsetInCU: 0x45, offset: 0xB4D2F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2E6E60, symSize: 0x2A0 } - - { offsetInCU: 0x4C, offset: 0xB4D36, size: 0x8, addend: 0x0, symName: bn_mul4x_mont, symObjAddr: 0x2A0, symBinAddr: 0x2E7100, symSize: 0x560 } - - { offsetInCU: 0x62, offset: 0xB4D4C, size: 0x8, addend: 0x0, symName: bn_sqr8x_mont, symObjAddr: 0x800, symBinAddr: 0x2E7660, symSize: 0x220 } - - { offsetInCU: 0x79, offset: 0xB4D63, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont, symObjAddr: 0xA20, symBinAddr: 0x2E7880, symSize: 0x570 } - - { offsetInCU: 0x10, offset: 0xB4D72, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0x2E7E00, symSize: 0x660 } - - { offsetInCU: 0x4D, offset: 0xB4DAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0x2E7E00, symSize: 0x660 } - - { offsetInCU: 0x54, offset: 0xB4DB6, size: 0x8, addend: 0x0, symName: bn_mul4x_mont_gather5, symObjAddr: 0x660, symBinAddr: 0x2E8460, symSize: 0x100 } - - { offsetInCU: 0x63, offset: 0xB4DC5, size: 0x8, addend: 0x0, symName: mul4x_internal, symObjAddr: 0x760, symBinAddr: 0x2E8560, symSize: 0x7E0 } - - { offsetInCU: 0x85, offset: 0xB4DE7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_power5, symObjAddr: 0xF40, symBinAddr: 0x2E8D40, symSize: 0x180 } - - { offsetInCU: 0xA3, offset: 0xB4E05, size: 0x8, addend: 0x0, symName: __bn_sqr8x_internal, symObjAddr: 0x10C0, symBinAddr: 0x2E8EC0, symSize: 0x579 } - - { offsetInCU: 0xAA, offset: 0xB4E0C, size: 0x8, addend: 0x0, symName: __bn_sqr8x_reduction, symObjAddr: 0x1639, symBinAddr: 0x2E9439, symSize: 0x347 } - - { offsetInCU: 0xC0, offset: 0xB4E22, size: 0x8, addend: 0x0, symName: __bn_post4x_internal, symObjAddr: 0x1980, symBinAddr: 0x2E9780, symSize: 0xA0 } - - { offsetInCU: 0xD9, offset: 0xB4E3B, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont_gather5, symObjAddr: 0x1A20, symBinAddr: 0x2E9820, symSize: 0xE0 } - - { offsetInCU: 0xE8, offset: 0xB4E4A, size: 0x8, addend: 0x0, symName: mulx4x_internal, symObjAddr: 0x1B00, symBinAddr: 0x2E9900, symSize: 0x7E0 } - - { offsetInCU: 0xF9, offset: 0xB4E5B, size: 0x8, addend: 0x0, symName: bn_powerx5, symObjAddr: 0x22E0, symBinAddr: 0x2EA0E0, symSize: 0x160 } - - { offsetInCU: 0x128, offset: 0xB4E8A, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_internal, symObjAddr: 0x2440, symBinAddr: 0x2EA240, symSize: 0x637 } - - { offsetInCU: 0x12F, offset: 0xB4E91, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_reduction, symObjAddr: 0x2A77, symBinAddr: 0x2EA877, symSize: 0x329 } - - { offsetInCU: 0x145, offset: 0xB4EA7, size: 0x8, addend: 0x0, symName: __bn_postx4x_internal, symObjAddr: 0x2DA0, symBinAddr: 0x2EABA0, symSize: 0x90 } - - { offsetInCU: 0x163, offset: 0xB4EC5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_scatter5, symObjAddr: 0x2E30, symBinAddr: 0x2EAC30, symSize: 0x30 } - - { offsetInCU: 0x178, offset: 0xB4EDA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_gather5, symObjAddr: 0x2E60, symBinAddr: 0x2EAC60, symSize: 0x27F } - - { offsetInCU: 0x10, offset: 0xB4EDC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0x2EAEE0, symSize: 0x80 } - - { offsetInCU: 0x4A, offset: 0xB4F16, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0x2EAEE0, symSize: 0x80 } - - { offsetInCU: 0x64, offset: 0xB4F30, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0x80, symBinAddr: 0x2EAF60, symSize: 0x360 } - - { offsetInCU: 0x7E, offset: 0xB4F4A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x3E0, symBinAddr: 0x2EB2C0, symSize: 0x300 } - - { offsetInCU: 0x85, offset: 0xB4F51, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_mul_montx, symObjAddr: 0x6E0, symBinAddr: 0x2EB5C0, symSize: 0x3C0 } - - { offsetInCU: 0x9B, offset: 0xB4F67, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_sqr_montx, symObjAddr: 0xAA0, symBinAddr: 0x2EB980, symSize: 0x320 } - - { offsetInCU: 0xB5, offset: 0xB4F81, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0xDC0, symBinAddr: 0x2EBCA0, symSize: 0xA0 } - - { offsetInCU: 0xC4, offset: 0xB4F90, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montq, symObjAddr: 0xE60, symBinAddr: 0x2EBD40, symSize: 0x240 } - - { offsetInCU: 0xE1, offset: 0xB4FAD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x10A0, symBinAddr: 0x2EBF80, symSize: 0x80 } - - { offsetInCU: 0xF0, offset: 0xB4FBC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montq, symObjAddr: 0x1120, symBinAddr: 0x2EC000, symSize: 0x1A0 } - - { offsetInCU: 0x106, offset: 0xB4FD2, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montx, symObjAddr: 0x12C0, symBinAddr: 0x2EC1A0, symSize: 0x260 } - - { offsetInCU: 0x11C, offset: 0xB4FE8, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montx, symObjAddr: 0x1520, symBinAddr: 0x2EC400, symSize: 0x1C0 } - - { offsetInCU: 0x142, offset: 0xB500E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x16E0, symBinAddr: 0x2EC5C0, symSize: 0xE0 } - - { offsetInCU: 0x158, offset: 0xB5024, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x17C0, symBinAddr: 0x2EC6A0, symSize: 0xC0 } - - { offsetInCU: 0x162, offset: 0xB502E, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w5, symObjAddr: 0x1880, symBinAddr: 0x2EC760, symSize: 0xC0 } - - { offsetInCU: 0x178, offset: 0xB5044, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w7, symObjAddr: 0x1940, symBinAddr: 0x2EC820, symSize: 0xE0 } - - { offsetInCU: 0x188, offset: 0xB5054, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_toq, symObjAddr: 0x1A20, symBinAddr: 0x2EC900, symSize: 0x60 } - - { offsetInCU: 0x1A0, offset: 0xB506C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromq, symObjAddr: 0x1A80, symBinAddr: 0x2EC960, symSize: 0x60 } - - { offsetInCU: 0x1B1, offset: 0xB507D, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subq, symObjAddr: 0x1AE0, symBinAddr: 0x2EC9C0, symSize: 0x40 } - - { offsetInCU: 0x1CC, offset: 0xB5098, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2q, symObjAddr: 0x1B20, symBinAddr: 0x2ECA00, symSize: 0x60 } - - { offsetInCU: 0x1ED, offset: 0xB50B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x1B80, symBinAddr: 0x2ECA60, symSize: 0x320 } - - { offsetInCU: 0x200, offset: 0xB50CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x1EA0, symBinAddr: 0x2ECD80, symSize: 0x780 } - - { offsetInCU: 0x21D, offset: 0xB50E9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0x2620, symBinAddr: 0x2ED500, symSize: 0x580 } - - { offsetInCU: 0x222, offset: 0xB50EE, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_tox, symObjAddr: 0x2BA0, symBinAddr: 0x2EDA80, symSize: 0x60 } - - { offsetInCU: 0x23A, offset: 0xB5106, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromx, symObjAddr: 0x2C00, symBinAddr: 0x2EDAE0, symSize: 0x60 } - - { offsetInCU: 0x24B, offset: 0xB5117, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subx, symObjAddr: 0x2C60, symBinAddr: 0x2EDB40, symSize: 0x60 } - - { offsetInCU: 0x266, offset: 0xB5132, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2x, symObjAddr: 0x2CC0, symBinAddr: 0x2EDBA0, symSize: 0x60 } - - { offsetInCU: 0x27F, offset: 0xB514B, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_doublex, symObjAddr: 0x2D20, symBinAddr: 0x2EDC00, symSize: 0x320 } - - { offsetInCU: 0x292, offset: 0xB515E, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_addx, symObjAddr: 0x3040, symBinAddr: 0x2EDF20, symSize: 0x760 } - - { offsetInCU: 0x2AF, offset: 0xB517B, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_add_affinex, symObjAddr: 0x37A0, symBinAddr: 0x2EE680, symSize: 0x555 } - - { offsetInCU: 0x10, offset: 0xB517A, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0x2EEBE0, symSize: 0x5A0 } - - { offsetInCU: 0x3D, offset: 0xB51A7, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0x2EEBE0, symSize: 0x5A0 } - - { offsetInCU: 0x61, offset: 0xB51CB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_decrypt, symObjAddr: 0x5A0, symBinAddr: 0x2EF180, symSize: 0x140 } - - { offsetInCU: 0x63, offset: 0xB51CD, size: 0x8, addend: 0x0, symName: _aesni_ctr32_6x, symObjAddr: 0x6E0, symBinAddr: 0x2EF2C0, symSize: 0x180 } - - { offsetInCU: 0x8D, offset: 0xB51F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_encrypt, symObjAddr: 0x860, symBinAddr: 0x2EF440, symSize: 0x423 } - - { offsetInCU: 0x10, offset: 0xB51F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2EF880, symSize: 0x260 } - - { offsetInCU: 0x48, offset: 0xB522A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2EF880, symSize: 0x260 } - - { offsetInCU: 0x5F, offset: 0xB5241, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x260, symBinAddr: 0x2EFAE0, symSize: 0xC0 } - - { offsetInCU: 0x75, offset: 0xB5257, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x320, symBinAddr: 0x2EFBA0, symSize: 0x660 } - - { offsetInCU: 0x88, offset: 0xB526A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_avx, symObjAddr: 0x980, symBinAddr: 0x2F0200, symSize: 0x1A0 } - - { offsetInCU: 0x9F, offset: 0xB5281, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_avx, symObjAddr: 0xB20, symBinAddr: 0x2F03A0, symSize: 0x697 } - - { offsetInCU: 0x10, offset: 0xB5280, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2F0A40, symSize: 0x1240 } - - { offsetInCU: 0x51, offset: 0xB52C1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2F0A40, symSize: 0x1240 } - - { offsetInCU: 0x5A, offset: 0xB52CA, size: 0x8, addend: 0x0, symName: sha512_block_data_order_avx, symObjAddr: 0x1240, symBinAddr: 0x2F1C80, symSize: 0x1176 } - - { offsetInCU: 0x10, offset: 0xB52CC, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0x2F2E00, symSize: 0x200 } - - { offsetInCU: 0x44, offset: 0xB5300, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0x2F2E00, symSize: 0x200 } - - { offsetInCU: 0x66, offset: 0xB5322, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x200, symBinAddr: 0x2F3000, symSize: 0x21C0 } - - { offsetInCU: 0x7C, offset: 0xB5338, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x23C0, symBinAddr: 0x2F51C0, symSize: 0x1D2D } - - { offsetInCU: 0x83, offset: 0xB533F, size: 0x8, addend: 0x0, symName: process_extra_in_trailer, symObjAddr: 0x40ED, symBinAddr: 0x2F6EED, symSize: 0x553 } - - { offsetInCU: 0x9C, offset: 0xB5358, size: 0x8, addend: 0x0, symName: chacha20_poly1305_open_avx2, symObjAddr: 0x4640, symBinAddr: 0x2F7440, symSize: 0x25C0 } - - { offsetInCU: 0xB2, offset: 0xB536E, size: 0x8, addend: 0x0, symName: chacha20_poly1305_seal_avx2, symObjAddr: 0x6C00, symBinAddr: 0x2F9A00, symSize: 0x2F01 } - - { offsetInCU: 0x10, offset: 0xB5370, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2FC940, symSize: 0x1200 } - - { offsetInCU: 0x51, offset: 0xB53B1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2FC940, symSize: 0x1200 } - - { offsetInCU: 0x5D, offset: 0xB53BD, size: 0x8, addend: 0x0, symName: sha256_block_data_order_shaext, symObjAddr: 0x1200, symBinAddr: 0x2FDB40, symSize: 0x340 } - - { offsetInCU: 0x72, offset: 0xB53D2, size: 0x8, addend: 0x0, symName: sha256_block_data_order_ssse3, symObjAddr: 0x1540, symBinAddr: 0x2FDE80, symSize: 0xEC0 } - - { offsetInCU: 0x86, offset: 0xB53E6, size: 0x8, addend: 0x0, symName: sha256_block_data_order_avx, symObjAddr: 0x2400, symBinAddr: 0x2FED40, symSize: 0xEF7 } + - { offsetInCU: 0x34, offset: 0x78EE9, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0xA1F000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x78F1E, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0xA1F038, symSize: 0x0 } + - { offsetInCU: 0x3F, offset: 0x78F73, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x40, symBinAddr: 0x1D80, symSize: 0x10 } + - { offsetInCU: 0x53, offset: 0x78F87, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x50, symBinAddr: 0x1D90, symSize: 0x10 } + - { offsetInCU: 0x67, offset: 0x78F9B, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x60, symBinAddr: 0x1DA0, symSize: 0x20 } + - { offsetInCU: 0x7B, offset: 0x78FAF, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x80, symBinAddr: 0x1DC0, symSize: 0x30 } + - { offsetInCU: 0x8F, offset: 0x78FC3, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0xD0, symBinAddr: 0x1E10, symSize: 0x30 } + - { offsetInCU: 0xA3, offset: 0x78FD7, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0x100, symBinAddr: 0x1E40, symSize: 0x20 } + - { offsetInCU: 0xB7, offset: 0x78FEB, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0x120, symBinAddr: 0x1E60, symSize: 0x20 } + - { offsetInCU: 0xCB, offset: 0x78FFF, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0x140, symBinAddr: 0x1E80, symSize: 0x30 } + - { offsetInCU: 0x4F, offset: 0x791E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x30B0, symBinAddr: 0x12D2E60, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x79202, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x30B8, symBinAddr: 0x12D2E68, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x79236, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x10, symBinAddr: 0x1F50, symSize: 0x40 } + - { offsetInCU: 0xF3, offset: 0x7928C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x60, symBinAddr: 0x1FA0, symSize: 0x60 } + - { offsetInCU: 0x144, offset: 0x792DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xD0, symBinAddr: 0x2010, symSize: 0x40 } + - { offsetInCU: 0x19F, offset: 0x79338, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x120, symBinAddr: 0x2060, symSize: 0x50 } + - { offsetInCU: 0x204, offset: 0x7939D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x180, symBinAddr: 0x20C0, symSize: 0x60 } + - { offsetInCU: 0x27D, offset: 0x79416, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1F0, symBinAddr: 0x2130, symSize: 0x90 } + - { offsetInCU: 0x2DA, offset: 0x79473, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x290, symBinAddr: 0x21D0, symSize: 0x20 } + - { offsetInCU: 0x35C, offset: 0x794F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x2C0, symBinAddr: 0x2200, symSize: 0x20 } + - { offsetInCU: 0x40B, offset: 0x795A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x350, symBinAddr: 0x2290, symSize: 0x80 } + - { offsetInCU: 0x4D0, offset: 0x79669, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x440, symBinAddr: 0x2380, symSize: 0x80 } + - { offsetInCU: 0x59F, offset: 0x79738, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x530, symBinAddr: 0x2470, symSize: 0x80 } + - { offsetInCU: 0x669, offset: 0x79802, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x630, symBinAddr: 0x2570, symSize: 0x90 } + - { offsetInCU: 0x701, offset: 0x7989A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x6D0, symBinAddr: 0x2610, symSize: 0x10 } + - { offsetInCU: 0x768, offset: 0x79901, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x6F0, symBinAddr: 0x2630, symSize: 0x10 } + - { offsetInCU: 0x7BF, offset: 0x79958, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x710, symBinAddr: 0x2650, symSize: 0x10 } + - { offsetInCU: 0x816, offset: 0x799AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x730, symBinAddr: 0x2670, symSize: 0x10 } + - { offsetInCU: 0x86D, offset: 0x79A06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x750, symBinAddr: 0x2690, symSize: 0x10 } + - { offsetInCU: 0x8C4, offset: 0x79A5D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x770, symBinAddr: 0x26B0, symSize: 0x10 } + - { offsetInCU: 0x943, offset: 0x79ADC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x790, symBinAddr: 0x26D0, symSize: 0x40 } + - { offsetInCU: 0x9EE, offset: 0x79B87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x7E0, symBinAddr: 0x2720, symSize: 0x20 } + - { offsetInCU: 0xA61, offset: 0x79BFA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x810, symBinAddr: 0x2750, symSize: 0x10 } + - { offsetInCU: 0xAB8, offset: 0x79C51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x880, symBinAddr: 0x27C0, symSize: 0x70 } + - { offsetInCU: 0xB43, offset: 0x79CDC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0xA90, symBinAddr: 0x29D0, symSize: 0xA0 } + - { offsetInCU: 0xB94, offset: 0x79D2D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xD90, symBinAddr: 0x2CD0, symSize: 0xA0 } + - { offsetInCU: 0xBE5, offset: 0x79D7E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0x10F0, symBinAddr: 0x3030, symSize: 0xA0 } + - { offsetInCU: 0xC41, offset: 0x79DDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1540, symBinAddr: 0x3480, symSize: 0xD0 } + - { offsetInCU: 0xC89, offset: 0x79E22, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x1620, symBinAddr: 0x3560, symSize: 0x40 } + - { offsetInCU: 0xCE9, offset: 0x79E82, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x16B0, symBinAddr: 0x35F0, symSize: 0x30 } + - { offsetInCU: 0xD3C, offset: 0x79ED5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1720, symBinAddr: 0x3660, symSize: 0x300 } + - { offsetInCU: 0xF6C, offset: 0x7A105, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x1A20, symBinAddr: 0x3960, symSize: 0x260 } + - { offsetInCU: 0x1166, offset: 0x7A2FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1C80, symBinAddr: 0x3BC0, symSize: 0xD0 } + - { offsetInCU: 0x1263, offset: 0x7A3FC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1D50, symBinAddr: 0x3C90, symSize: 0x1B0 } + - { offsetInCU: 0x13D8, offset: 0x7A571, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1F00, symBinAddr: 0x3E40, symSize: 0x1D0 } + - { offsetInCU: 0x156D, offset: 0x7A706, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x20D0, symBinAddr: 0x4010, symSize: 0x200 } + - { offsetInCU: 0x1759, offset: 0x7A8F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x22D0, symBinAddr: 0x4210, symSize: 0x1D0 } + - { offsetInCU: 0x1823, offset: 0x7A9BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x2660, symBinAddr: 0x45A0, symSize: 0x200 } + - { offsetInCU: 0x1904, offset: 0x7AA9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x2860, symBinAddr: 0x47A0, symSize: 0x110 } + - { offsetInCU: 0x19AF, offset: 0x7AB48, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0xB30, symBinAddr: 0x2A70, symSize: 0x70 } + - { offsetInCU: 0x19C7, offset: 0x7AB60, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xE30, symBinAddr: 0x2D70, symSize: 0x50 } + - { offsetInCU: 0x1A34, offset: 0x7ABCD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x1710, symBinAddr: 0x3650, symSize: 0x10 } + - { offsetInCU: 0x1ABF, offset: 0x7AC58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x2970, symBinAddr: 0x48B0, symSize: 0x20 } + - { offsetInCU: 0x1AD3, offset: 0x7AC6C, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x29B0, symBinAddr: 0x48F0, symSize: 0x10 } + - { offsetInCU: 0x1AF2, offset: 0x7AC8B, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x29C0, symBinAddr: 0x4900, symSize: 0x20 } + - { offsetInCU: 0x1B1B, offset: 0x7ACB4, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x29E0, symBinAddr: 0x4920, symSize: 0x10 } + - { offsetInCU: 0x1B2F, offset: 0x7ACC8, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x29F0, symBinAddr: 0x4930, symSize: 0x30 } + - { offsetInCU: 0x1B43, offset: 0x7ACDC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x2A70, symBinAddr: 0x49B0, symSize: 0x40 } + - { offsetInCU: 0x1B57, offset: 0x7ACF0, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2AB0, symBinAddr: 0x49F0, symSize: 0x20 } + - { offsetInCU: 0x1B6B, offset: 0x7AD04, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2AD0, symBinAddr: 0x4A10, symSize: 0x10 } + - { offsetInCU: 0x1B7F, offset: 0x7AD18, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2B00, symBinAddr: 0x4A40, symSize: 0x40 } + - { offsetInCU: 0x1BB3, offset: 0x7AD4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2BC0, symBinAddr: 0x4B00, symSize: 0x40 } + - { offsetInCU: 0x1BF1, offset: 0x7AD8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2C00, symBinAddr: 0x4B40, symSize: 0x20 } + - { offsetInCU: 0x1C25, offset: 0x7ADBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2CB0, symBinAddr: 0x4BF0, symSize: 0x40 } + - { offsetInCU: 0x1C59, offset: 0x7ADF2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2D20, symBinAddr: 0x4C60, symSize: 0x30 } + - { offsetInCU: 0x1C95, offset: 0x7AE2E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2DA0, symBinAddr: 0x4CE0, symSize: 0x30 } + - { offsetInCU: 0x1CA9, offset: 0x7AE42, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2DD0, symBinAddr: 0x4D10, symSize: 0x40 } + - { offsetInCU: 0x2176, offset: 0x7B30F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x1F40, symSize: 0x10 } + - { offsetInCU: 0x2191, offset: 0x7B32A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x50, symBinAddr: 0x1F90, symSize: 0x10 } + - { offsetInCU: 0x21AC, offset: 0x7B345, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xC0, symBinAddr: 0x2000, symSize: 0x10 } + - { offsetInCU: 0x21CD, offset: 0x7B366, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x110, symBinAddr: 0x2050, symSize: 0x10 } + - { offsetInCU: 0x21E8, offset: 0x7B381, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x170, symBinAddr: 0x20B0, symSize: 0x10 } + - { offsetInCU: 0x2203, offset: 0x7B39C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1E0, symBinAddr: 0x2120, symSize: 0x10 } + - { offsetInCU: 0x221E, offset: 0x7B3B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x280, symBinAddr: 0x21C0, symSize: 0x10 } + - { offsetInCU: 0x22AC, offset: 0x7B445, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x2B0, symBinAddr: 0x21F0, symSize: 0x10 } + - { offsetInCU: 0x232B, offset: 0x7B4C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x2E0, symBinAddr: 0x2220, symSize: 0x70 } + - { offsetInCU: 0x247D, offset: 0x7B616, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x3D0, symBinAddr: 0x2310, symSize: 0x70 } + - { offsetInCU: 0x25DB, offset: 0x7B774, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x4C0, symBinAddr: 0x2400, symSize: 0x70 } + - { offsetInCU: 0x2739, offset: 0x7B8D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x5B0, symBinAddr: 0x24F0, symSize: 0x80 } + - { offsetInCU: 0x28AD, offset: 0x7BA46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x6C0, symBinAddr: 0x2600, symSize: 0x10 } + - { offsetInCU: 0x291D, offset: 0x7BAB6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x6E0, symBinAddr: 0x2620, symSize: 0x10 } + - { offsetInCU: 0x2960, offset: 0x7BAF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x700, symBinAddr: 0x2640, symSize: 0x10 } + - { offsetInCU: 0x29A5, offset: 0x7BB3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x720, symBinAddr: 0x2660, symSize: 0x10 } + - { offsetInCU: 0x29E8, offset: 0x7BB81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x740, symBinAddr: 0x2680, symSize: 0x10 } + - { offsetInCU: 0x2A2B, offset: 0x7BBC4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x760, symBinAddr: 0x26A0, symSize: 0x10 } + - { offsetInCU: 0x2A6E, offset: 0x7BC07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x780, symBinAddr: 0x26C0, symSize: 0x10 } + - { offsetInCU: 0x2B54, offset: 0x7BCED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x7D0, symBinAddr: 0x2710, symSize: 0x10 } + - { offsetInCU: 0x2BD3, offset: 0x7BD6C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x800, symBinAddr: 0x2740, symSize: 0x10 } + - { offsetInCU: 0x2C16, offset: 0x7BDAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x820, symBinAddr: 0x2760, symSize: 0x60 } + - { offsetInCU: 0x2CD7, offset: 0x7BE70, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x8F0, symBinAddr: 0x2830, symSize: 0x10 } + - { offsetInCU: 0x2CEB, offset: 0x7BE84, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x900, symBinAddr: 0x2840, symSize: 0x190 } + - { offsetInCU: 0x2D8B, offset: 0x7BF24, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0xBA0, symBinAddr: 0x2AE0, symSize: 0x30 } + - { offsetInCU: 0x2D9F, offset: 0x7BF38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0xBD0, symBinAddr: 0x2B10, symSize: 0x1C0 } + - { offsetInCU: 0x2E89, offset: 0x7C022, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xE80, symBinAddr: 0x2DC0, symSize: 0x30 } + - { offsetInCU: 0x2E9D, offset: 0x7C036, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xEB0, symBinAddr: 0x2DF0, symSize: 0x240 } + - { offsetInCU: 0x2F51, offset: 0x7C0EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0x1190, symBinAddr: 0x30D0, symSize: 0x10 } + - { offsetInCU: 0x2F65, offset: 0x7C0FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0x11A0, symBinAddr: 0x30E0, symSize: 0x3A0 } + - { offsetInCU: 0x31FB, offset: 0x7C394, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1610, symBinAddr: 0x3550, symSize: 0x10 } + - { offsetInCU: 0x3216, offset: 0x7C3AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x1660, symBinAddr: 0x35A0, symSize: 0x20 } + - { offsetInCU: 0x322A, offset: 0x7C3C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x1680, symBinAddr: 0x35C0, symSize: 0x30 } + - { offsetInCU: 0x3260, offset: 0x7C3F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x16E0, symBinAddr: 0x3620, symSize: 0x30 } + - { offsetInCU: 0x4F, offset: 0x7C631, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x5C38, symBinAddr: 0x12D2EA0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x7C64B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x5C40, symBinAddr: 0x12D2EA8, symSize: 0x0 } + - { offsetInCU: 0x83, offset: 0x7C665, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x5C48, symBinAddr: 0x12D2EB0, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x7C67F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x5C50, symBinAddr: 0x12D2EB8, symSize: 0x0 } + - { offsetInCU: 0xAB, offset: 0x7C68D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0x4FE0, symSize: 0x60 } + - { offsetInCU: 0xF0, offset: 0x7C6D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x60, symBinAddr: 0x5040, symSize: 0x30 } + - { offsetInCU: 0x135, offset: 0x7C717, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xD0, symBinAddr: 0x50B0, symSize: 0x40 } + - { offsetInCU: 0x187, offset: 0x7C769, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x1B0, symBinAddr: 0x5190, symSize: 0x20 } + - { offsetInCU: 0x1DD, offset: 0x7C7BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1D0, symBinAddr: 0x51B0, symSize: 0x20 } + - { offsetInCU: 0x236, offset: 0x7C818, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1F0, symBinAddr: 0x51D0, symSize: 0x20 } + - { offsetInCU: 0x28C, offset: 0x7C86E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x210, symBinAddr: 0x51F0, symSize: 0x20 } + - { offsetInCU: 0x2E5, offset: 0x7C8C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x320, symBinAddr: 0x5300, symSize: 0x40 } + - { offsetInCU: 0x320, offset: 0x7C902, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x390, symBinAddr: 0x5370, symSize: 0x30 } + - { offsetInCU: 0x3AF, offset: 0x7C991, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x5D0, symBinAddr: 0x55B0, symSize: 0x40 } + - { offsetInCU: 0x405, offset: 0x7C9E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x640, symBinAddr: 0x5620, symSize: 0x40 } + - { offsetInCU: 0x45E, offset: 0x7CA40, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x680, symBinAddr: 0x5660, symSize: 0x40 } + - { offsetInCU: 0x4B4, offset: 0x7CA96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x6F0, symBinAddr: 0x56D0, symSize: 0x40 } + - { offsetInCU: 0x50D, offset: 0x7CAEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x730, symBinAddr: 0x5710, symSize: 0x20 } + - { offsetInCU: 0x563, offset: 0x7CB45, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x750, symBinAddr: 0x5730, symSize: 0x20 } + - { offsetInCU: 0x5BC, offset: 0x7CB9E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x770, symBinAddr: 0x5750, symSize: 0x20 } + - { offsetInCU: 0x614, offset: 0x7CBF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x790, symBinAddr: 0x5770, symSize: 0x30 } + - { offsetInCU: 0x66D, offset: 0x7CC4F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7C0, symBinAddr: 0x57A0, symSize: 0x20 } + - { offsetInCU: 0x6C5, offset: 0x7CCA7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x7E0, symBinAddr: 0x57C0, symSize: 0x30 } + - { offsetInCU: 0x71E, offset: 0x7CD00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x810, symBinAddr: 0x57F0, symSize: 0x20 } + - { offsetInCU: 0x774, offset: 0x7CD56, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x830, symBinAddr: 0x5810, symSize: 0x10 } + - { offsetInCU: 0x7CD, offset: 0x7CDAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x840, symBinAddr: 0x5820, symSize: 0x20 } + - { offsetInCU: 0x823, offset: 0x7CE05, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x860, symBinAddr: 0x5840, symSize: 0x10 } + - { offsetInCU: 0x866, offset: 0x7CE48, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x870, symBinAddr: 0x5850, symSize: 0x30 } + - { offsetInCU: 0x898, offset: 0x7CE7A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x960, symBinAddr: 0x5940, symSize: 0x30 } + - { offsetInCU: 0x8E0, offset: 0x7CEC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA50, symBinAddr: 0x5A30, symSize: 0x30 } + - { offsetInCU: 0x948, offset: 0x7CF2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xAB0, symBinAddr: 0x5A90, symSize: 0x30 } + - { offsetInCU: 0x9E7, offset: 0x7CFC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xB20, symBinAddr: 0x5B00, symSize: 0xD0 } + - { offsetInCU: 0xA96, offset: 0x7D078, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xDA0, symBinAddr: 0x5D80, symSize: 0x30 } + - { offsetInCU: 0xB46, offset: 0x7D128, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x1760, symBinAddr: 0x6740, symSize: 0xD0 } + - { offsetInCU: 0xBB0, offset: 0x7D192, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x1A70, symBinAddr: 0x6A50, symSize: 0x90 } + - { offsetInCU: 0xBED, offset: 0x7D1CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1BF0, symBinAddr: 0x6BD0, symSize: 0x100 } + - { offsetInCU: 0xC6B, offset: 0x7D24D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1DC0, symBinAddr: 0x6DA0, symSize: 0x40 } + - { offsetInCU: 0xC9E, offset: 0x7D280, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1E00, symBinAddr: 0x6DE0, symSize: 0x20 } + - { offsetInCU: 0xCF8, offset: 0x7D2DA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1E20, symBinAddr: 0x6E00, symSize: 0x30 } + - { offsetInCU: 0xD53, offset: 0x7D335, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1E90, symBinAddr: 0x6E70, symSize: 0x40 } + - { offsetInCU: 0xDE9, offset: 0x7D3CB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1F10, symBinAddr: 0x6EF0, symSize: 0x60 } + - { offsetInCU: 0xEAE, offset: 0x7D490, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1FD0, symBinAddr: 0x6FB0, symSize: 0xA0 } + - { offsetInCU: 0xF3B, offset: 0x7D51D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x20C0, symBinAddr: 0x70A0, symSize: 0x70 } + - { offsetInCU: 0xF9D, offset: 0x7D57F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x21D0, symBinAddr: 0x71B0, symSize: 0x70 } + - { offsetInCU: 0xFFA, offset: 0x7D5DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2240, symBinAddr: 0x7220, symSize: 0xB0 } + - { offsetInCU: 0x104A, offset: 0x7D62C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x23B0, symBinAddr: 0x7390, symSize: 0x90 } + - { offsetInCU: 0x10DA, offset: 0x7D6BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x3160, symBinAddr: 0x8140, symSize: 0x30 } + - { offsetInCU: 0x112F, offset: 0x7D711, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x3D20, symBinAddr: 0x8D00, symSize: 0x30 } + - { offsetInCU: 0x1162, offset: 0x7D744, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3D50, symBinAddr: 0x8D30, symSize: 0x20 } + - { offsetInCU: 0x11BA, offset: 0x7D79C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x3D70, symBinAddr: 0x8D50, symSize: 0x30 } + - { offsetInCU: 0x1228, offset: 0x7D80A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x3E20, symBinAddr: 0x8E00, symSize: 0x30 } + - { offsetInCU: 0x1282, offset: 0x7D864, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3E50, symBinAddr: 0x8E30, symSize: 0x30 } + - { offsetInCU: 0x12E2, offset: 0x7D8C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3EB0, symBinAddr: 0x8E90, symSize: 0x30 } + - { offsetInCU: 0x1426, offset: 0x7DA08, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x4290, symBinAddr: 0x9270, symSize: 0x30 } + - { offsetInCU: 0x1459, offset: 0x7DA3B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x45B0, symBinAddr: 0x9590, symSize: 0x20 } + - { offsetInCU: 0x1494, offset: 0x7DA76, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x46A0, symBinAddr: 0x9680, symSize: 0x30 } + - { offsetInCU: 0x14C7, offset: 0x7DAA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x50D0, symBinAddr: 0xA0B0, symSize: 0x2A0 } + - { offsetInCU: 0x162F, offset: 0x7DC11, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x5440, symBinAddr: 0xA420, symSize: 0xC0 } + - { offsetInCU: 0x184B, offset: 0x7DE2D, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x2090, symBinAddr: 0x7070, symSize: 0x30 } + - { offsetInCU: 0x1863, offset: 0x7DE45, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2340, symBinAddr: 0x7320, symSize: 0x70 } + - { offsetInCU: 0x187B, offset: 0x7DE5D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x24A0, symBinAddr: 0x7480, symSize: 0x90 } + - { offsetInCU: 0x18B3, offset: 0x7DE95, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x2530, symBinAddr: 0x7510, symSize: 0xC0 } + - { offsetInCU: 0x18F3, offset: 0x7DED5, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x25F0, symBinAddr: 0x75D0, symSize: 0x70 } + - { offsetInCU: 0x19A3, offset: 0x7DF85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x45D0, symBinAddr: 0x95B0, symSize: 0xC0 } + - { offsetInCU: 0x19D3, offset: 0x7DFB5, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x46D0, symBinAddr: 0x96B0, symSize: 0x20 } + - { offsetInCU: 0x19E7, offset: 0x7DFC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x46F0, symBinAddr: 0x96D0, symSize: 0x20 } + - { offsetInCU: 0x19FB, offset: 0x7DFDD, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x4710, symBinAddr: 0x96F0, symSize: 0x60 } + - { offsetInCU: 0x1C02, offset: 0x7E1E4, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x5370, symBinAddr: 0xA350, symSize: 0x40 } + - { offsetInCU: 0x1C16, offset: 0x7E1F8, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x53B0, symBinAddr: 0xA390, symSize: 0x30 } + - { offsetInCU: 0x1C2A, offset: 0x7E20C, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x53E0, symBinAddr: 0xA3C0, symSize: 0x30 } + - { offsetInCU: 0x1C3E, offset: 0x7E220, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x5410, symBinAddr: 0xA3F0, symSize: 0x30 } + - { offsetInCU: 0x1C5D, offset: 0x7E23F, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x59A0, symBinAddr: 0xA980, symSize: 0x40 } + - { offsetInCU: 0x1C86, offset: 0x7E268, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x59E0, symBinAddr: 0xA9C0, symSize: 0x20 } + - { offsetInCU: 0x1C9A, offset: 0x7E27C, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x5A00, symBinAddr: 0xA9E0, symSize: 0x10 } + - { offsetInCU: 0x1CAE, offset: 0x7E290, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5A10, symBinAddr: 0xA9F0, symSize: 0x20 } + - { offsetInCU: 0x1CCD, offset: 0x7E2AF, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5A30, symBinAddr: 0xAA10, symSize: 0x10 } + - { offsetInCU: 0x1CF6, offset: 0x7E2D8, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5A60, symBinAddr: 0xAA40, symSize: 0x20 } + - { offsetInCU: 0x1D15, offset: 0x7E2F7, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x5A80, symBinAddr: 0xAA60, symSize: 0x30 } + - { offsetInCU: 0x1D3E, offset: 0x7E320, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x5AB0, symBinAddr: 0xAA90, symSize: 0x20 } + - { offsetInCU: 0x1D52, offset: 0x7E334, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x5B00, symBinAddr: 0xAAE0, symSize: 0x30 } + - { offsetInCU: 0x1FD7, offset: 0x7E5B9, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4FE0, symBinAddr: 0x9FC0, symSize: 0xF0 } + - { offsetInCU: 0x2469, offset: 0x7EA4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x360, symBinAddr: 0x5340, symSize: 0x30 } + - { offsetInCU: 0x249A, offset: 0x7EA7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x3C0, symBinAddr: 0x53A0, symSize: 0xE0 } + - { offsetInCU: 0x24E4, offset: 0x7EAC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x4A0, symBinAddr: 0x5480, symSize: 0x50 } + - { offsetInCU: 0x2507, offset: 0x7EAE9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x4F0, symBinAddr: 0x54D0, symSize: 0xE0 } + - { offsetInCU: 0x2548, offset: 0x7EB2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x610, symBinAddr: 0x55F0, symSize: 0x30 } + - { offsetInCU: 0x259E, offset: 0x7EB80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x6C0, symBinAddr: 0x56A0, symSize: 0x30 } + - { offsetInCU: 0x270A, offset: 0x7ECEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x8A0, symBinAddr: 0x5880, symSize: 0xC0 } + - { offsetInCU: 0x282F, offset: 0x7EE11, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x990, symBinAddr: 0x5970, symSize: 0xC0 } + - { offsetInCU: 0x2975, offset: 0x7EF57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xA80, symBinAddr: 0x5A60, symSize: 0x30 } + - { offsetInCU: 0x29BB, offset: 0x7EF9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xAE0, symBinAddr: 0x5AC0, symSize: 0x30 } + - { offsetInCU: 0x29ED, offset: 0x7EFCF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xB10, symBinAddr: 0x5AF0, symSize: 0x10 } + - { offsetInCU: 0x2B6A, offset: 0x7F14C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xBF0, symBinAddr: 0x5BD0, symSize: 0x1B0 } + - { offsetInCU: 0x2F4D, offset: 0x7F52F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xDD0, symBinAddr: 0x5DB0, symSize: 0x990 } + - { offsetInCU: 0x36DB, offset: 0x7FCBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x1830, symBinAddr: 0x6810, symSize: 0x240 } + - { offsetInCU: 0x3B67, offset: 0x80149, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x1B00, symBinAddr: 0x6AE0, symSize: 0xF0 } + - { offsetInCU: 0x3BF6, offset: 0x801D8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1CF0, symBinAddr: 0x6CD0, symSize: 0xD0 } + - { offsetInCU: 0x3D4F, offset: 0x80331, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1E50, symBinAddr: 0x6E30, symSize: 0x40 } + - { offsetInCU: 0x3DD3, offset: 0x803B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1ED0, symBinAddr: 0x6EB0, symSize: 0x40 } + - { offsetInCU: 0x3EF2, offset: 0x804D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1F70, symBinAddr: 0x6F50, symSize: 0x60 } + - { offsetInCU: 0x3FE8, offset: 0x805CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x22F0, symBinAddr: 0x72D0, symSize: 0x50 } + - { offsetInCU: 0x4032, offset: 0x80614, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x2440, symBinAddr: 0x7420, symSize: 0x60 } + - { offsetInCU: 0x4059, offset: 0x8063B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x2660, symBinAddr: 0x7640, symSize: 0x40 } + - { offsetInCU: 0x407F, offset: 0x80661, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x26A0, symBinAddr: 0x7680, symSize: 0x10 } + - { offsetInCU: 0x4141, offset: 0x80723, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x26B0, symBinAddr: 0x7690, symSize: 0xAB0 } + - { offsetInCU: 0x4366, offset: 0x80948, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x3190, symBinAddr: 0x8170, symSize: 0x80 } + - { offsetInCU: 0x438F, offset: 0x80971, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x3210, symBinAddr: 0x81F0, symSize: 0xB10 } + - { offsetInCU: 0x45D5, offset: 0x80BB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3DA0, symBinAddr: 0x8D80, symSize: 0x80 } + - { offsetInCU: 0x46CB, offset: 0x80CAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3E80, symBinAddr: 0x8E60, symSize: 0x30 } + - { offsetInCU: 0x4767, offset: 0x80D49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3EE0, symBinAddr: 0x8EC0, symSize: 0x110 } + - { offsetInCU: 0x49B8, offset: 0x80F9A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3FF0, symBinAddr: 0x8FD0, symSize: 0x2A0 } + - { offsetInCU: 0x4C14, offset: 0x811F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x42C0, symBinAddr: 0x92A0, symSize: 0x2F0 } + - { offsetInCU: 0x4CA2, offset: 0x81284, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x4690, symBinAddr: 0x9670, symSize: 0x10 } + - { offsetInCU: 0x4CCA, offset: 0x812AC, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x4770, symBinAddr: 0x9750, symSize: 0x60 } + - { offsetInCU: 0x4D24, offset: 0x81306, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x47D0, symBinAddr: 0x97B0, symSize: 0x60 } + - { offsetInCU: 0x4D90, offset: 0x81372, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4830, symBinAddr: 0x9810, symSize: 0xB0 } + - { offsetInCU: 0x4DCD, offset: 0x813AF, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x48E0, symBinAddr: 0x98C0, symSize: 0xE0 } + - { offsetInCU: 0x4E38, offset: 0x8141A, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x49C0, symBinAddr: 0x99A0, symSize: 0x260 } + - { offsetInCU: 0x4EE0, offset: 0x814C2, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x4C20, symBinAddr: 0x9C00, symSize: 0x3C0 } + - { offsetInCU: 0x27, offset: 0x81716, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xABC0, symSize: 0x20 } + - { offsetInCU: 0x62, offset: 0x81751, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x20, symBinAddr: 0xABE0, symSize: 0x14 } + - { offsetInCU: 0x1AF, offset: 0x8189E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xABC0, symSize: 0x20 } + - { offsetInCU: 0x65, offset: 0x8192B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xAC00, symSize: 0x10 } + - { offsetInCU: 0xBB, offset: 0x81981, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xAC10, symSize: 0x10 } + - { offsetInCU: 0x114, offset: 0x819DA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0xAC20, symSize: 0x40 } + - { offsetInCU: 0x16A, offset: 0x81A30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x60, symBinAddr: 0xAC60, symSize: 0x40 } + - { offsetInCU: 0x1C3, offset: 0x81A89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xA0, symBinAddr: 0xACA0, symSize: 0x40 } + - { offsetInCU: 0x219, offset: 0x81ADF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xE0, symBinAddr: 0xACE0, symSize: 0x40 } + - { offsetInCU: 0x272, offset: 0x81B38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x120, symBinAddr: 0xAD20, symSize: 0x20 } + - { offsetInCU: 0x2C8, offset: 0x81B8E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x140, symBinAddr: 0xAD40, symSize: 0x20 } + - { offsetInCU: 0x321, offset: 0x81BE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x160, symBinAddr: 0xAD60, symSize: 0x20 } + - { offsetInCU: 0x377, offset: 0x81C3D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x180, symBinAddr: 0xAD80, symSize: 0x20 } + - { offsetInCU: 0x3D0, offset: 0x81C96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x1A0, symBinAddr: 0xADA0, symSize: 0x40 } + - { offsetInCU: 0x426, offset: 0x81CEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1E0, symBinAddr: 0xADE0, symSize: 0x40 } + - { offsetInCU: 0x47F, offset: 0x81D45, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x220, symBinAddr: 0xAE20, symSize: 0x10 } + - { offsetInCU: 0x4D5, offset: 0x81D9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x230, symBinAddr: 0xAE30, symSize: 0x10 } + - { offsetInCU: 0x52E, offset: 0x81DF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x240, symBinAddr: 0xAE40, symSize: 0x10 } + - { offsetInCU: 0x584, offset: 0x81E4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x250, symBinAddr: 0xAE50, symSize: 0x10 } + - { offsetInCU: 0x5DD, offset: 0x81EA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x260, symBinAddr: 0xAE60, symSize: 0x40 } + - { offsetInCU: 0x633, offset: 0x81EF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x2A0, symBinAddr: 0xAEA0, symSize: 0x40 } + - { offsetInCU: 0x676, offset: 0x81F3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2E0, symBinAddr: 0xAEE0, symSize: 0x10 } + - { offsetInCU: 0x692, offset: 0x81F58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2F0, symBinAddr: 0xAEF0, symSize: 0x30 } + - { offsetInCU: 0x6C4, offset: 0x81F8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x320, symBinAddr: 0xAF20, symSize: 0x20 } + - { offsetInCU: 0x71C, offset: 0x81FE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x340, symBinAddr: 0xAF40, symSize: 0x30 } + - { offsetInCU: 0x775, offset: 0x8203B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x490, symBinAddr: 0xB090, symSize: 0x20 } + - { offsetInCU: 0x7CB, offset: 0x82091, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x4B0, symBinAddr: 0xB0B0, symSize: 0x20 } + - { offsetInCU: 0x83A, offset: 0x82100, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x680, symBinAddr: 0xB240, symSize: 0x20 } + - { offsetInCU: 0x86C, offset: 0x82132, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x7E0, symBinAddr: 0xB3A0, symSize: 0x30 } + - { offsetInCU: 0x8C4, offset: 0x8218A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x830, symBinAddr: 0xB3F0, symSize: 0x80 } + - { offsetInCU: 0x928, offset: 0x821EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x8B0, symBinAddr: 0xB470, symSize: 0x80 } + - { offsetInCU: 0x9CA, offset: 0x82290, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xCE0, symBinAddr: 0xB8A0, symSize: 0x30 } + - { offsetInCU: 0xAB4, offset: 0x8237A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x660, symBinAddr: 0xB220, symSize: 0x20 } + - { offsetInCU: 0xB33, offset: 0x823F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xD40, symBinAddr: 0xB900, symSize: 0x60 } + - { offsetInCU: 0x1271, offset: 0x82B37, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x4D0, symBinAddr: 0xB0D0, symSize: 0x20 } + - { offsetInCU: 0x128B, offset: 0x82B51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x4F0, symBinAddr: 0xB0F0, symSize: 0x130 } + - { offsetInCU: 0x12BB, offset: 0x82B81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x6A0, symBinAddr: 0xB260, symSize: 0x140 } + - { offsetInCU: 0x1474, offset: 0x82D3A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x810, symBinAddr: 0xB3D0, symSize: 0x20 } + - { offsetInCU: 0x1525, offset: 0x82DEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x930, symBinAddr: 0xB4F0, symSize: 0x3B0 } + - { offsetInCU: 0x18BB, offset: 0x83181, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xD10, symBinAddr: 0xB8D0, symSize: 0x30 } + - { offsetInCU: 0x19B4, offset: 0x8327A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xDA0, symBinAddr: 0xB960, symSize: 0x720 } + - { offsetInCU: 0x231C, offset: 0x83BE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x1520, symBinAddr: 0xC0E0, symSize: 0x7EC } + - { offsetInCU: 0x10C, offset: 0x8478B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0x1120, symBinAddr: 0xD9B0, symSize: 0x60 } + - { offsetInCU: 0x19C, offset: 0x8481B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0x11A0, symBinAddr: 0xDA30, symSize: 0x20 } + - { offsetInCU: 0x1CB, offset: 0x8484A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0x11C0, symBinAddr: 0xDA50, symSize: 0x10 } + - { offsetInCU: 0x368, offset: 0x849E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x1A40, symBinAddr: 0xE2D0, symSize: 0x30 } + - { offsetInCU: 0x5E4, offset: 0x84C63, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1AC0, symBinAddr: 0xE350, symSize: 0x60 } + - { offsetInCU: 0x613, offset: 0x84C92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x1B20, symBinAddr: 0xE3B0, symSize: 0x20 } + - { offsetInCU: 0x627, offset: 0x84CA6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x1B40, symBinAddr: 0xE3D0, symSize: 0x20 } + - { offsetInCU: 0x63B, offset: 0x84CBA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x1B60, symBinAddr: 0xE3F0, symSize: 0x30 } + - { offsetInCU: 0x64F, offset: 0x84CCE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x1B90, symBinAddr: 0xE420, symSize: 0x10 } + - { offsetInCU: 0x663, offset: 0x84CE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1BA0, symBinAddr: 0xE430, symSize: 0x30 } + - { offsetInCU: 0x677, offset: 0x84CF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1BD0, symBinAddr: 0xE460, symSize: 0x50 } + - { offsetInCU: 0x68B, offset: 0x84D0A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x1C40, symBinAddr: 0xE4B0, symSize: 0x40 } + - { offsetInCU: 0x69F, offset: 0x84D1E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x1C80, symBinAddr: 0xE4F0, symSize: 0x40 } + - { offsetInCU: 0x6B3, offset: 0x84D32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1CC0, symBinAddr: 0xE530, symSize: 0x50 } + - { offsetInCU: 0x6C7, offset: 0x84D46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1D10, symBinAddr: 0xE580, symSize: 0x10 } + - { offsetInCU: 0x6DB, offset: 0x84D5A, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1D20, symBinAddr: 0xE590, symSize: 0x40 } + - { offsetInCU: 0x6EF, offset: 0x84D6E, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1E30, symBinAddr: 0xE5D0, symSize: 0x50 } + - { offsetInCU: 0x703, offset: 0x84D82, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1E80, symBinAddr: 0xE620, symSize: 0x20 } + - { offsetInCU: 0x761, offset: 0x84DE0, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x21A0, symBinAddr: 0xE940, symSize: 0x14 } + - { offsetInCU: 0xCB4, offset: 0x85333, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0xC8D0, symSize: 0x630 } + - { offsetInCU: 0xF39, offset: 0x855B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x650, symBinAddr: 0xCF20, symSize: 0xE0 } + - { offsetInCU: 0xFB8, offset: 0x85637, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x800, symBinAddr: 0xD0B0, symSize: 0xB0 } + - { offsetInCU: 0x102A, offset: 0x856A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0x1030, symBinAddr: 0xD8C0, symSize: 0xF0 } + - { offsetInCU: 0x1179, offset: 0x857F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x1590, symBinAddr: 0xDE20, symSize: 0x4B0 } + - { offsetInCU: 0x18C2, offset: 0x85F41, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1EA0, symBinAddr: 0xE640, symSize: 0x20 } + - { offsetInCU: 0x195A, offset: 0x85FD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1EC0, symBinAddr: 0xE660, symSize: 0x1F0 } + - { offsetInCU: 0x27, offset: 0x861A2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xE960, symSize: 0x30 } + - { offsetInCU: 0x4B, offset: 0x861C6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2A0, symBinAddr: 0x12D31C8, symSize: 0x0 } + - { offsetInCU: 0x65, offset: 0x861E0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xE960, symSize: 0x30 } + - { offsetInCU: 0x98, offset: 0x86213, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x160, symBinAddr: 0xEAC0, symSize: 0x30 } + - { offsetInCU: 0x104, offset: 0x8627F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x200, symBinAddr: 0xEB60, symSize: 0x30 } + - { offsetInCU: 0x158, offset: 0x862D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x30, symBinAddr: 0xE990, symSize: 0xF0 } + - { offsetInCU: 0x183, offset: 0x862FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x1E0, symBinAddr: 0xEB40, symSize: 0x20 } + - { offsetInCU: 0x197, offset: 0x86312, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x260, symBinAddr: 0xEBC0, symSize: 0x10 } + - { offsetInCU: 0x1C2, offset: 0x8633D, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x270, symBinAddr: 0xEBD0, symSize: 0x2F } + - { offsetInCU: 0x34A, offset: 0x864C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x120, symBinAddr: 0xEA80, symSize: 0x40 } + - { offsetInCU: 0x38A, offset: 0x86505, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x190, symBinAddr: 0xEAF0, symSize: 0x20 } + - { offsetInCU: 0x39E, offset: 0x86519, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1B0, symBinAddr: 0xEB10, symSize: 0x30 } + - { offsetInCU: 0x3DA, offset: 0x86555, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x230, symBinAddr: 0xEB90, symSize: 0x30 } + - { offsetInCU: 0x2B, offset: 0x865A3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xEC00, symSize: 0xA0 } + - { offsetInCU: 0x66, offset: 0x865DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA0, symBinAddr: 0xECA0, symSize: 0xA0 } + - { offsetInCU: 0xF9, offset: 0x86671, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D0, symBinAddr: 0xEDD0, symSize: 0x100 } + - { offsetInCU: 0x1AD, offset: 0x86725, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x300, symBinAddr: 0xEF00, symSize: 0x30 } + - { offsetInCU: 0x22D, offset: 0x867A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x340, symBinAddr: 0xEF40, symSize: 0x90 } + - { offsetInCU: 0x2A6, offset: 0x8681E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4E0, symBinAddr: 0xF0E0, symSize: 0x140 } + - { offsetInCU: 0x345, offset: 0x868BD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x670, symBinAddr: 0xF270, symSize: 0x30 } + - { offsetInCU: 0x398, offset: 0x86910, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6D0, symBinAddr: 0xF2D0, symSize: 0x170 } + - { offsetInCU: 0x50B, offset: 0x86A83, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x840, symBinAddr: 0xF440, symSize: 0x310 } + - { offsetInCU: 0x5EA, offset: 0x86B62, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB50, symBinAddr: 0xF750, symSize: 0x20 } + - { offsetInCU: 0x5FE, offset: 0x86B76, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB70, symBinAddr: 0xF770, symSize: 0x30 } + - { offsetInCU: 0x612, offset: 0x86B8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xBA0, symBinAddr: 0xF7A0, symSize: 0x30 } + - { offsetInCU: 0x626, offset: 0x86B9E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBD0, symBinAddr: 0xF7D0, symSize: 0x10 } + - { offsetInCU: 0x63A, offset: 0x86BB2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBE0, symBinAddr: 0xF7E0, symSize: 0x40 } + - { offsetInCU: 0x64E, offset: 0x86BC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC30, symBinAddr: 0xF820, symSize: 0x30 } + - { offsetInCU: 0x662, offset: 0x86BDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC60, symBinAddr: 0xF850, symSize: 0x40 } + - { offsetInCU: 0x676, offset: 0x86BEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xCA0, symBinAddr: 0xF890, symSize: 0x40 } + - { offsetInCU: 0x68A, offset: 0x86C02, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCE0, symBinAddr: 0xF8D0, symSize: 0x10 } + - { offsetInCU: 0x69E, offset: 0x86C16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCF0, symBinAddr: 0xF8E0, symSize: 0x10 } + - { offsetInCU: 0x6B2, offset: 0x86C2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xD00, symBinAddr: 0xF8F0, symSize: 0x10 } + - { offsetInCU: 0x6C6, offset: 0x86C3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xD10, symBinAddr: 0xF900, symSize: 0x10 } + - { offsetInCU: 0x74E, offset: 0x86CC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D0, symBinAddr: 0xEFD0, symSize: 0x10 } + - { offsetInCU: 0x76A, offset: 0x86CE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3E0, symBinAddr: 0xEFE0, symSize: 0x10 } + - { offsetInCU: 0x786, offset: 0x86CFE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3F0, symBinAddr: 0xEFF0, symSize: 0x10 } + - { offsetInCU: 0x7A2, offset: 0x86D1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x400, symBinAddr: 0xF000, symSize: 0x10 } + - { offsetInCU: 0xA56, offset: 0x86FCE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xEC00, symSize: 0xA0 } + - { offsetInCU: 0xAEC, offset: 0x87064, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x140, symBinAddr: 0xED40, symSize: 0x90 } + - { offsetInCU: 0xC71, offset: 0x871E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2D0, symBinAddr: 0xEED0, symSize: 0x30 } + - { offsetInCU: 0xCBB, offset: 0x87233, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x330, symBinAddr: 0xEF30, symSize: 0x10 } + - { offsetInCU: 0xCDD, offset: 0x87255, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x410, symBinAddr: 0xF010, symSize: 0xD0 } + - { offsetInCU: 0xD8D, offset: 0x87305, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x620, symBinAddr: 0xF220, symSize: 0x20 } + - { offsetInCU: 0xDA1, offset: 0x87319, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x640, symBinAddr: 0xF240, symSize: 0x30 } + - { offsetInCU: 0xDD7, offset: 0x8734F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6A0, symBinAddr: 0xF2A0, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x8746F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0xF920, symSize: 0x10 } + - { offsetInCU: 0x71, offset: 0x874B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x10, symBinAddr: 0xF930, symSize: 0x60 } + - { offsetInCU: 0xF6, offset: 0x8753E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x80, symBinAddr: 0xF9A0, symSize: 0x50 } + - { offsetInCU: 0x193, offset: 0x875DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xE0, symBinAddr: 0xFA00, symSize: 0x60 } + - { offsetInCU: 0x25C, offset: 0x876A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x150, symBinAddr: 0xFA70, symSize: 0x90 } + - { offsetInCU: 0x339, offset: 0x87781, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x230, symBinAddr: 0xFB50, symSize: 0x30 } + - { offsetInCU: 0x38D, offset: 0x877D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x290, symBinAddr: 0xFBB0, symSize: 0x14 } + - { offsetInCU: 0x4FD, offset: 0x87945, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0xF920, symSize: 0x10 } + - { offsetInCU: 0x5A0, offset: 0x879E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x70, symBinAddr: 0xF990, symSize: 0x10 } + - { offsetInCU: 0x640, offset: 0x87A88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xD0, symBinAddr: 0xF9F0, symSize: 0x10 } + - { offsetInCU: 0x703, offset: 0x87B4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x140, symBinAddr: 0xFA60, symSize: 0x10 } + - { offsetInCU: 0x80F, offset: 0x87C57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1E0, symBinAddr: 0xFB00, symSize: 0x20 } + - { offsetInCU: 0x823, offset: 0x87C6B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x200, symBinAddr: 0xFB20, symSize: 0x30 } + - { offsetInCU: 0x859, offset: 0x87CA1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x260, symBinAddr: 0xFB80, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x87CEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0xFBD0, symSize: 0x30 } + - { offsetInCU: 0xA9, offset: 0x87D6D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x30, symBinAddr: 0xFC00, symSize: 0x50 } + - { offsetInCU: 0x1A6, offset: 0x87E6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0xC0, symBinAddr: 0xFC90, symSize: 0x50 } + - { offsetInCU: 0x289, offset: 0x87F4D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x180, symBinAddr: 0xFD50, symSize: 0x30 } + - { offsetInCU: 0x2DD, offset: 0x87FA1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0x160, symBinAddr: 0xFD30, symSize: 0x20 } + - { offsetInCU: 0x487, offset: 0x8814B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0xFBD0, symSize: 0x30 } + - { offsetInCU: 0x5DD, offset: 0x882A1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x80, symBinAddr: 0xFC50, symSize: 0x40 } + - { offsetInCU: 0x725, offset: 0x883E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0x110, symBinAddr: 0xFCE0, symSize: 0x20 } + - { offsetInCU: 0x739, offset: 0x883FD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0x130, symBinAddr: 0xFD00, symSize: 0x30 } + - { offsetInCU: 0x76F, offset: 0x88433, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x1B0, symBinAddr: 0xFD80, symSize: 0x2B } + - { offsetInCU: 0x61, offset: 0x884B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x10, symBinAddr: 0xFDC0, symSize: 0x20 } + - { offsetInCU: 0xB7, offset: 0x8850D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x30, symBinAddr: 0xFDE0, symSize: 0x10 } + - { offsetInCU: 0x110, offset: 0x88566, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x40, symBinAddr: 0xFDF0, symSize: 0x40 } + - { offsetInCU: 0x168, offset: 0x885BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xC0, symBinAddr: 0xFE70, symSize: 0x40 } + - { offsetInCU: 0x1C3, offset: 0x88619, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x100, symBinAddr: 0xFEB0, symSize: 0x10 } + - { offsetInCU: 0x219, offset: 0x8866F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x110, symBinAddr: 0xFEC0, symSize: 0x10 } + - { offsetInCU: 0x272, offset: 0x886C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1C0, symBinAddr: 0xFF70, symSize: 0x80 } + - { offsetInCU: 0x2CA, offset: 0x88720, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x300, symBinAddr: 0x100B0, symSize: 0xA0 } + - { offsetInCU: 0x32C, offset: 0x88782, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x470, symBinAddr: 0x10220, symSize: 0x30 } + - { offsetInCU: 0x35E, offset: 0x887B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x520, symBinAddr: 0x10250, symSize: 0xA0 } + - { offsetInCU: 0x3DF, offset: 0x88835, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x600, symBinAddr: 0x102F0, symSize: 0x60 } + - { offsetInCU: 0x44F, offset: 0x888A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x670, symBinAddr: 0x10360, symSize: 0x50 } + - { offsetInCU: 0x4C1, offset: 0x88917, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x780, symBinAddr: 0x10470, symSize: 0x30 } + - { offsetInCU: 0x535, offset: 0x8898B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x1A0, symBinAddr: 0xFF50, symSize: 0x20 } + - { offsetInCU: 0x55F, offset: 0x889B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x7D0, symBinAddr: 0x104C0, symSize: 0x20 } + - { offsetInCU: 0x65D, offset: 0x88AB3, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xAF0, symBinAddr: 0x107E0, symSize: 0x80 } + - { offsetInCU: 0x69B, offset: 0x88AF1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xB70, symBinAddr: 0x10860, symSize: 0x20 } + - { offsetInCU: 0x6F1, offset: 0x88B47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xB90, symBinAddr: 0x10880, symSize: 0x10 } + - { offsetInCU: 0x74A, offset: 0x88BA0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xBA0, symBinAddr: 0x10890, symSize: 0x20 } + - { offsetInCU: 0x7A2, offset: 0x88BF8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xBC0, symBinAddr: 0x108B0, symSize: 0x20 } + - { offsetInCU: 0x7FD, offset: 0x88C53, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xBE0, symBinAddr: 0x108D0, symSize: 0x40 } + - { offsetInCU: 0x853, offset: 0x88CA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xC50, symBinAddr: 0x10940, symSize: 0x40 } + - { offsetInCU: 0x8E6, offset: 0x88D3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xDC0, symBinAddr: 0x10AB0, symSize: 0x80 } + - { offsetInCU: 0x93E, offset: 0x88D94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x10C80, symSize: 0xA0 } + - { offsetInCU: 0x9A0, offset: 0x88DF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x10E0, symBinAddr: 0x10DD0, symSize: 0x30 } + - { offsetInCU: 0x9D2, offset: 0x88E28, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0x1110, symBinAddr: 0x10E00, symSize: 0xB0 } + - { offsetInCU: 0xA53, offset: 0x88EA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x11D0, symBinAddr: 0x10EB0, symSize: 0x30 } + - { offsetInCU: 0xAB1, offset: 0x88F07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x1250, symBinAddr: 0x10F30, symSize: 0x20 } + - { offsetInCU: 0xC63, offset: 0x890B9, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfC12CanvasNative15NSCTouchHandlerC7PointerV_Tgm5', symObjAddr: 0x1470, symBinAddr: 0x110A0, symSize: 0x80 } + - { offsetInCU: 0xCE6, offset: 0x8913C, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgm5', symObjAddr: 0x1570, symBinAddr: 0x11120, symSize: 0x70 } + - { offsetInCU: 0xD6A, offset: 0x891C0, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x1750, symBinAddr: 0x11300, symSize: 0x40 } + - { offsetInCU: 0xD7E, offset: 0x891D4, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x1790, symBinAddr: 0x11340, symSize: 0x40 } + - { offsetInCU: 0xD92, offset: 0x891E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x17D0, symBinAddr: 0x11380, symSize: 0x20 } + - { offsetInCU: 0xE6C, offset: 0x892C2, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x1650, symBinAddr: 0x11200, symSize: 0x100 } + - { offsetInCU: 0x112B, offset: 0x89581, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x80, symBinAddr: 0xFE30, symSize: 0x40 } + - { offsetInCU: 0x11A8, offset: 0x895FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x120, symBinAddr: 0xFED0, symSize: 0x80 } + - { offsetInCU: 0x11EF, offset: 0x89645, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x240, symBinAddr: 0xFFF0, symSize: 0xC0 } + - { offsetInCU: 0x1251, offset: 0x896A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x3A0, symBinAddr: 0x10150, symSize: 0xD0 } + - { offsetInCU: 0x12DA, offset: 0x89730, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x660, symBinAddr: 0x10350, symSize: 0x10 } + - { offsetInCU: 0x12FB, offset: 0x89751, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x6C0, symBinAddr: 0x103B0, symSize: 0x90 } + - { offsetInCU: 0x130F, offset: 0x89765, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x750, symBinAddr: 0x10440, symSize: 0x30 } + - { offsetInCU: 0x1428, offset: 0x8987E, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x7F0, symBinAddr: 0x104E0, symSize: 0x300 } + - { offsetInCU: 0x17D2, offset: 0x89C28, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xC20, symBinAddr: 0x10910, symSize: 0x30 } + - { offsetInCU: 0x180F, offset: 0x89C65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xC90, symBinAddr: 0x10980, symSize: 0x40 } + - { offsetInCU: 0x1836, offset: 0x89C8C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xCD0, symBinAddr: 0x109C0, symSize: 0x40 } + - { offsetInCU: 0x185B, offset: 0x89CB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xD10, symBinAddr: 0x10A00, symSize: 0x10 } + - { offsetInCU: 0x1882, offset: 0x89CD8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xD20, symBinAddr: 0x10A10, symSize: 0x20 } + - { offsetInCU: 0x1896, offset: 0x89CEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xD40, symBinAddr: 0x10A30, symSize: 0x80 } + - { offsetInCU: 0x18DD, offset: 0x89D33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xED0, symBinAddr: 0x10BC0, symSize: 0xC0 } + - { offsetInCU: 0x193A, offset: 0x89D90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1030, symBinAddr: 0x10D20, symSize: 0xB0 } + - { offsetInCU: 0x19D6, offset: 0x89E2C, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1270, symBinAddr: 0x10F50, symSize: 0xB0 } + - { offsetInCU: 0x1AB8, offset: 0x89F0E, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x13D0, symBinAddr: 0x11000, symSize: 0xA0 } + - { offsetInCU: 0x1BC4, offset: 0x8A01A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x15E0, symBinAddr: 0x11190, symSize: 0x70 } + - { offsetInCU: 0x1CBF, offset: 0x8A115, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x17F0, symBinAddr: 0x113A0, symSize: 0x410 } + - { offsetInCU: 0x4F, offset: 0x8A52D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x980, symBinAddr: 0x12D3310, symSize: 0x0 } + - { offsetInCU: 0x5D, offset: 0x8A53B, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x119A0, symSize: 0x30 } + - { offsetInCU: 0x75, offset: 0x8A553, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x30, symBinAddr: 0x119D0, symSize: 0xF0 } + - { offsetInCU: 0xBC, offset: 0x8A59A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x130, symBinAddr: 0x11AD0, symSize: 0x40 } + - { offsetInCU: 0x130, offset: 0x8A60E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3C0, symBinAddr: 0x11D60, symSize: 0x80 } + - { offsetInCU: 0x18F, offset: 0x8A66D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x490, symBinAddr: 0x11E30, symSize: 0x30 } + - { offsetInCU: 0x1E2, offset: 0x8A6C0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x500, symBinAddr: 0x11EA0, symSize: 0x200 } + - { offsetInCU: 0x261, offset: 0x8A73F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x4F0, symBinAddr: 0x11E90, symSize: 0x10 } + - { offsetInCU: 0x29D, offset: 0x8A77B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x700, symBinAddr: 0x120A0, symSize: 0x20 } + - { offsetInCU: 0x2BC, offset: 0x8A79A, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x740, symBinAddr: 0x120E0, symSize: 0x20 } + - { offsetInCU: 0x2E5, offset: 0x8A7C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x790, symBinAddr: 0x12130, symSize: 0x20 } + - { offsetInCU: 0x2F9, offset: 0x8A7D7, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x7B0, symBinAddr: 0x12150, symSize: 0x20 } + - { offsetInCU: 0x30D, offset: 0x8A7EB, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x7D0, symBinAddr: 0x12170, symSize: 0x10 } + - { offsetInCU: 0x321, offset: 0x8A7FF, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGMa', symObjAddr: 0x850, symBinAddr: 0x121B0, symSize: 0x50 } + - { offsetInCU: 0x335, offset: 0x8A813, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8D0, symBinAddr: 0x12200, symSize: 0x20 } + - { offsetInCU: 0x369, offset: 0x8A847, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x910, symBinAddr: 0x12240, symSize: 0x20 } + - { offsetInCU: 0x4FE, offset: 0x8A9DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x120, symBinAddr: 0x11AC0, symSize: 0x10 } + - { offsetInCU: 0x58B, offset: 0x8AA69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x170, symBinAddr: 0x11B10, symSize: 0x10 } + - { offsetInCU: 0x59F, offset: 0x8AA7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x180, symBinAddr: 0x11B20, symSize: 0x240 } + - { offsetInCU: 0x678, offset: 0x8AB56, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x440, symBinAddr: 0x11DE0, symSize: 0x20 } + - { offsetInCU: 0x68C, offset: 0x8AB6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x460, symBinAddr: 0x11E00, symSize: 0x30 } + - { offsetInCU: 0x6C2, offset: 0x8ABA0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4C0, symBinAddr: 0x11E60, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x8AC46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x122B0, symSize: 0x20 } + - { offsetInCU: 0x77, offset: 0x8AC96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x12320, symSize: 0x30 } + - { offsetInCU: 0xCB, offset: 0x8ACEA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x12300, symSize: 0x20 } + - { offsetInCU: 0x216, offset: 0x8AE35, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x122B0, symSize: 0x20 } + - { offsetInCU: 0x22A, offset: 0x8AE49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x122D0, symSize: 0x30 } + - { offsetInCU: 0x266, offset: 0x8AE85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xA0, symBinAddr: 0x12350, symSize: 0x2B } + - { offsetInCU: 0x26, offset: 0x8AECE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x348B60, symSize: 0x3990 } + - { offsetInCU: 0x40, offset: 0x8AEE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0xEEC0, symBinAddr: 0xAD3690, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0x8AF3A, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0x14EC0, symBinAddr: 0xAD9690, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0x8AF9E, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0x14EE8, symBinAddr: 0xAD96B8, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0x8AFB4, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x152F0, symBinAddr: 0xAD9AC0, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0x8AFCB, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0x14F30, symBinAddr: 0xAD9700, symSize: 0x0 } + - { offsetInCU: 0xE22, offset: 0x8BCCA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x348B60, symSize: 0x3990 } + - { offsetInCU: 0x4DAE, offset: 0x8FC56, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0xE6E0, symBinAddr: 0x357240, symSize: 0x3E0 } + - { offsetInCU: 0x4FF1, offset: 0x8FE99, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x7C20, symBinAddr: 0x350780, symSize: 0x270 } + - { offsetInCU: 0x582C, offset: 0x906D4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x3990, symBinAddr: 0x34C4F0, symSize: 0xA10 } + - { offsetInCU: 0x684B, offset: 0x916F3, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x43A0, symBinAddr: 0x34CF00, symSize: 0xA10 } + - { offsetInCU: 0x6EE9, offset: 0x91D91, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x4DB0, symBinAddr: 0x34D910, symSize: 0x2B0 } + - { offsetInCU: 0x74BC, offset: 0x92364, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x5060, symBinAddr: 0x34DBC0, symSize: 0xCD0 } + - { offsetInCU: 0x83FE, offset: 0x932A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x5D30, symBinAddr: 0x34E890, symSize: 0xB40 } + - { offsetInCU: 0x8F67, offset: 0x93E0F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x6870, symBinAddr: 0x34F3D0, symSize: 0x13B0 } + - { offsetInCU: 0xA567, offset: 0x9540F, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x7FF0, symBinAddr: 0x350B50, symSize: 0x2A30 } + - { offsetInCU: 0xDC6D, offset: 0x98B15, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x7E90, symBinAddr: 0x3509F0, symSize: 0x160 } + - { offsetInCU: 0xDEE7, offset: 0x98D8F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0xAA20, symBinAddr: 0x353580, symSize: 0x30 } + - { offsetInCU: 0xDFDC, offset: 0x98E84, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0xAA50, symBinAddr: 0x3535B0, symSize: 0x50 } + - { offsetInCU: 0xE051, offset: 0x98EF9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0xAAA0, symBinAddr: 0x353600, symSize: 0x10 } + - { offsetInCU: 0xE0EC, offset: 0x98F94, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0xAAB0, symBinAddr: 0x353610, symSize: 0xB0 } + - { offsetInCU: 0xE217, offset: 0x990BF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0xAB60, symBinAddr: 0x3536C0, symSize: 0x10 } + - { offsetInCU: 0xE4E9, offset: 0x99391, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0xAB70, symBinAddr: 0x3536D0, symSize: 0x21A0 } + - { offsetInCU: 0x1118F, offset: 0x9C037, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0xEAC0, symBinAddr: 0x357620, symSize: 0x2D1 } + - { offsetInCU: 0x117CF, offset: 0x9C677, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0xCD10, symBinAddr: 0x355870, symSize: 0x20 } + - { offsetInCU: 0x11C6C, offset: 0x9CB14, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0xCD30, symBinAddr: 0x355890, symSize: 0x19B0 } + - { offsetInCU: 0x26, offset: 0x9DBC4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x357900, symSize: 0x800 } + - { offsetInCU: 0x41, offset: 0x9DBDF, size: 0x8, addend: 0x0, symName: _aes_nohw_rcon, symObjAddr: 0x1B10, symBinAddr: 0xAD9BA0, symSize: 0x0 } + - { offsetInCU: 0x484, offset: 0x9E022, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x357900, symSize: 0x800 } + - { offsetInCU: 0x1B2B, offset: 0x9F6C9, size: 0x8, addend: 0x0, symName: _aes_nohw_sub_bytes, symObjAddr: 0x15F0, symBinAddr: 0x358EF0, symSize: 0x300 } + - { offsetInCU: 0x32EE, offset: 0xA0E8C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_encrypt, symObjAddr: 0x800, symBinAddr: 0x358100, symSize: 0x80 } + - { offsetInCU: 0x33DC, offset: 0xA0F7A, size: 0x8, addend: 0x0, symName: _aes_nohw_expand_round_keys, symObjAddr: 0x880, symBinAddr: 0x358180, symSize: 0x1A0 } + - { offsetInCU: 0x386D, offset: 0xA140B, size: 0x8, addend: 0x0, symName: _aes_nohw_to_batch, symObjAddr: 0xA20, symBinAddr: 0x358320, symSize: 0x420 } + - { offsetInCU: 0x3D7D, offset: 0xA191B, size: 0x8, addend: 0x0, symName: _aes_nohw_encrypt_batch, symObjAddr: 0xE40, symBinAddr: 0x358740, symSize: 0x380 } + - { offsetInCU: 0x424C, offset: 0xA1DEA, size: 0x8, addend: 0x0, symName: _aes_nohw_from_batch, symObjAddr: 0x11C0, symBinAddr: 0x358AC0, symSize: 0x250 } + - { offsetInCU: 0x498D, offset: 0xA252B, size: 0x8, addend: 0x0, symName: _aes_nohw_shift_rows, symObjAddr: 0x18F0, symBinAddr: 0x3591F0, symSize: 0x149 } + - { offsetInCU: 0x4BF9, offset: 0xA2797, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_ctr32_encrypt_blocks, symObjAddr: 0x1410, symBinAddr: 0x358D10, symSize: 0x1E0 } + - { offsetInCU: 0x26, offset: 0xA2BB8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x359340, symSize: 0x2DC } + - { offsetInCU: 0x1D2, offset: 0xA2D64, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x359340, symSize: 0x2DC } + - { offsetInCU: 0x26, offset: 0xA2FBD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x359620, symSize: 0x87 } + - { offsetInCU: 0x34, offset: 0xA2FCB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x359620, symSize: 0x87 } + - { offsetInCU: 0x26, offset: 0xA30DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x3596B0, symSize: 0x46 } + - { offsetInCU: 0x34, offset: 0xA30E9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x3596B0, symSize: 0x46 } + - { offsetInCU: 0x86, offset: 0xA324C, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x15F0, symBinAddr: 0xAD9C20, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xA327E, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1580, symBinAddr: 0xAD9BB0, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xA32A0, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x15B0, symBinAddr: 0xAD9BE0, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xA32B6, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x15E0, symBinAddr: 0xAD9C10, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xA357D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x150, symBinAddr: 0x359700, symSize: 0x20 } + - { offsetInCU: 0x594, offset: 0xA375A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x250, symBinAddr: 0x359720, symSize: 0x20 } + - { offsetInCU: 0x63F, offset: 0xA3805, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x340, symBinAddr: 0x359740, symSize: 0x3A0 } + - { offsetInCU: 0x11A7, offset: 0xA436D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x6E0, symBinAddr: 0x359AE0, symSize: 0x140 } + - { offsetInCU: 0x14A2, offset: 0xA4668, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x820, symBinAddr: 0x359C20, symSize: 0x6B0 } + - { offsetInCU: 0x26DA, offset: 0xA58A0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xED0, symBinAddr: 0x35A2D0, symSize: 0x380 } + - { offsetInCU: 0x2D37, offset: 0xA5EFD, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0x1250, symBinAddr: 0x35A650, symSize: 0x170 } + - { offsetInCU: 0x2F2F, offset: 0xA60F5, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0x13C0, symBinAddr: 0x35A7C0, symSize: 0x1BF } + - { offsetInCU: 0x26, offset: 0xA6440, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x35A980, symSize: 0x50 } + - { offsetInCU: 0xFA, offset: 0xA6514, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x35A980, symSize: 0x50 } + - { offsetInCU: 0x18D, offset: 0xA65A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x50, symBinAddr: 0x35A9D0, symSize: 0x60 } + - { offsetInCU: 0x2F1, offset: 0xA670B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0xB0, symBinAddr: 0x35AA30, symSize: 0x90 } + - { offsetInCU: 0x4C6, offset: 0xA68E0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0x140, symBinAddr: 0x35AAC0, symSize: 0x20 } + - { offsetInCU: 0x5E3, offset: 0xA69FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0x160, symBinAddr: 0x35AAE0, symSize: 0xB0 } + - { offsetInCU: 0x696, offset: 0xA6AB0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x210, symBinAddr: 0x35AB90, symSize: 0x70 } + - { offsetInCU: 0x861, offset: 0xA6C7B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x280, symBinAddr: 0x35AC00, symSize: 0x170 } + - { offsetInCU: 0xB67, offset: 0xA6F81, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x3F0, symBinAddr: 0x35AD70, symSize: 0x270 } + - { offsetInCU: 0xE6A, offset: 0xA7284, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x660, symBinAddr: 0x35AFE0, symSize: 0x1A0 } + - { offsetInCU: 0x105D, offset: 0xA7477, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x800, symBinAddr: 0x35B180, symSize: 0x280 } + - { offsetInCU: 0x128C, offset: 0xA76A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0xC20, symBinAddr: 0x35B400, symSize: 0x20 } + - { offsetInCU: 0x12F3, offset: 0xA770D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0xC40, symBinAddr: 0x35B420, symSize: 0x20 } + - { offsetInCU: 0x132A, offset: 0xA7744, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0xC60, symBinAddr: 0x35B440, symSize: 0x10 } + - { offsetInCU: 0x13AC, offset: 0xA77C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0xC70, symBinAddr: 0x35B450, symSize: 0x4A } + - { offsetInCU: 0x26, offset: 0xA7952, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x35B4A0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xA7960, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x35B4A0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xA7A62, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_ia32cap_P, symObjAddr: 0x3F0, symBinAddr: 0x12DA4F0, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xA7AB7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0x35B5D0, symSize: 0xF8 } + - { offsetInCU: 0xD5, offset: 0xA7B66, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0x35B5D0, symSize: 0xF8 } + - { offsetInCU: 0x26, offset: 0xA7CBB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0x35B6D0, symSize: 0x1210 } + - { offsetInCU: 0x92E, offset: 0xA85C3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0x35B6D0, symSize: 0x1210 } + - { offsetInCU: 0x5347, offset: 0xACFDC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base_adx, symObjAddr: 0x1210, symBinAddr: 0x35C8E0, symSize: 0x1E50 } + - { offsetInCU: 0x9B2F, offset: 0xB17C4, size: 0x8, addend: 0x0, symName: _inline_x25519_ge_dbl_4, symObjAddr: 0x3060, symBinAddr: 0x35E730, symSize: 0x361 } + - { offsetInCU: 0x26, offset: 0xB2BB1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0x35EAA0, symSize: 0xD0 } + - { offsetInCU: 0x303, offset: 0xB2E8E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0x35EAA0, symSize: 0xD0 } + - { offsetInCU: 0x5A4, offset: 0xB312F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_update, symObjAddr: 0xD0, symBinAddr: 0x35EB70, symSize: 0x1C0 } + - { offsetInCU: 0x764, offset: 0xB32EF, size: 0x8, addend: 0x0, symName: _poly1305_blocks, symObjAddr: 0x5F0, symBinAddr: 0x35F090, symSize: 0x780 } + - { offsetInCU: 0x903, offset: 0xB348E, size: 0x8, addend: 0x0, symName: _poly1305_first_block, symObjAddr: 0x290, symBinAddr: 0x35ED30, symSize: 0x360 } + - { offsetInCU: 0xEFC, offset: 0xB3A87, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_finish, symObjAddr: 0xD70, symBinAddr: 0x35F810, symSize: 0xAA2 } + - { offsetInCU: 0x10, offset: 0xB4210, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0x3602B2, symSize: 0x2AF } + - { offsetInCU: 0x51, offset: 0xB4251, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0x3602B2, symSize: 0x2AF } + - { offsetInCU: 0x10, offset: 0xB4246, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0x360561, symSize: 0x1F4 } + - { offsetInCU: 0x54, offset: 0xB428A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0x360561, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xB4292, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x360760, symSize: 0x490 } + - { offsetInCU: 0x76, offset: 0xB42E2, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0xADA000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xB4366, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0xAFF000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xB45C7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x360760, symSize: 0x490 } + - { offsetInCU: 0xC5A, offset: 0xB4EC6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x490, symBinAddr: 0x360BF0, symSize: 0x300 } + - { offsetInCU: 0x1135, offset: 0xB53A1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x790, symBinAddr: 0x360EF0, symSize: 0x25D } + - { offsetInCU: 0x10, offset: 0xB5766, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x361180, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xB579E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x361180, symSize: 0x3A0 } + - { offsetInCU: 0x4D, offset: 0xB57A3, size: 0x8, addend: 0x0, symName: ChaCha20_ssse3, symObjAddr: 0x3A0, symBinAddr: 0x361520, symSize: 0x220 } + - { offsetInCU: 0x60, offset: 0xB57B6, size: 0x8, addend: 0x0, symName: ChaCha20_4x, symObjAddr: 0x5C0, symBinAddr: 0x361740, symSize: 0xA20 } + - { offsetInCU: 0x76, offset: 0xB57CC, size: 0x8, addend: 0x0, symName: ChaCha20_8x, symObjAddr: 0xFE0, symBinAddr: 0x362160, symSize: 0xB4C } + - { offsetInCU: 0x10, offset: 0xB57DE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0x362CC0, symSize: 0x40 } + - { offsetInCU: 0x48, offset: 0xB5816, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0x362CC0, symSize: 0x40 } + - { offsetInCU: 0x4D, offset: 0xB581B, size: 0x8, addend: 0x0, symName: _aesni_encrypt2, symObjAddr: 0x40, symBinAddr: 0x362D00, symSize: 0x60 } + - { offsetInCU: 0x63, offset: 0xB5831, size: 0x8, addend: 0x0, symName: _aesni_encrypt3, symObjAddr: 0xA0, symBinAddr: 0x362D60, symSize: 0x70 } + - { offsetInCU: 0x79, offset: 0xB5847, size: 0x8, addend: 0x0, symName: _aesni_encrypt4, symObjAddr: 0x110, symBinAddr: 0x362DD0, symSize: 0x90 } + - { offsetInCU: 0x8F, offset: 0xB585D, size: 0x8, addend: 0x0, symName: _aesni_encrypt6, symObjAddr: 0x1A0, symBinAddr: 0x362E60, symSize: 0xE0 } + - { offsetInCU: 0xA5, offset: 0xB5873, size: 0x8, addend: 0x0, symName: _aesni_encrypt8, symObjAddr: 0x280, symBinAddr: 0x362F40, symSize: 0x110 } + - { offsetInCU: 0xD9, offset: 0xB58A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x390, symBinAddr: 0x363050, symSize: 0x940 } + - { offsetInCU: 0xEA, offset: 0xB58B8, size: 0x8, addend: 0x0, symName: __aesni_set_encrypt_key, symObjAddr: 0xCD0, symBinAddr: 0x363990, symSize: 0x44D } + - { offsetInCU: 0x10, offset: 0xB58AE, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0x363DE0, symSize: 0x160 } + - { offsetInCU: 0x3B, offset: 0xB58D9, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0x363DE0, symSize: 0x160 } + - { offsetInCU: 0x54, offset: 0xB58F2, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core_2x, symObjAddr: 0x160, symBinAddr: 0x363F40, symSize: 0x290 } + - { offsetInCU: 0x68, offset: 0xB5906, size: 0x8, addend: 0x0, symName: _vpaes_schedule_core, symObjAddr: 0x3F0, symBinAddr: 0x3641D0, symSize: 0xF0 } + - { offsetInCU: 0x7F, offset: 0xB591D, size: 0x8, addend: 0x0, symName: _vpaes_schedule_round, symObjAddr: 0x4E0, symBinAddr: 0x3642C0, symSize: 0x21 } + - { offsetInCU: 0x99, offset: 0xB5937, size: 0x8, addend: 0x0, symName: _vpaes_schedule_low_round, symObjAddr: 0x501, symBinAddr: 0x3642E1, symSize: 0x9F } + - { offsetInCU: 0xAF, offset: 0xB594D, size: 0x8, addend: 0x0, symName: _vpaes_schedule_transform, symObjAddr: 0x5A0, symBinAddr: 0x364380, symSize: 0x30 } + - { offsetInCU: 0xC2, offset: 0xB5960, size: 0x8, addend: 0x0, symName: _vpaes_schedule_mangle, symObjAddr: 0x5D0, symBinAddr: 0x3643B0, symSize: 0x50 } + - { offsetInCU: 0xE9, offset: 0xB5987, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_set_encrypt_key, symObjAddr: 0x620, symBinAddr: 0x364400, symSize: 0x30 } + - { offsetInCU: 0xF7, offset: 0xB5995, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_encrypt, symObjAddr: 0x650, symBinAddr: 0x364430, symSize: 0x20 } + - { offsetInCU: 0x11A, offset: 0xB59B8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_ctr32_encrypt_blocks, symObjAddr: 0x670, symBinAddr: 0x364450, symSize: 0xD0 } + - { offsetInCU: 0x112, offset: 0xB59B0, size: 0x8, addend: 0x0, symName: _vpaes_preheat, symObjAddr: 0x740, symBinAddr: 0x364520, symSize: 0x31 } + - { offsetInCU: 0x10, offset: 0xB59C0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x364560, symSize: 0x2A0 } + - { offsetInCU: 0x45, offset: 0xB59F5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x364560, symSize: 0x2A0 } + - { offsetInCU: 0x4C, offset: 0xB59FC, size: 0x8, addend: 0x0, symName: bn_mul4x_mont, symObjAddr: 0x2A0, symBinAddr: 0x364800, symSize: 0x560 } + - { offsetInCU: 0x62, offset: 0xB5A12, size: 0x8, addend: 0x0, symName: bn_sqr8x_mont, symObjAddr: 0x800, symBinAddr: 0x364D60, symSize: 0x220 } + - { offsetInCU: 0x79, offset: 0xB5A29, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont, symObjAddr: 0xA20, symBinAddr: 0x364F80, symSize: 0x570 } + - { offsetInCU: 0x10, offset: 0xB5A38, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0x365500, symSize: 0x660 } + - { offsetInCU: 0x4D, offset: 0xB5A75, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0x365500, symSize: 0x660 } + - { offsetInCU: 0x54, offset: 0xB5A7C, size: 0x8, addend: 0x0, symName: bn_mul4x_mont_gather5, symObjAddr: 0x660, symBinAddr: 0x365B60, symSize: 0x100 } + - { offsetInCU: 0x63, offset: 0xB5A8B, size: 0x8, addend: 0x0, symName: mul4x_internal, symObjAddr: 0x760, symBinAddr: 0x365C60, symSize: 0x7E0 } + - { offsetInCU: 0x85, offset: 0xB5AAD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_power5, symObjAddr: 0xF40, symBinAddr: 0x366440, symSize: 0x180 } + - { offsetInCU: 0xA3, offset: 0xB5ACB, size: 0x8, addend: 0x0, symName: __bn_sqr8x_internal, symObjAddr: 0x10C0, symBinAddr: 0x3665C0, symSize: 0x579 } + - { offsetInCU: 0xAA, offset: 0xB5AD2, size: 0x8, addend: 0x0, symName: __bn_sqr8x_reduction, symObjAddr: 0x1639, symBinAddr: 0x366B39, symSize: 0x347 } + - { offsetInCU: 0xC0, offset: 0xB5AE8, size: 0x8, addend: 0x0, symName: __bn_post4x_internal, symObjAddr: 0x1980, symBinAddr: 0x366E80, symSize: 0xA0 } + - { offsetInCU: 0xD9, offset: 0xB5B01, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont_gather5, symObjAddr: 0x1A20, symBinAddr: 0x366F20, symSize: 0xE0 } + - { offsetInCU: 0xE8, offset: 0xB5B10, size: 0x8, addend: 0x0, symName: mulx4x_internal, symObjAddr: 0x1B00, symBinAddr: 0x367000, symSize: 0x7E0 } + - { offsetInCU: 0xF9, offset: 0xB5B21, size: 0x8, addend: 0x0, symName: bn_powerx5, symObjAddr: 0x22E0, symBinAddr: 0x3677E0, symSize: 0x160 } + - { offsetInCU: 0x128, offset: 0xB5B50, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_internal, symObjAddr: 0x2440, symBinAddr: 0x367940, symSize: 0x637 } + - { offsetInCU: 0x12F, offset: 0xB5B57, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_reduction, symObjAddr: 0x2A77, symBinAddr: 0x367F77, symSize: 0x329 } + - { offsetInCU: 0x145, offset: 0xB5B6D, size: 0x8, addend: 0x0, symName: __bn_postx4x_internal, symObjAddr: 0x2DA0, symBinAddr: 0x3682A0, symSize: 0x90 } + - { offsetInCU: 0x163, offset: 0xB5B8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_scatter5, symObjAddr: 0x2E30, symBinAddr: 0x368330, symSize: 0x30 } + - { offsetInCU: 0x178, offset: 0xB5BA0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_gather5, symObjAddr: 0x2E60, symBinAddr: 0x368360, symSize: 0x27F } + - { offsetInCU: 0x10, offset: 0xB5BA2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0x3685E0, symSize: 0x80 } + - { offsetInCU: 0x4A, offset: 0xB5BDC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0x3685E0, symSize: 0x80 } + - { offsetInCU: 0x64, offset: 0xB5BF6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0x80, symBinAddr: 0x368660, symSize: 0x360 } + - { offsetInCU: 0x7E, offset: 0xB5C10, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x3E0, symBinAddr: 0x3689C0, symSize: 0x300 } + - { offsetInCU: 0x85, offset: 0xB5C17, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_mul_montx, symObjAddr: 0x6E0, symBinAddr: 0x368CC0, symSize: 0x3C0 } + - { offsetInCU: 0x9B, offset: 0xB5C2D, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_sqr_montx, symObjAddr: 0xAA0, symBinAddr: 0x369080, symSize: 0x320 } + - { offsetInCU: 0xB5, offset: 0xB5C47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0xDC0, symBinAddr: 0x3693A0, symSize: 0xA0 } + - { offsetInCU: 0xC4, offset: 0xB5C56, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montq, symObjAddr: 0xE60, symBinAddr: 0x369440, symSize: 0x240 } + - { offsetInCU: 0xE1, offset: 0xB5C73, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x10A0, symBinAddr: 0x369680, symSize: 0x80 } + - { offsetInCU: 0xF0, offset: 0xB5C82, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montq, symObjAddr: 0x1120, symBinAddr: 0x369700, symSize: 0x1A0 } + - { offsetInCU: 0x106, offset: 0xB5C98, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montx, symObjAddr: 0x12C0, symBinAddr: 0x3698A0, symSize: 0x260 } + - { offsetInCU: 0x11C, offset: 0xB5CAE, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montx, symObjAddr: 0x1520, symBinAddr: 0x369B00, symSize: 0x1C0 } + - { offsetInCU: 0x142, offset: 0xB5CD4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x16E0, symBinAddr: 0x369CC0, symSize: 0xE0 } + - { offsetInCU: 0x158, offset: 0xB5CEA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x17C0, symBinAddr: 0x369DA0, symSize: 0xC0 } + - { offsetInCU: 0x162, offset: 0xB5CF4, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w5, symObjAddr: 0x1880, symBinAddr: 0x369E60, symSize: 0xC0 } + - { offsetInCU: 0x178, offset: 0xB5D0A, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w7, symObjAddr: 0x1940, symBinAddr: 0x369F20, symSize: 0xE0 } + - { offsetInCU: 0x188, offset: 0xB5D1A, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_toq, symObjAddr: 0x1A20, symBinAddr: 0x36A000, symSize: 0x60 } + - { offsetInCU: 0x1A0, offset: 0xB5D32, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromq, symObjAddr: 0x1A80, symBinAddr: 0x36A060, symSize: 0x60 } + - { offsetInCU: 0x1B1, offset: 0xB5D43, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subq, symObjAddr: 0x1AE0, symBinAddr: 0x36A0C0, symSize: 0x40 } + - { offsetInCU: 0x1CC, offset: 0xB5D5E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2q, symObjAddr: 0x1B20, symBinAddr: 0x36A100, symSize: 0x60 } + - { offsetInCU: 0x1ED, offset: 0xB5D7F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x1B80, symBinAddr: 0x36A160, symSize: 0x320 } + - { offsetInCU: 0x200, offset: 0xB5D92, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x1EA0, symBinAddr: 0x36A480, symSize: 0x780 } + - { offsetInCU: 0x21D, offset: 0xB5DAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0x2620, symBinAddr: 0x36AC00, symSize: 0x580 } + - { offsetInCU: 0x222, offset: 0xB5DB4, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_tox, symObjAddr: 0x2BA0, symBinAddr: 0x36B180, symSize: 0x60 } + - { offsetInCU: 0x23A, offset: 0xB5DCC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromx, symObjAddr: 0x2C00, symBinAddr: 0x36B1E0, symSize: 0x60 } + - { offsetInCU: 0x24B, offset: 0xB5DDD, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subx, symObjAddr: 0x2C60, symBinAddr: 0x36B240, symSize: 0x60 } + - { offsetInCU: 0x266, offset: 0xB5DF8, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2x, symObjAddr: 0x2CC0, symBinAddr: 0x36B2A0, symSize: 0x60 } + - { offsetInCU: 0x27F, offset: 0xB5E11, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_doublex, symObjAddr: 0x2D20, symBinAddr: 0x36B300, symSize: 0x320 } + - { offsetInCU: 0x292, offset: 0xB5E24, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_addx, symObjAddr: 0x3040, symBinAddr: 0x36B620, symSize: 0x760 } + - { offsetInCU: 0x2AF, offset: 0xB5E41, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_add_affinex, symObjAddr: 0x37A0, symBinAddr: 0x36BD80, symSize: 0x555 } + - { offsetInCU: 0x10, offset: 0xB5E40, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0x36C2E0, symSize: 0x5A0 } + - { offsetInCU: 0x3D, offset: 0xB5E6D, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0x36C2E0, symSize: 0x5A0 } + - { offsetInCU: 0x61, offset: 0xB5E91, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_decrypt, symObjAddr: 0x5A0, symBinAddr: 0x36C880, symSize: 0x140 } + - { offsetInCU: 0x63, offset: 0xB5E93, size: 0x8, addend: 0x0, symName: _aesni_ctr32_6x, symObjAddr: 0x6E0, symBinAddr: 0x36C9C0, symSize: 0x180 } + - { offsetInCU: 0x8D, offset: 0xB5EBD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_encrypt, symObjAddr: 0x860, symBinAddr: 0x36CB40, symSize: 0x423 } + - { offsetInCU: 0x10, offset: 0xB5EB8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x36CF80, symSize: 0x260 } + - { offsetInCU: 0x48, offset: 0xB5EF0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x36CF80, symSize: 0x260 } + - { offsetInCU: 0x5F, offset: 0xB5F07, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x260, symBinAddr: 0x36D1E0, symSize: 0xC0 } + - { offsetInCU: 0x75, offset: 0xB5F1D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x320, symBinAddr: 0x36D2A0, symSize: 0x660 } + - { offsetInCU: 0x88, offset: 0xB5F30, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_avx, symObjAddr: 0x980, symBinAddr: 0x36D900, symSize: 0x1A0 } + - { offsetInCU: 0x9F, offset: 0xB5F47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_avx, symObjAddr: 0xB20, symBinAddr: 0x36DAA0, symSize: 0x697 } + - { offsetInCU: 0x10, offset: 0xB5F46, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x36E140, symSize: 0x1240 } + - { offsetInCU: 0x51, offset: 0xB5F87, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x36E140, symSize: 0x1240 } + - { offsetInCU: 0x5A, offset: 0xB5F90, size: 0x8, addend: 0x0, symName: sha512_block_data_order_avx, symObjAddr: 0x1240, symBinAddr: 0x36F380, symSize: 0x1176 } + - { offsetInCU: 0x10, offset: 0xB5F92, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0x370500, symSize: 0x200 } + - { offsetInCU: 0x44, offset: 0xB5FC6, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0x370500, symSize: 0x200 } + - { offsetInCU: 0x66, offset: 0xB5FE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x200, symBinAddr: 0x370700, symSize: 0x21C0 } + - { offsetInCU: 0x7C, offset: 0xB5FFE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x23C0, symBinAddr: 0x3728C0, symSize: 0x1D2D } + - { offsetInCU: 0x83, offset: 0xB6005, size: 0x8, addend: 0x0, symName: process_extra_in_trailer, symObjAddr: 0x40ED, symBinAddr: 0x3745ED, symSize: 0x553 } + - { offsetInCU: 0x9C, offset: 0xB601E, size: 0x8, addend: 0x0, symName: chacha20_poly1305_open_avx2, symObjAddr: 0x4640, symBinAddr: 0x374B40, symSize: 0x25C0 } + - { offsetInCU: 0xB2, offset: 0xB6034, size: 0x8, addend: 0x0, symName: chacha20_poly1305_seal_avx2, symObjAddr: 0x6C00, symBinAddr: 0x377100, symSize: 0x2F01 } + - { offsetInCU: 0x10, offset: 0xB6036, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x37A040, symSize: 0x1200 } + - { offsetInCU: 0x51, offset: 0xB6077, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x37A040, symSize: 0x1200 } + - { offsetInCU: 0x5D, offset: 0xB6083, size: 0x8, addend: 0x0, symName: sha256_block_data_order_shaext, symObjAddr: 0x1200, symBinAddr: 0x37B240, symSize: 0x340 } + - { offsetInCU: 0x72, offset: 0xB6098, size: 0x8, addend: 0x0, symName: sha256_block_data_order_ssse3, symObjAddr: 0x1540, symBinAddr: 0x37B580, symSize: 0xEC0 } + - { offsetInCU: 0x86, offset: 0xB60AC, size: 0x8, addend: 0x0, symName: sha256_block_data_order_avx, symObjAddr: 0x2400, symBinAddr: 0x37C440, symSize: 0xEF7 } ... diff --git a/packages/canvas/platforms/ios/src/cpp/Caches.h b/packages/canvas/platforms/ios/src/cpp/Caches.h index 5b7891a58..7b1a1902d 100644 --- a/packages/canvas/platforms/ios/src/cpp/Caches.h +++ b/packages/canvas/platforms/ios/src/cpp/Caches.h @@ -213,6 +213,28 @@ class Caches { std::unique_ptr> GPUShaderModuleTmpl = std::unique_ptr>( nullptr); + std::unique_ptr> GPUPipelineLayoutTmpl = std::unique_ptr>( + nullptr); + + std::unique_ptr> GPURenderPipelineTmpl = std::unique_ptr>( + nullptr); + + std::unique_ptr> GPUBindGroupLayoutTmpl = std::unique_ptr>( + nullptr); + + std::unique_ptr> GPUQueueTmpl = std::unique_ptr>( + nullptr); + + std::unique_ptr> GPUTextureViewTmpl = std::unique_ptr>( + nullptr); + + std::unique_ptr> GPURenderPassEncoderTmpl = std::unique_ptr>( + nullptr); + + std::unique_ptr> GPUCommandBufferTmpl = std::unique_ptr>( + nullptr); + + private: static std::shared_ptr>> diff --git a/packages/canvas/platforms/ios/src/cpp/Helpers.h b/packages/canvas/platforms/ios/src/cpp/Helpers.h index 7394be55f..8adcb1f03 100644 --- a/packages/canvas/platforms/ios/src/cpp/Helpers.h +++ b/packages/canvas/platforms/ios/src/cpp/Helpers.h @@ -149,7 +149,13 @@ enum class NativeType { GPUCommandEncoder, GPUComputePass, GPUQuerySet, - GPUShaderModule + GPUShaderModule, + GPUPipelineLayout, + GPURenderPipeline, + GPUBindGroupLayout, + GPUTextureView, + GPURenderPassEncoder, + GPUCommandBuffer }; inline static v8::Local @@ -238,7 +244,7 @@ inline static NativeType GetNativeType(const v8::Local &obj) { auto value = *static_cast(info); auto ret = value; if (ret >= (int) NativeType::CanvasGradient && - ret <= (int) NativeType::GPUShaderModule) { + ret <= (int) NativeType::GPUCommandBuffer) { return (NativeType) ret; } } diff --git a/packages/canvas/platforms/ios/src/cpp/ImageBitmapImpl.cpp b/packages/canvas/platforms/ios/src/cpp/ImageBitmapImpl.cpp index 842d66197..83a5baa8e 100644 --- a/packages/canvas/platforms/ios/src/cpp/ImageBitmapImpl.cpp +++ b/packages/canvas/platforms/ios/src/cpp/ImageBitmapImpl.cpp @@ -121,11 +121,11 @@ ImageBitmapImpl::HandleOptions(v8::Isolate *isolate, const v8::Local auto premultiplyAlpha = ConvertFromV8String(isolate, premultiplyAlphaValue); if (premultiplyAlpha == "premultiply") { - ret.premultiplyAlpha = ImageBitmapPremultiplyAlphaPremultiply; + ret.premultiplyAlpha = ImageBitmapPremultiplyAlpha::ImageBitmapPremultiplyAlphaPremultiply; } if (premultiplyAlpha == "none") { - ret.premultiplyAlpha = ImageBitmapPremultiplyAlphaNone; + ret.premultiplyAlpha = ImageBitmapPremultiplyAlpha::ImageBitmapPremultiplyAlphaAlphaNone; } } diff --git a/packages/canvas/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp b/packages/canvas/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp index 6a60211f6..bc5179d89 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +++ b/packages/canvas/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp @@ -700,7 +700,7 @@ v8::Local WebGLRenderingContext::GetParameterInternal(v8::Isolate *is } return scope.Escape(v8::Integer::New(isolate, value)); } - case (uint32_t) GLConstants::UNPACK_COLORSPACE_CONVERSION_WEBGL: + case (uint32_t) GLConstants::GLConstantsUnpackColorSpaceConversionWebGL: return scope.Escape(v8::Integer::New(isolate, canvas_native_webgl_state_get_unpack_colorspace_conversion_webgl( this->GetState()))); @@ -729,10 +729,10 @@ v8::Local WebGLRenderingContext::GetParameterInternal(v8::Isolate *is return scope.Escape(v8::Float32Array::New(arraybuffer, 0, size)); } - case (uint32_t) GLConstants::UNPACK_FLIP_Y_WEBGL: + case (uint32_t) GLConstants::GLConstantsUnPackFlipYWebGL: return scope.Escape(v8::Boolean::New(isolate, canvas_native_webgl_state_get_flip_y( this->GetState()))); - case (uint32_t) GLConstants::UNPACK_PREMULTIPLY_ALPHA_WEBGL: + case (uint32_t) GLConstants::GLConstantsUnpackPremultiplyAlphaWebGL: return scope.Escape(v8::Boolean::New(isolate, canvas_native_webgl_state_get_premultiplied_alpha( this->GetState()))); @@ -2559,27 +2559,27 @@ void WebGLRenderingContext::GetExtension(const v8::FunctionCallbackInfoGetVersion() == @@ -2669,49 +2669,49 @@ void WebGLRenderingContext::GetExtension(const v8::FunctionCallbackInfogroupLayout_; +} + + +void GPUBindGroupLayoutImpl::Init(v8::Local canvasModule, v8::Isolate *isolate) { + v8::Locker locker(isolate); + v8::Isolate::Scope isolate_scope(isolate); + v8::HandleScope handle_scope(isolate); + + auto ctor = GetCtor(isolate); + auto context = isolate->GetCurrentContext(); + auto func = ctor->GetFunction(context).ToLocalChecked(); + + canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroupLayout"), func); +} + +GPUBindGroupLayoutImpl *GPUBindGroupLayoutImpl::GetPointer(const v8::Local &object) { + auto ptr = object->GetAlignedPointerFromInternalField(0); + if (ptr == nullptr) { + return nullptr; + } + return static_cast(ptr); +} + +v8::Local GPUBindGroupLayoutImpl::GetCtor(v8::Isolate *isolate) { + auto cache = Caches::Get(isolate); + auto ctor = cache->GPUBindGroupLayoutTmpl.get(); + if (ctor != nullptr) { + return ctor->Get(isolate); + } + + v8::Local ctorTmpl = v8::FunctionTemplate::New(isolate); + ctorTmpl->InstanceTemplate()->SetInternalFieldCount(2); + ctorTmpl->SetClassName(ConvertToV8String(isolate, "GPUBindGroupLayout")); + + auto tmpl = ctorTmpl->InstanceTemplate(); + tmpl->SetInternalFieldCount(2); + + cache->GPUBindGroupLayoutTmpl = + std::make_unique>(isolate, ctorTmpl); + return ctorTmpl; +} diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h new file mode 100644 index 000000000..07da7bbbb --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h @@ -0,0 +1,44 @@ +// +// Created by Osei Fortune on 29/06/2024. +// + +#ifndef CANVAS_ANDROID_GPUBINDGROUPLAYOUTIMPL_H +#define CANVAS_ANDROID_GPUBINDGROUPLAYOUTIMPL_H + +#include "Common.h" +#include "Helpers.h" +#include "ObjectWrapperImpl.h" + +class GPUBindGroupLayoutImpl : ObjectWrapperImpl{ +public: + GPUBindGroupLayoutImpl(CanvasGPUBindGroupLayout *groupLayout); + + ~GPUBindGroupLayoutImpl() { + } + + CanvasGPUBindGroupLayout *GetBindGroupLayout(); + + static void Init(v8::Local canvasModule, v8::Isolate *isolate); + + static GPUBindGroupLayoutImpl *GetPointer(const v8::Local &object); + + static v8::Local GetCtor(v8::Isolate *isolate); + + static v8::Local + NewInstance(v8::Isolate *isolate, GPUBindGroupLayoutImpl *groupLayout) { + auto context = isolate->GetCurrentContext(); + v8::EscapableHandleScope scope(isolate); + auto object = GPUBindGroupLayoutImpl::GetCtor(isolate)->GetFunction( + context).ToLocalChecked()->NewInstance(context).ToLocalChecked(); + SetNativeType(object, NativeType::GPUBindGroupLayout); + object->SetAlignedPointerInInternalField(0, groupLayout); + groupLayout->BindFinalizer(isolate, object); + return scope.Escape(object); + } + +private: + CanvasGPUBindGroupLayout *groupLayout_; +}; + + +#endif //CANVAS_ANDROID_GPUBINDGROUPLAYOUTIMPL_H diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp index c1a9a1b6c..cfd182498 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp @@ -202,7 +202,6 @@ void GPUBufferImpl::GetMappedRange(const v8::FunctionCallbackInfo &ar return; } auto isolate = args.GetIsolate(); - auto context = isolate->GetCurrentContext(); int64_t offset = -1; int64_t size = -1; @@ -219,7 +218,10 @@ void GPUBufferImpl::GetMappedRange(const v8::FunctionCallbackInfo &ar auto buf = args[2].As(); auto store = buf->GetBackingStore(); - canvas_native_webgpu_buffer_get_mapped_range(ptr->GetGPUBuffer(), offset, size, + auto error = canvas_native_webgpu_buffer_get_mapped_range(ptr->GetGPUBuffer(), offset, size, (uint8_t *) store->Data(), store->ByteLength()); + if (error != nullptr){ + // todo error + } } diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp index 841dc084f..137c35653 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp @@ -75,72 +75,104 @@ void GPUCanvasContextImpl::Configure(const v8::FunctionCallbackInfo & if (ptr == nullptr) { return; } - + if (optionsValue->IsNullOrUndefined() || !optionsValue->IsObject()) { return; } - + auto options = optionsValue.As(); - + v8::Local deviceValue; - + options->Get(context, ConvertToV8String(isolate, "device")).ToLocal( - &deviceValue); - - + &deviceValue); + + if (deviceValue->IsNullOrUndefined() || !deviceValue->IsObject()) { return; } + auto device = GPUDeviceImpl::GetPointer(deviceValue.As()); - + if (device == nullptr) { return; } - + CanvasGPUSurfaceConfiguration config{}; - config.alphaMode = CanvasGPUSurfaceAlphaMode::Opaque; - config.presentMode = CanvasGPUPresentMode::Fifo; + config.alphaMode = CanvasGPUSurfaceAlphaMode::CanvasGPUSurfaceAlphaModeOpaque; + config.presentMode = CanvasGPUPresentMode::CanvasGPUPresentModeFifo; config.view_formats = nullptr; config.view_formats_size = 0; - - + config.usage = 0x10; + + /* ignore for now - - v8::Local formatValue; - - - options->Get(context, ConvertToV8String(isolate, "format")).ToLocal( - &deviceValue); - - */ - + + v8::Local formatValue; + + + options->Get(context, ConvertToV8String(isolate, "format")).ToLocal( + &deviceValue); + + */ + v8::Local usageValue; - + options->Get(context, ConvertToV8String(isolate, "usage")).ToLocal( - &usageValue); - + &usageValue); + if (!usageValue.IsEmpty() && usageValue->IsInt32()) { config.usage = usageValue->Int32Value(context).ToChecked(); } - - + + v8::Local presentModeValue; - + options->Get(context, ConvertToV8String(isolate, "presentMode")).ToLocal( - &presentModeValue); - - if (!presentModeValue.IsEmpty() && presentModeValue->IsInt32()) { - config.presentMode = (CanvasGPUPresentMode) presentModeValue->Int32Value( - context).ToChecked(); + &presentModeValue); + + if (!presentModeValue.IsEmpty()) { + if(presentModeValue->IsString()){ + auto presentMode = ConvertFromV8String(isolate, presentModeValue); + if(strcmp(presentMode.c_str(), "autoVsync") == 0){ + config.presentMode = CanvasGPUPresentMode::CanvasGPUPresentModeAutoVsync; + }else if(strcmp(presentMode.c_str(), "autoNoVsync") == 0){ + config.presentMode = CanvasGPUPresentMode::CanvasGPUPresentModeAutoNoVsync; + }else if(strcmp(presentMode.c_str(), "fifo") == 0){ + config.presentMode = CanvasGPUPresentMode::CanvasGPUPresentModeFifo; + }else if(strcmp(presentMode.c_str(), "fifoRelaxed") == 0){ + config.presentMode = CanvasGPUPresentMode::CanvasGPUPresentModeFifoRelaxed; + }else if(strcmp(presentMode.c_str(), "immediate") == 0){ + config.presentMode = CanvasGPUPresentMode::CanvasGPUPresentModeImmediate; + }else if(strcmp(presentMode.c_str(), "mailbox") == 0){ + config.presentMode = CanvasGPUPresentMode::CanvasGPUPresentModeMailbox; + } + + }else if (presentModeValue->IsInt32()){ + config.presentMode = (CanvasGPUPresentMode) presentModeValue->Int32Value( + context).ToChecked(); + } } - - + + + v8::Local alphaModeValue; - options->Get(context, ConvertToV8String(isolate, "alphaMode")).ToLocal( - &alphaModeValue); - - if (!alphaModeValue.IsEmpty() && alphaModeValue->IsInt32()) { - config.alphaMode = (CanvasGPUSurfaceAlphaMode) alphaModeValue->Int32Value( - context).ToChecked(); + &alphaModeValue); + + if (!alphaModeValue.IsEmpty()) { + if(alphaModeValue->IsString()){ + auto alphaMode = ConvertFromV8String(isolate, alphaModeValue); + if(strcmp(alphaMode.c_str(), "premultiplied") == 0){ + config.alphaMode = CanvasGPUSurfaceAlphaMode::CanvasGPUSurfaceAlphaModePreMultiplied; + }else if(strcmp(alphaMode.c_str(), "opaque") == 0){ + config.alphaMode = CanvasGPUSurfaceAlphaMode::CanvasGPUSurfaceAlphaModeOpaque; + }else if(strcmp(alphaMode.c_str(), "postmultiplied") == 0){ + config.alphaMode = CanvasGPUSurfaceAlphaMode::CanvasGPUSurfaceAlphaModePostMultiplied; + } + }else if(alphaModeValue->IsInt32()){ + config.alphaMode = (CanvasGPUSurfaceAlphaMode) alphaModeValue->Int32Value( + context).ToChecked(); + } + } canvas_native_webgpu_context_configure(ptr->GetContext(), device->GetGPUDevice(), &config); diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp new file mode 100644 index 000000000..e0b0e0550 --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp @@ -0,0 +1,54 @@ +// +// Created by Osei Fortune on 01/07/2024. +// + +#include "GPUCommandBufferImpl.h" +#include "Caches.h" + +GPUCommandBufferImpl::GPUCommandBufferImpl(CanvasGPUCommandBuffer *commandBuffer) : commandBuffer_( + commandBuffer) {} + +CanvasGPUCommandBuffer *GPUCommandBufferImpl::GetGPUCommandBuffer() { + return this->commandBuffer_; +} + + +void GPUCommandBufferImpl::Init(v8::Local canvasModule, v8::Isolate *isolate) { + v8::Locker locker(isolate); + v8::Isolate::Scope isolate_scope(isolate); + v8::HandleScope handle_scope(isolate); + + auto ctor = GetCtor(isolate); + auto context = isolate->GetCurrentContext(); + auto func = ctor->GetFunction(context).ToLocalChecked(); + + canvasModule->Set(context, ConvertToV8String(isolate, "GPUCommandBuffer"), func); +} + +GPUCommandBufferImpl *GPUCommandBufferImpl::GetPointer(const v8::Local &object) { + auto ptr = object->GetAlignedPointerFromInternalField(0); + if (ptr == nullptr) { + return nullptr; + } + return static_cast(ptr); +} + +v8::Local GPUCommandBufferImpl::GetCtor(v8::Isolate *isolate) { + auto cache = Caches::Get(isolate); + auto ctor = cache->GPUCommandBufferTmpl.get(); + if (ctor != nullptr) { + return ctor->Get(isolate); + } + + v8::Local ctorTmpl = v8::FunctionTemplate::New(isolate); + ctorTmpl->InstanceTemplate()->SetInternalFieldCount(2); + ctorTmpl->SetClassName(ConvertToV8String(isolate, "GPUCommandBuffer")); + + auto tmpl = ctorTmpl->InstanceTemplate(); + tmpl->SetInternalFieldCount(2); + + + cache->GPUCommandBufferTmpl = + std::make_unique>(isolate, ctorTmpl); + return ctorTmpl; +} diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h new file mode 100644 index 000000000..7c957182b --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h @@ -0,0 +1,44 @@ +// +// Created by Osei Fortune on 01/07/2024. +// + +#ifndef CANVAS_ANDROID_GPUCOMMANDBUFFERIMPL_H +#define CANVAS_ANDROID_GPUCOMMANDBUFFERIMPL_H + +#include "Common.h" +#include "Helpers.h" +#include "ObjectWrapperImpl.h" + +class GPUCommandBufferImpl : ObjectWrapperImpl { +public: + GPUCommandBufferImpl(CanvasGPUCommandBuffer *commandBuffer); + + ~GPUCommandBufferImpl() { + } + + CanvasGPUCommandBuffer *GetGPUCommandBuffer(); + + static void Init(v8::Local canvasModule, v8::Isolate *isolate); + + static GPUCommandBufferImpl *GetPointer(const v8::Local &object); + + static v8::Local GetCtor(v8::Isolate *isolate); + + static v8::Local + NewInstance(v8::Isolate *isolate, GPUCommandBufferImpl *commandBuffer) { + auto context = isolate->GetCurrentContext(); + v8::EscapableHandleScope scope(isolate); + auto object = GPUCommandBufferImpl::GetCtor(isolate)->GetFunction( + context).ToLocalChecked()->NewInstance(context).ToLocalChecked(); + SetNativeType(object, NativeType::GPUCommandBuffer); + object->SetAlignedPointerInInternalField(0, commandBuffer); + commandBuffer->BindFinalizer(isolate, object); + return scope.Escape(object); + } + +private: + CanvasGPUCommandBuffer *commandBuffer_; +}; + + +#endif //CANVAS_ANDROID_GPUCOMMANDBUFFERIMPL_H diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp index 365d34be7..0b7ec8857 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp @@ -7,6 +7,9 @@ #include "GPUComputePassImpl.h" #include "GPUQuerySetImpl.h" #include "GPUBufferImpl.h" +#include "GPUTextureViewImpl.h" +#include "GPURenderPassEncoderImpl.h" +#include "GPUCommandBufferImpl.h" GPUCommandEncoderImpl::GPUCommandEncoderImpl(CanvasGPUCommandEncoder *encoder) : encoder_( encoder) {} @@ -25,7 +28,7 @@ void GPUCommandEncoderImpl::Init(v8::Local canvasModule, v8::Isolate auto context = isolate->GetCurrentContext(); auto func = ctor->GetFunction(context).ToLocalChecked(); - canvasModule->Set(context, ConvertToV8String(isolate, "GPUDevice"), func); + canvasModule->Set(context, ConvertToV8String(isolate, "GPUCommandEncoder"), func); } GPUCommandEncoderImpl *GPUCommandEncoderImpl::GetPointer(const v8::Local &object) { @@ -55,11 +58,17 @@ v8::Local GPUCommandEncoderImpl::GetCtor(v8::Isolate *isol ConvertToV8String(isolate, "beginComputePass"), v8::FunctionTemplate::New(isolate, &BeginComputePass)); + tmpl->Set( + ConvertToV8String(isolate, "beginRenderPass"), + v8::FunctionTemplate::New(isolate, &BeginRenderPass)); tmpl->Set( ConvertToV8String(isolate, "clearBuffer"), v8::FunctionTemplate::New(isolate, &ClearBuffer)); + tmpl->Set( + ConvertToV8String(isolate, "finish"), + v8::FunctionTemplate::New(isolate, &Finish)); cache->GPUCommandEncoderTmpl = std::make_unique>(isolate, ctorTmpl); @@ -93,39 +102,57 @@ void GPUCommandEncoderImpl::BeginComputePass(const v8::FunctionCallbackInfo querySetVal; - desc->Get(context, ConvertToV8String(isolate, "querySet")).ToLocal(&querySetVal); - CanvasGPUQuerySet *querySet = nullptr; - if (!querySetVal.IsEmpty() && querySetVal->IsObject()) { - auto queryPtr = GPUQuerySetImpl::GetPointer(querySetVal.As()); - if (queryPtr != nullptr) { - querySet = queryPtr->GetQuerySet(); - } - } - - v8::Local beginningOfPassWriteIndexVal; int32_t beginningOfPassWriteIndex = -1; - v8::Local endOfPassWriteIndexVal; int32_t endOfPassWriteIndex = -1; - desc->Get(context, ConvertToV8String(isolate, "beginningOfPassWriteIndex")).ToLocal( - &beginningOfPassWriteIndexVal); + v8::Local timestampWritesVal; + desc->Get(context, ConvertToV8String(isolate, "timestampWrites")).ToLocal( + ×tampWritesVal); - desc->Get(context, ConvertToV8String(isolate, "endOfPassWriteIndex")).ToLocal( - &endOfPassWriteIndexVal); + if (!timestampWritesVal.IsEmpty() && timestampWritesVal->IsObject()) { + auto timestampWrites = timestampWritesVal.As(); - if (beginningOfPassWriteIndexVal->IsInt32()) { - beginningOfPassWriteIndex = beginningOfPassWriteIndexVal.As()->Value(); - } + v8::Local querySetVal; + timestampWrites->Get(context, ConvertToV8String(isolate, "querySet")).ToLocal( + &querySetVal); + + + if (!querySetVal.IsEmpty() && querySetVal->IsObject()) { + auto queryPtr = GPUQuerySetImpl::GetPointer(querySetVal.As()); + if (queryPtr != nullptr) { + querySet = queryPtr->GetQuerySet(); + } + } + + v8::Local beginningOfPassWriteIndexVal; + + + v8::Local endOfPassWriteIndexVal; + + + timestampWrites->Get(context, + ConvertToV8String(isolate, "beginningOfPassWriteIndex")).ToLocal( + &beginningOfPassWriteIndexVal); + + timestampWrites->Get(context, + ConvertToV8String(isolate, "endOfPassWriteIndex")).ToLocal( + &endOfPassWriteIndexVal); + + + if (beginningOfPassWriteIndexVal->IsInt32()) { + beginningOfPassWriteIndex = beginningOfPassWriteIndexVal.As()->Value(); + } - if (endOfPassWriteIndexVal->IsInt32()) { - endOfPassWriteIndex = endOfPassWriteIndexVal.As()->Value(); + if (endOfPassWriteIndexVal->IsInt32()) { + endOfPassWriteIndex = endOfPassWriteIndexVal.As()->Value(); + } } + pass = canvas_native_webgpu_command_encoder_begin_compute_pass(ptr->GetEncoder(), querySet, label, beginningOfPassWriteIndex, @@ -150,6 +177,219 @@ void GPUCommandEncoderImpl::BeginComputePass(const v8::FunctionCallbackInfo &args) { + auto ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + auto isolate = args.GetIsolate(); + auto context = isolate->GetCurrentContext(); + + auto descVal = args[0]; + + CanvasGPURenderPass *pass = nullptr; + + if (!descVal->IsNullOrUndefined() && descVal->IsObject()) { + auto desc = descVal.As(); + + + v8::Local labelVal; + desc->Get(context, ConvertToV8String(isolate, "label")).ToLocal(&labelVal); + + char *label = nullptr; + + if (!labelVal.IsEmpty() && labelVal->IsString()) { + label = *v8::String::Utf8Value(isolate, labelVal); + } + + std::vector colorAttachments_; + v8::Local colorAttachmentsVal; + desc->Get(context, ConvertToV8String(isolate, "colorAttachments")).ToLocal(&colorAttachmentsVal); + + auto colorAttachments = colorAttachmentsVal.As(); + auto colorAttachmentsLength = colorAttachments->Length(); + + for (int i = 0; i < colorAttachmentsLength; i++) { + auto colorAttachment = colorAttachments->Get(context, + i).ToLocalChecked().As(); + + v8::Local clearValueVal; + colorAttachment->Get(context, ConvertToV8String(isolate, "clearValue")).ToLocal( + &clearValueVal); + auto clearValue = CanvasColor{0, 0, 0, 0}; + if (!clearValueVal.IsEmpty() && clearValueVal->IsObject()) { + auto clearValueObj = clearValueVal.As(); + + v8::Local r; + v8::Local g; + v8::Local b; + v8::Local a; + + clearValueObj->Get(context, ConvertToV8String(isolate, "r")).ToLocal(&r); + clearValueObj->Get(context, ConvertToV8String(isolate, "g")).ToLocal(&g); + clearValueObj->Get(context, ConvertToV8String(isolate, "b")).ToLocal(&b); + clearValueObj->Get(context, ConvertToV8String(isolate, "a")).ToLocal(&a); + + if (!r.IsEmpty() && r->IsNumber()) { + clearValue.r = r.As()->Value(); + } + + if (!g.IsEmpty() && g->IsNumber()) { + clearValue.g = g.As()->Value(); + } + + + if (!b.IsEmpty() && b->IsNumber()) { + clearValue.b = b.As()->Value(); + } + + if (!a.IsEmpty() && a->IsNumber()) { + clearValue.a = a.As()->Value(); + } + } + + + auto viewVal = colorAttachment->Get(context, ConvertToV8String(isolate, + "view")).ToLocalChecked(); + + auto view = GPUTextureViewImpl::GetPointer(viewVal.As()); + + + CanvasGPUTextureView *resolve_target = nullptr; + + v8::Local resolve_target_val; + + colorAttachment->Get(context, ConvertToV8String(isolate, "resolveTarget")).ToLocal( + &resolve_target_val); + + if (!resolve_target_val.IsEmpty() && resolve_target_val->IsObject()) { + auto res = GPUTextureViewImpl::GetPointer(resolve_target_val.As()); + resolve_target = res->GetTextureView(); + } + + auto loadVal = colorAttachment->Get(context, ConvertToV8String(isolate, + "loadOp")).ToLocalChecked()->Uint32Value( + context).ToChecked(); + auto storeVal = colorAttachment->Get(context, ConvertToV8String(isolate, + "storeOp")).ToLocalChecked()->Uint32Value( + context).ToChecked(); + + CanvasPassChannelColor channel{ + (CanvasLoadOp) loadVal, + (CanvasStoreOp) storeVal + }; + + auto attachment = CanvasRenderPassColorAttachment{ + view->GetTextureView(), + resolve_target, + channel + }; + + colorAttachments_.push_back(attachment); + + } + + + v8::Local maxDrawCountVal; + + desc->Get(context, ConvertToV8String(isolate, "maxDrawCount")).ToLocal(&maxDrawCountVal); + + + CanvasRenderPassDepthStencilAttachment *depthStencilAttachment = nullptr; + v8::Local depthStencilAttachmentVal; + + desc->Get(context, ConvertToV8String(isolate, "depthStencilAttachment")).ToLocal( + &depthStencilAttachmentVal); + + + if (!depthStencilAttachmentVal.IsEmpty() && depthStencilAttachmentVal->IsObject()) { + auto depthStencilAttachmentObj = depthStencilAttachmentVal.As(); + } + + + CanvasGPUQuerySet *occlusion_query_set = nullptr; + v8::Local occlusionQuerySetVal; + + + desc->Get(context, ConvertToV8String(isolate, "occlusionQuerySet")).ToLocal( + &occlusionQuerySetVal); + + + if (!occlusionQuerySetVal.IsEmpty() && occlusionQuerySetVal->IsObject()) { + auto occlusionQuerySet = GPUQuerySetImpl::GetPointer( + occlusionQuerySetVal.As()); + occlusion_query_set = occlusionQuerySet->GetQuerySet(); + } + + + v8::Local timestampWritesVal; + desc->Get(context, ConvertToV8String(isolate, "timestampWrites")).ToLocal( + ×tampWritesVal); + + + CanvasGPUQuerySet *querySet = nullptr; + int32_t beginningOfPassWriteIndex = -1; + int32_t endOfPassWriteIndex = -1; + + if (!timestampWritesVal.IsEmpty() && timestampWritesVal->IsObject()) { + auto timestampWrites = timestampWritesVal.As(); + v8::Local querySetVal; + timestampWrites->Get(context, ConvertToV8String(isolate, "querySet")).ToLocal( + &querySetVal); + + + if (!querySetVal.IsEmpty() && querySetVal->IsObject()) { + auto queryPtr = GPUQuerySetImpl::GetPointer(querySetVal.As()); + if (queryPtr != nullptr) { + querySet = queryPtr->GetQuerySet(); + } + } + + v8::Local beginningOfPassWriteIndexVal; + + v8::Local endOfPassWriteIndexVal; + + + timestampWrites->Get(context, + ConvertToV8String(isolate, "beginningOfPassWriteIndex")).ToLocal( + &beginningOfPassWriteIndexVal); + + timestampWrites->Get(context, + ConvertToV8String(isolate, "endOfPassWriteIndex")).ToLocal( + &endOfPassWriteIndexVal); + + + if (beginningOfPassWriteIndexVal->IsInt32()) { + beginningOfPassWriteIndex = beginningOfPassWriteIndexVal.As()->Value(); + } + + if (endOfPassWriteIndexVal->IsInt32()) { + endOfPassWriteIndex = endOfPassWriteIndexVal.As()->Value(); + } + + } + + + pass = canvas_native_webgpu_command_encoder_begin_render_pass( + ptr->GetEncoder(), label, colorAttachments_.data(), colorAttachments_.size(), + depthStencilAttachment, occlusion_query_set, + querySet, beginningOfPassWriteIndex, endOfPassWriteIndex + ); + + + } + + + if (pass != nullptr) { + auto value = new GPURenderPassEncoderImpl(pass); + auto ret = GPURenderPassEncoderImpl::NewInstance(isolate, value); + args.GetReturnValue().Set(ret); + } else { + args.GetReturnValue().SetUndefined(); + } + +} void GPUCommandEncoderImpl::ClearBuffer(const v8::FunctionCallbackInfo &args) { auto ptr = GetPointer(args.This()); @@ -192,3 +432,35 @@ void GPUCommandEncoderImpl::ClearBuffer(const v8::FunctionCallbackInfo &args) { + auto ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + auto isolate = args.GetIsolate(); + auto context = isolate->GetCurrentContext(); + + + auto descVal = args[0]; + std::string label; + if (descVal->IsObject()) { + auto desc = descVal.As(); + v8::Local labelVal; + desc->Get(context, ConvertToV8String(isolate, "label")).ToLocal(&labelVal); + if (!labelVal.IsEmpty() && labelVal->IsString()) { + label = ConvertFromV8String(isolate, labelVal); + } + } + + auto value = canvas_native_webgpu_command_encoder_finish(ptr->GetEncoder(), nullptr); + + if (value != nullptr) { + auto ret = GPUCommandBufferImpl::NewInstance(isolate, new GPUCommandBufferImpl(value)); + args.GetReturnValue().Set(ret); + return; + } + + args.GetReturnValue().SetUndefined(); +} diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h index 8c8f6eb0d..a70d322f5 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h @@ -36,8 +36,11 @@ class GPUCommandEncoderImpl : ObjectWrapperImpl { static void BeginComputePass(const v8::FunctionCallbackInfo &args); + static void BeginRenderPass(const v8::FunctionCallbackInfo &args); + static void ClearBuffer(const v8::FunctionCallbackInfo &args); + static void Finish(const v8::FunctionCallbackInfo &args); private: CanvasGPUCommandEncoder *encoder_; diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp index 1518460ea..97fd06240 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp @@ -8,6 +8,8 @@ #include "GPUQueueImpl.h" #include "GPUCommandEncoderImpl.h" #include "GPUShaderModuleImpl.h" +#include "GPUPipelineLayoutImpl.h" +#include "GPURenderPipelineImpl.h" GPUDeviceImpl::GPUDeviceImpl(CanvasGPUDevice *device) : device_(device) {} @@ -79,9 +81,13 @@ v8::Local GPUDeviceImpl::GetCtor(v8::Isolate *isolate) { v8::FunctionTemplate::New(isolate, &CreateBuffer)); tmpl->Set( - ConvertToV8String(isolate, "CreateCommandEncoder"), + ConvertToV8String(isolate, "createCommandEncoder"), v8::FunctionTemplate::New(isolate, &CreateCommandEncoder)); + tmpl->Set( + ConvertToV8String(isolate, "createRenderPipeline"), + v8::FunctionTemplate::New(isolate, &CreateRenderPipeline)); + tmpl->Set( ConvertToV8String(isolate, "createTexture"), v8::FunctionTemplate::New(isolate, &CreateTexture)); @@ -345,7 +351,7 @@ void GPUDeviceImpl::CreateTexture(const v8::FunctionCallbackInfo &arg auto context = isolate->GetCurrentContext(); CanvasCreateTextureDescriptor descriptor{}; - descriptor.dimension = CanvasTextureDimension::D2; + descriptor.dimension = CanvasTextureDimension::CanvasTextureDimensionD1; descriptor.depthOrArrayLayers = 1; descriptor.sampleCount = 1; descriptor.mipLevelCount = 1; @@ -424,11 +430,11 @@ void GPUDeviceImpl::CreateTexture(const v8::FunctionCallbackInfo &arg // todo use enum if (strcmp(dimension.c_str(), "d1") == 0) { - descriptor.dimension = CanvasTextureDimension::D1; + descriptor.dimension = CanvasTextureDimension::CanvasTextureDimensionD1; } else if (strcmp(dimension.c_str(), "d2") == 0) { - descriptor.dimension = CanvasTextureDimension::D2; + descriptor.dimension = CanvasTextureDimension::CanvasTextureDimensionD2; } else if (strcmp(dimension.c_str(), "d3") == 0) { - descriptor.dimension = CanvasTextureDimension::D3; + descriptor.dimension = CanvasTextureDimension::CanvasTextureDimensionD3; } } @@ -444,10 +450,10 @@ void GPUDeviceImpl::CreateTexture(const v8::FunctionCallbackInfo &arg // todo use enum CanvasGPUTextureFormat fmt{}; if (strcmp(format.c_str(), "bgra8unorm") == 0) { - fmt.tag = CanvasGPUTextureFormat_Tag::Bgra8Unorm; + fmt.tag = CanvasGPUTextureFormat_Tag::CanvasGPUTextureFormatBgra8Unorm; descriptor.format = fmt; } else if (strcmp(format.c_str(), "rgba8unorm") == 0) { - fmt.tag = CanvasGPUTextureFormat_Tag::Rgba8Unorm; + fmt.tag = CanvasGPUTextureFormat_Tag::CanvasGPUTextureFormatRgba8Unorm; descriptor.format = fmt; } @@ -472,6 +478,673 @@ void GPUDeviceImpl::CreateTexture(const v8::FunctionCallbackInfo &arg } } +void GPUDeviceImpl::CreateRenderPipeline(const v8::FunctionCallbackInfo &args) { + GPUDeviceImpl *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + auto isolate = args.GetIsolate(); + auto context = isolate->GetCurrentContext(); + + CanvasCreateRenderPipelineDescriptor descriptor{}; + descriptor.label = nullptr; + + char *error = nullptr; + + + auto optionsVal = args[0]; + + + if (!optionsVal->IsObject()) { + // should error at this point + return; + } + auto options = optionsVal.As(); + + + v8::Local stencilValue; + options->Get(context, ConvertToV8String(isolate, "depthStencil")).ToLocal( + &stencilValue); + + CanvasDepthStencilState *stencil = nullptr; + + if (stencilValue->IsObject()) { + auto stencilObj = stencilValue.As(); + stencil = new CanvasDepthStencilState{}; + stencil->depth_bias = 0; + stencil->depth_bias_clamp = 0; + stencil->depth_bias_slope_scale = 0; + stencil->stencil_read_mask = 0xFFFFFFFF; + stencil->stencil_write_mask = 0xFFFFFFFF; + // todo throw if failed + v8::Local formatValue; + + stencilObj->Get(context, ConvertToV8String(isolate, "format")).ToLocal(&formatValue); + if (!formatValue.IsEmpty() && formatValue->IsString()) { + auto val = *v8::String::Utf8Value(isolate, formatValue); + auto format = canvas_native_webgpu_string_to_gpu_texture_enum( + val); + if (format.tag == + CanvasOptionalGPUTextureFormat_Tag::CanvasOptionalGPUTextureFormatSome) { + stencil->format = format.some; + } + } else { + // todo throw + } + + } + + + v8::Local fragmentValue; + options->Get(context, ConvertToV8String(isolate, "fragment")).ToLocal( + &fragmentValue); + + + CanvasFragmentState *fragment = nullptr; + + std::vector targets; + + if (!fragmentValue.IsEmpty() && fragmentValue->IsObject()) { + auto fragmentValueObj = fragmentValue.As(); + fragment = new CanvasFragmentState{}; + + v8::Local targetsVal; + fragmentValueObj->Get(context, ConvertToV8String(isolate, "targets")).ToLocal(&targetsVal); + + + auto targetsArray = targetsVal.As(); + auto len = targetsArray->Length(); + + for (int i = 0; i < len; i++) { + auto state = targetsArray->Get(context, i).ToLocalChecked().As(); + + auto formatVal = state->Get(context, + ConvertToV8String(isolate, "format")).ToLocalChecked(); + auto formatStr = ConvertFromV8String(isolate, formatVal); + auto formatResult = canvas_native_webgpu_string_to_gpu_texture_enum(formatStr.c_str()); + + + if (formatResult.tag == CanvasOptionalGPUTextureFormatNone) { + // todo throw + args.GetReturnValue().SetUndefined(); + return; + } else { + + } + + auto format = CanvasGPUTextureFormat{ + formatResult.some.tag + }; + + + uint32_t writeMask = 0xF; + + v8::Local writeMaskVal; + + state->Get(context, ConvertToV8String(isolate, "writeMask")).ToLocal(&writeMaskVal); + + + if (!writeMaskVal.IsEmpty() && writeMaskVal->IsUint32()) { + writeMask = writeMaskVal->Uint32Value(context).FromJust(); + } + + CanvasOptionalBlendState blend = CanvasOptionalBlendState{ + CanvasOptionalBlendStateNone + }; + + + v8::Local blendVal; + + state->Get(context, ConvertToV8String(isolate, "blend")).ToLocal(&blendVal); + + + if (!blendVal.IsEmpty() && blendVal->IsObject()) { + auto blendObj = blendVal.As(); + auto alpha = blendObj->Get(context, ConvertToV8String(isolate, + "alpha")).ToLocalChecked().As(); + auto alpha_src_factor = (CanvasBlendFactor) alpha->Get(context, + ConvertToV8String(isolate, + "src_factor")).ToLocalChecked()->Uint32Value( + context).FromJust(); + auto alpha_dst_factor = (CanvasBlendFactor) alpha->Get(context, + ConvertToV8String(isolate, + "dst_factor")).ToLocalChecked()->Uint32Value( + context).FromJust(); + auto alpha_operation = (CanvasBlendOperation) alpha->Get(context, + ConvertToV8String(isolate, + "operation")).ToLocalChecked()->Uint32Value( + context).FromJust(); + + auto alpha_val = CanvasBlendComponent{alpha_src_factor, alpha_dst_factor, + alpha_operation}; + + auto color = blendObj->Get(context, ConvertToV8String(isolate, + "color")).ToLocalChecked().As(); + auto color_src_factor = (CanvasBlendFactor) color->Get(context, + ConvertToV8String(isolate, + "src_factor")).ToLocalChecked()->Uint32Value( + context).FromJust(); + auto color_dst_factor = (CanvasBlendFactor) color->Get(context, + ConvertToV8String(isolate, + "dst_factor")).ToLocalChecked()->Uint32Value( + context).FromJust(); + auto color_operation = (CanvasBlendOperation) color->Get(context, + ConvertToV8String(isolate, + "operation")).ToLocalChecked()->Uint32Value( + context).FromJust(); + + + auto color_val = CanvasBlendComponent{color_src_factor, color_dst_factor, + color_operation}; + + + blend = CanvasOptionalBlendState{ + CanvasOptionalBlendStateSome, + CanvasBlendState{ + color_val, alpha_val + } + }; + } + + + auto targetState = CanvasColorTargetState{ + format, + blend, + writeMask + }; + + + targets.push_back(targetState); + } + + if (targets.size() > 0) { + fragment->targets = targets.data(); + fragment->targets_size = targets.size(); + } + + + v8::Local constantsVal; + fragmentValueObj->Get(context, ConvertToV8String(isolate, "constants")).ToLocal( + &constantsVal); + + if (!constantsVal.IsEmpty() && constantsVal->IsMap()) { + auto constants = constantsVal.As(); + auto keyValues = constants->AsArray(); + auto len = keyValues->Length(); + CanvasConstants *store = nullptr; + + if (len > 0) { + store = canvas_native_webgpu_constants_create(); + for (int i = 0; i < len; i += 2) { + auto k = i; + auto v = k + 1; + + v8::Local keyVal; + keyValues->Get(context, k).ToLocal(&keyVal); + v8::Local valueVal; + keyValues->Get(context, v).ToLocal(&valueVal); + + + if (!keyVal.IsEmpty() && keyVal->IsString() && !valueVal.IsEmpty() && + valueVal->IsNumber()) { + canvas_native_webgpu_constants_insert( + store, + *v8::String::Utf8Value(isolate, keyVal), + valueVal.As()->Value() + ); + } + + } + } + fragment->constants = store; + } + + + v8::Local entryPoint; + fragmentValueObj->Get(context, ConvertToV8String(isolate, "entryPoint")).ToLocal( + &entryPoint); + + + if (!entryPoint.IsEmpty() && entryPoint->IsString()) { + auto ep = v8::String::Utf8Value(isolate, entryPoint); + char *entry_point = (char *) malloc(ep.length()); + std::strcpy(entry_point, *ep); + + fragment->entry_point = entry_point; + } + + + v8::Local moduleVal; + fragmentValueObj->Get(context, ConvertToV8String(isolate, "module")).ToLocal(&moduleVal); + + auto module = GPUShaderModuleImpl::GetPointer(moduleVal.As()); + + fragment->module = module->GetShaderModule(); + + descriptor.fragment = fragment; + + } + + + v8::Local labelVal; + options->Get(context, ConvertToV8String(isolate, "label")).ToLocal( + &labelVal); + + + if (!labelVal.IsEmpty() && labelVal->IsString()) { + descriptor.label = *v8::String::Utf8Value(isolate, labelVal); + } + + + v8::Local layoutVal; + options->Get(context, ConvertToV8String(isolate, "layout")).ToLocal( + &layoutVal); + + CanvasGPUPipelineLayoutOrGPUAutoLayoutMode layout; + + if (layoutVal->IsString()) { + layout = CanvasGPUPipelineLayoutOrGPUAutoLayoutMode{ + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeAuto + }; + } else { + auto pipeline = GPUPipelineLayoutImpl::GetPointer(layoutVal.As()); + layout = CanvasGPUPipelineLayoutOrGPUAutoLayoutMode{ + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeLayout, + layout.layout = pipeline->GetPipeline() + }; + } + + descriptor.layout = layout; + + + v8::Local multisampleValue; + options->Get(context, ConvertToV8String(isolate, "multisample")).ToLocal( + &stencilValue); + + + CanvasMultisampleState *multisample = nullptr; + + if (!multisampleValue.IsEmpty() && multisampleValue->IsObject()) { + auto multisampleObj = multisampleValue.As(); + multisample = new CanvasMultisampleState{}; + multisample->alpha_to_coverage_enabled = true; + multisample->count = 1; + multisample->mask = 0xFFFFFFFF; + + v8::Local alphaToCoverageEnabled; + v8::Local count; + v8::Local mask; + + multisampleObj->Get(context, ConvertToV8String(isolate, "alphaToCoverageEnabled")). + ToLocal(&alphaToCoverageEnabled); + + if (!alphaToCoverageEnabled.IsEmpty() && alphaToCoverageEnabled->IsBoolean()) { + multisample->alpha_to_coverage_enabled = alphaToCoverageEnabled->BooleanValue( + isolate); + } + + multisampleObj->Get(context, ConvertToV8String(isolate, "count")). + ToLocal(&count); + + if (!count.IsEmpty() && count->IsUint32()) { + multisample->count = count.As()->Value(); + } + + multisampleObj->Get(context, ConvertToV8String(isolate, "mask")). + ToLocal(&mask); + + if (!mask.IsEmpty() && mask->IsNumber()) { + // todo verify mask + auto maskValue = mask.As()->Value(); + multisample->mask = (uint64_t) maskValue; + } + + + descriptor.multisample = multisample; + + } + + + v8::Local primitiveValue; + options->Get(context, ConvertToV8String(isolate, "primitive")).ToLocal( + &primitiveValue); + + + CanvasPrimitiveState *primitive = nullptr; + + if (!primitiveValue.IsEmpty() && primitiveValue->IsObject()) { + auto primitiveObj = primitiveValue.As(); + primitive = new CanvasPrimitiveState{}; + + primitive->cull_mode = CanvasCullMode::CanvasCullModeNone; + primitive->front_face = CanvasFrontFaceCcw; + primitive->strip_index_format = CanvasOptionalIndexFormat{ + CanvasOptionalIndexFormatNone + }; + + primitive->topology = CanvasPrimitiveTopologyTriangleList; + + primitive->unclipped_depth = false; + + + v8::Local cullModeValue; + primitiveObj->Get(context, ConvertToV8String(isolate, "cullMode")).ToLocal( + &cullModeValue); + + if (!cullModeValue.IsEmpty() && cullModeValue->IsUint32()) { + auto cullMode = cullModeValue.As()->Value(); + + switch (cullMode) { + case 0: + primitive->cull_mode = CanvasCullMode::CanvasCullModeNone; + break; + case 1: + primitive->cull_mode = CanvasCullMode::CanvasCullModeFront; + break; + case 2: + + break; + } + } + + + v8::Local frontFaceValue; + primitiveObj->Get(context, ConvertToV8String(isolate, "frontFace")).ToLocal( + &frontFaceValue); + + if (!frontFaceValue.IsEmpty() && frontFaceValue->IsUint32()) { + auto cullMode = cullModeValue.As()->Value(); + + switch (cullMode) { + case 0: + primitive->front_face = CanvasFrontFace::CanvasFrontFaceCcw; + break; + case 1: + primitive->front_face = CanvasFrontFace::CanvasFrontFaceCw; + break; + default: + break; + } + } + + + v8::Local stripIndexFormatValue; + primitiveObj->Get(context, ConvertToV8String(isolate, "stripIndexFormat")).ToLocal( + &stripIndexFormatValue); + + if (!stripIndexFormatValue.IsEmpty() && stripIndexFormatValue->IsUint32()) { + auto stripIndexFormat = stripIndexFormatValue.As()->Value(); + + + switch (stripIndexFormat) { + case 0: + primitive->strip_index_format = CanvasOptionalIndexFormat{ + CanvasOptionalIndexFormatSome, + CanvasIndexFormat::CanvasIndexFormatUint16 + }; + break; + case 1: + primitive->strip_index_format = CanvasOptionalIndexFormat{ + CanvasOptionalIndexFormatSome, + CanvasIndexFormat::CanvasIndexFormatUint32 + }; + break; + default: + break; + } + } + + + v8::Local topologyValue; + primitiveObj->Get(context, ConvertToV8String(isolate, "topology")).ToLocal( + &topologyValue); + + if (!topologyValue.IsEmpty() && topologyValue->IsUint32()) { + auto topology = stripIndexFormatValue.As()->Value(); + switch (topology) { + case 0: + primitive->topology = CanvasPrimitiveTopology::CanvasPrimitiveTopologyPointList; + break; + case 1: + primitive->topology = CanvasPrimitiveTopology::CanvasPrimitiveTopologyLineList; + break; + case 2: + primitive->topology = CanvasPrimitiveTopology::CanvasPrimitiveTopologyLineStrip; + break; + case 3: + primitive->topology = CanvasPrimitiveTopology::CanvasPrimitiveTopologyTriangleList; + break; + case 4: + primitive->topology = CanvasPrimitiveTopology::CanvasPrimitiveTopologyTriangleStrip; + break; + default: + break; + } + } + + + v8::Local unclippedDepthValue; + primitiveObj->Get(context, ConvertToV8String(isolate, "unclippedDepth")).ToLocal( + &unclippedDepthValue); + + if (!unclippedDepthValue.IsEmpty()) { + primitive->unclipped_depth = unclippedDepthValue->BooleanValue(isolate); + } + + descriptor.primitive = primitive; + + } + + + v8::Local vertexValue; + options->Get(context, ConvertToV8String(isolate, "vertex")).ToLocal( + &vertexValue); + + + CanvasVertexState *vertex = nullptr; + + std::vector bufferLayout; + + std::vector> attributes; + + + if (!vertexValue.IsEmpty() && vertexValue->IsObject()) { + auto vertexObj = vertexValue.As(); + vertex = new CanvasVertexState{}; + + v8::Local moduleVal; + vertexObj->Get(context, ConvertToV8String(isolate, "module")).ToLocal(&moduleVal); + + auto module = GPUShaderModuleImpl::GetPointer(moduleVal.As()); + + vertex->module = module->GetShaderModule(); + + v8::Local constantsVal; + vertexObj->Get(context, ConvertToV8String(isolate, "constants")).ToLocal(&constantsVal); + + if (!constantsVal.IsEmpty() && constantsVal->IsMap()) { + auto constants = constantsVal.As(); + auto keyValues = constants->AsArray(); + auto len = keyValues->Length(); + CanvasConstants *store = nullptr; + + if (len > 0) { + store = canvas_native_webgpu_constants_create(); + for (int i = 0; i < len; i += 2) { + auto k = i; + auto v = k + 1; + + v8::Local keyVal; + keyValues->Get(context, k).ToLocal(&keyVal); + v8::Local valueVal; + keyValues->Get(context, v).ToLocal(&valueVal); + + + if (!keyVal.IsEmpty() && keyVal->IsString() && !valueVal.IsEmpty() && + valueVal->IsNumber()) { + canvas_native_webgpu_constants_insert( + store, + *v8::String::Utf8Value(isolate, keyVal), + valueVal.As()->Value() + ); + } + + } + } + + vertex->constants = store; + + } + + v8::Local buffersVal; + vertexObj->Get(context, ConvertToV8String(isolate, "buffers")).ToLocal(&buffersVal); + + uint64_t stride = 0; + if (!buffersVal.IsEmpty() && buffersVal->IsArray()) { + auto buffers = buffersVal.As(); + auto len = buffers->Length(); + + + for (int i = 0; i < len; i++) { + auto buffer = buffers->Get(context, i).ToLocalChecked().As(); + + v8::Local arrayStride; + + buffer->Get(context, ConvertToV8String(isolate, "arrayStride")).ToLocal( + &arrayStride); + + if (!arrayStride.IsEmpty() && arrayStride->IsNumber()) { + stride = (uint64_t) arrayStride.As()->Value(); + } + + std::vector attributes_; + + v8::Local attributesValue; + + buffer->Get(context, ConvertToV8String(isolate, "attributes")).ToLocal( + &attributesValue); + + if (!attributesValue.IsEmpty() && attributesValue->IsArray()) { + auto attributes_array = attributesValue.As(); + auto attributes_len = attributes_array->Length(); + + for (int j = 0; j < attributes_len; j++) { + auto attr = attributes_array->Get(context, + j).ToLocalChecked().As(); + auto format = attr->Get(context, ConvertToV8String(isolate, + "format")).ToLocalChecked()->Uint32Value( + context).ToChecked(); + auto offset = (uint64_t) attr->Get(context, ConvertToV8String(isolate, + "offset")).ToLocalChecked()->NumberValue( + context).ToChecked(); + auto shaderLocation = attr->Get(context, ConvertToV8String(isolate, + "shaderLocation")).ToLocalChecked()->Uint32Value( + context).ToChecked(); + + auto attribute = CanvasVertexAttribute{ + (CanvasVertexFormat) format, + offset, + shaderLocation + }; + + attributes_.push_back(attribute); + } + + attributes.push_back(attributes_); + } + + + CanvasVertexStepMode stepMode = CanvasVertexStepMode::CanvasVertexStepModeVertex; + + v8::Local stepModeVal; + + buffer->Get(context, ConvertToV8String(isolate, "stepMode")).ToLocal( + &stepModeVal); + + + if (!stepModeVal.IsEmpty() && stepModeVal->IsUint32()) { + switch (stepModeVal.As()->Value()) { + case 0: + stepMode = CanvasVertexStepMode::CanvasVertexStepModeVertex; + break; + case 1: + stepMode = CanvasVertexStepMode::CanvasVertexStepModeInstance; + break; + } + } + + auto vertexBufferLayout = CanvasVertexBufferLayout{ + stride, + stepMode, + attributes[i].data(), + attributes[i].size() + }; + + bufferLayout.push_back(vertexBufferLayout); + } + + vertex->buffers = bufferLayout.data(); + vertex->buffers_size = bufferLayout.size(); + + } + + + v8::Local entryPoint; + vertexObj->Get(context, ConvertToV8String(isolate, "entryPoint")).ToLocal(&entryPoint); + + + if (!entryPoint.IsEmpty() && entryPoint->IsString()) { + auto ep = v8::String::Utf8Value(isolate, entryPoint); + char *entry_point = (char *) malloc(ep.length()); + std::strcpy(entry_point, *ep); + vertex->entry_point = entry_point; + } + + descriptor.vertex = vertex; + + } + + + auto pipeline = canvas_native_webgpu_device_create_render_pipeline(ptr->GetGPUDevice(), + &descriptor); + + + if (descriptor.fragment != nullptr) { + if (descriptor.fragment->entry_point != nullptr) { + free((void *) descriptor.fragment->entry_point); + } + } + + if (descriptor.primitive != nullptr) { + delete descriptor.primitive; + } + + if (descriptor.multisample != nullptr) { + delete descriptor.multisample; + } + + + if (descriptor.vertex != nullptr) { + if (descriptor.vertex->constants != nullptr) { + canvas_native_webgpu_constants_destroy( + (CanvasConstants *) descriptor.vertex->constants); + } + + if (descriptor.vertex->entry_point != nullptr) { + free((void *) descriptor.vertex->entry_point); + } + + } + + if (pipeline != nullptr) { + auto ret = GPURenderPipelineImpl::NewInstance(isolate, new GPURenderPipelineImpl(pipeline)); + args.GetReturnValue().Set(ret); + return; + } + + args.GetReturnValue().SetUndefined(); +} + void GPUDeviceImpl::CreateShaderModule(const v8::FunctionCallbackInfo &args) { GPUDeviceImpl *ptr = GetPointer(args.This()); if (ptr == nullptr) { @@ -499,13 +1172,13 @@ void GPUDeviceImpl::CreateShaderModule(const v8::FunctionCallbackInfo v8::Local codeVal; desc->Get(context, ConvertToV8String(isolate, "code")).ToLocal(&codeVal); - char *code = nullptr; + std::string code; if (!codeVal.IsEmpty() && codeVal->IsString()) { - code = *v8::String::Utf8Value(isolate, codeVal); + code = ConvertFromV8String(isolate, codeVal); } auto module = canvas_native_webgpu_device_create_shader_module(ptr->GetGPUDevice(), label, - code); + code.c_str()); if (module != nullptr) { auto instance = new GPUShaderModuleImpl(module); diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h index 8f1615946..aff9aa1a4 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h @@ -60,6 +60,8 @@ class GPUDeviceImpl : ObjectWrapperImpl { static void CreateCommandEncoder(const v8::FunctionCallbackInfo &args); + static void CreateRenderPipeline(const v8::FunctionCallbackInfo &args); + static void CreateTexture(const v8::FunctionCallbackInfo &args); static void CreateShaderModule(const v8::FunctionCallbackInfo &args); diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUImpl.cpp index 66f03d94d..58888d50d 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUImpl.cpp @@ -91,7 +91,7 @@ void GPUImpl::RequestAdapter(const v8::FunctionCallbackInfo &args) { CanvasGPURequestAdapterOptions opts{}; opts.force_fallback_adapter = false; - opts.power_preference = CanvasGPUPowerPreference::None; + opts.power_preference = CanvasGPUPowerPreference::CanvasGPUPowerPreferenceNone; auto optionsValue = args[0]; if (optionsValue->IsObject()) { @@ -101,10 +101,10 @@ void GPUImpl::RequestAdapter(const v8::FunctionCallbackInfo &args) { if (ppValue->IsNumber()) { switch (ppValue->Int32Value(context).ToChecked()) { case 1: - opts.power_preference = CanvasGPUPowerPreference::LowPower; + opts.power_preference = CanvasGPUPowerPreference::CanvasGPUPowerPreferenceLowPower; break; case 2: - opts.power_preference = CanvasGPUPowerPreference::HighPerformance; + opts.power_preference = CanvasGPUPowerPreference::CanvasGPUPowerPreferenceHighPerformance; break; default: break; diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp new file mode 100644 index 000000000..eeb9d96f2 --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp @@ -0,0 +1,54 @@ +// +// Created by Osei Fortune on 26/06/2024. +// + +#include "GPUPipelineLayoutImpl.h" +#include "Caches.h" + +GPUPipelineLayoutImpl::GPUPipelineLayoutImpl(CanvasGPUPipelineLayout *pipeline) : pipeline_( + pipeline) {} + +CanvasGPUPipelineLayout *GPUPipelineLayoutImpl::GetPipeline() { + return this->pipeline_; +} + + +void GPUPipelineLayoutImpl::Init(v8::Local canvasModule, v8::Isolate *isolate) { + v8::Locker locker(isolate); + v8::Isolate::Scope isolate_scope(isolate); + v8::HandleScope handle_scope(isolate); + + auto ctor = GetCtor(isolate); + auto context = isolate->GetCurrentContext(); + auto func = ctor->GetFunction(context).ToLocalChecked(); + + canvasModule->Set(context, ConvertToV8String(isolate, "GPUPipelineLayout"), func); +} + +GPUPipelineLayoutImpl *GPUPipelineLayoutImpl::GetPointer(const v8::Local &object) { + auto ptr = object->GetAlignedPointerFromInternalField(0); + if (ptr == nullptr) { + return nullptr; + } + return static_cast(ptr); +} + +v8::Local GPUPipelineLayoutImpl::GetCtor(v8::Isolate *isolate) { + auto cache = Caches::Get(isolate); + auto ctor = cache->GPUPipelineLayoutTmpl.get(); + if (ctor != nullptr) { + return ctor->Get(isolate); + } + + v8::Local ctorTmpl = v8::FunctionTemplate::New(isolate); + ctorTmpl->InstanceTemplate()->SetInternalFieldCount(2); + ctorTmpl->SetClassName(ConvertToV8String(isolate, "GPUPipelineLayout")); + + auto tmpl = ctorTmpl->InstanceTemplate(); + tmpl->SetInternalFieldCount(2); + + cache->GPUPipelineLayoutTmpl = + std::make_unique>(isolate, ctorTmpl); + return ctorTmpl; +} + diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h new file mode 100644 index 000000000..59cf79213 --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h @@ -0,0 +1,46 @@ +// +// Created by Osei Fortune on 26/06/2024. +// + +#ifndef CANVAS_ANDROID_GPUPIPELINELAYOUTIMPL_H +#define CANVAS_ANDROID_GPUPIPELINELAYOUTIMPL_H + +#include "Common.h" +#include "Helpers.h" +#include "ObjectWrapperImpl.h" + + +class GPUPipelineLayoutImpl : ObjectWrapperImpl { +public: + GPUPipelineLayoutImpl(CanvasGPUPipelineLayout *pipeline); + + ~GPUPipelineLayoutImpl() { + + } + + CanvasGPUPipelineLayout *GetPipeline(); + + static void Init(v8::Local canvasModule, v8::Isolate *isolate); + + static GPUPipelineLayoutImpl *GetPointer(const v8::Local &object); + + static v8::Local GetCtor(v8::Isolate *isolate); + + static v8::Local NewInstance(v8::Isolate *isolate, GPUPipelineLayoutImpl *device) { + auto context = isolate->GetCurrentContext(); + v8::EscapableHandleScope scope(isolate); + auto object = GPUPipelineLayoutImpl::GetCtor(isolate)->GetFunction( + context).ToLocalChecked()->NewInstance(context).ToLocalChecked(); + SetNativeType(object, NativeType::GPUPipelineLayout); + object->SetAlignedPointerInInternalField(0, device); + device->BindFinalizer(isolate, object); + return scope.Escape(object); + } + + +private: + CanvasGPUPipelineLayout *pipeline_; +}; + + +#endif //CANVAS_ANDROID_GPUPIPELINELAYOUTIMPL_H diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp index b3e7a1b90..bbf72513d 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp @@ -4,6 +4,8 @@ #include "GPUQueueImpl.h" #include "Caches.h" +#include "GPUBufferImpl.h" +#include "GPUCommandBufferImpl.h" GPUQueueImpl::GPUQueueImpl(CanvasGPUQueue *queue) : queue_(queue) {} @@ -34,7 +36,7 @@ GPUQueueImpl *GPUQueueImpl::GetPointer(const v8::Local &object) { v8::Local GPUQueueImpl::GetCtor(v8::Isolate *isolate) { auto cache = Caches::Get(isolate); - auto ctor = cache->GPUDeviceTmpl.get(); + auto ctor = cache->GPUQueueTmpl.get(); if (ctor != nullptr) { return ctor->Get(isolate); } @@ -47,8 +49,99 @@ v8::Local GPUQueueImpl::GetCtor(v8::Isolate *isolate) { tmpl->SetInternalFieldCount(2); - cache->GPUDeviceTmpl = + tmpl->Set( + ConvertToV8String(isolate, "writeBuffer"), + v8::FunctionTemplate::New(isolate, &WriteBuffer)); + + tmpl->Set( + ConvertToV8String(isolate, "submit"), + v8::FunctionTemplate::New(isolate, &Submit)); + + cache->GPUQueueTmpl = std::make_unique>(isolate, ctorTmpl); return ctorTmpl; } +void GPUQueueImpl::WriteBuffer(const v8::FunctionCallbackInfo &args) { + auto *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + auto isolate = args.GetIsolate(); + auto context = isolate->GetCurrentContext(); + + auto bufferValue = args[0]; + + if (bufferValue->IsObject()) { + auto buffer = GPUBufferImpl::GetPointer(bufferValue.As()); + + + auto bufferOffset = (uint64_t) args[1].As()->Value(); + + auto dataValue = args[2].As(); + + auto offset = dataValue->ByteOffset(); + + auto store = dataValue->Buffer()->GetBackingStore(); + + auto data = static_cast(store->Data()) + offset; + + auto data_size = store->ByteLength() - offset; + + auto dataOffset = (uint64_t) args[3].As()->Value(); + + int64_t size = -1; + auto sizeValue = args[4]; + + if (sizeValue->IsNumber()) { + size = (int64_t) sizeValue->ToNumber(context).ToLocalChecked()->Value(); + } + + + if (buffer != nullptr) { + canvas_native_webgpu_queue_write_buffer(ptr->GetGPUQueue(), buffer->GetGPUBuffer(), + bufferOffset, data, data_size, dataOffset, + size); + } + } + + +} + + +void GPUQueueImpl::Submit(const v8::FunctionCallbackInfo &args) { + auto *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + auto isolate = args.GetIsolate(); + auto context = isolate->GetCurrentContext(); + + std::vector commandBuffers; + auto commandBuffersVal = args[0]; + + if (commandBuffersVal->IsArray()) { + auto commandBuffersArray = commandBuffersVal.As(); + auto len = commandBuffersArray->Length(); + + for (int i = 0; i < len; i++) { + v8::Local item; + commandBuffersArray->Get(context, i).ToLocal(&item); + if (!item.IsEmpty() && item->IsObject()) { + auto buffer = GPUCommandBufferImpl::GetPointer(item.As()); + if (buffer != nullptr) { + commandBuffers.push_back(buffer->GetGPUCommandBuffer()); + } + } + } + + canvas_native_webgpu_queue_submit(ptr->GetGPUQueue(), commandBuffers.data(), + commandBuffers.size()); + + } + + +} + diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h index da879a8e7..e4ff60beb 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h @@ -36,6 +36,11 @@ class GPUQueueImpl: ObjectWrapperImpl { } + static void WriteBuffer(const v8::FunctionCallbackInfo &args); + + static void Submit(const v8::FunctionCallbackInfo &args); + + private: CanvasGPUQueue *queue_; }; diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp new file mode 100644 index 000000000..80693a99d --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp @@ -0,0 +1,167 @@ +// +// Created by Osei Fortune on 01/07/2024. +// + +#include "GPURenderPassEncoderImpl.h" +#include "Caches.h" +#include "GPURenderPipelineImpl.h" +#include "GPUBufferImpl.h" + +GPURenderPassEncoderImpl::GPURenderPassEncoderImpl(CanvasGPURenderPass *pass) : pass_(pass) {} + +CanvasGPURenderPass *GPURenderPassEncoderImpl::GetPass() { + return this->pass_; +} + + +void GPURenderPassEncoderImpl::Init(v8::Local canvasModule, v8::Isolate *isolate) { + v8::Locker locker(isolate); + v8::Isolate::Scope isolate_scope(isolate); + v8::HandleScope handle_scope(isolate); + + auto ctor = GetCtor(isolate); + auto context = isolate->GetCurrentContext(); + auto func = ctor->GetFunction(context).ToLocalChecked(); + + canvasModule->Set(context, ConvertToV8String(isolate, "GPURenderPassEncoder"), func); +} + +GPURenderPassEncoderImpl * +GPURenderPassEncoderImpl::GetPointer(const v8::Local &object) { + auto ptr = object->GetAlignedPointerFromInternalField(0); + if (ptr == nullptr) { + return nullptr; + } + return static_cast(ptr); +} + +v8::Local GPURenderPassEncoderImpl::GetCtor(v8::Isolate *isolate) { + auto cache = Caches::Get(isolate); + auto ctor = cache->GPURenderPassEncoderTmpl.get(); + if (ctor != nullptr) { + return ctor->Get(isolate); + } + + v8::Local ctorTmpl = v8::FunctionTemplate::New(isolate); + ctorTmpl->InstanceTemplate()->SetInternalFieldCount(2); + ctorTmpl->SetClassName(ConvertToV8String(isolate, "GPURenderPassEncoder")); + + auto tmpl = ctorTmpl->InstanceTemplate(); + tmpl->SetInternalFieldCount(2); + + tmpl->Set( + ConvertToV8String(isolate, "setPipeline"), + v8::FunctionTemplate::New(isolate, &SetPipeline)); + + tmpl->Set( + ConvertToV8String(isolate, "setVertexBuffer"), + v8::FunctionTemplate::New(isolate, &SetVertexBuffer)); + + tmpl->Set( + ConvertToV8String(isolate, "draw"), + v8::FunctionTemplate::New(isolate, &Draw)); + + tmpl->Set( + ConvertToV8String(isolate, "end"), + v8::FunctionTemplate::New(isolate, &End)); + + cache->GPURenderPassEncoderTmpl = + std::make_unique>(isolate, ctorTmpl); + return ctorTmpl; +} + +void GPURenderPassEncoderImpl::SetPipeline(const v8::FunctionCallbackInfo &args) { + auto *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + auto pipelineVal = args[0]; + if (pipelineVal->IsObject()) { + auto pipeline = GPURenderPipelineImpl::GetPointer(pipelineVal.As()); + if (pipeline != nullptr) { + canvas_native_webgpu_render_pass_set_pipeline(ptr->GetPass(), + pipeline->GetGPUPipeline()); + } + } +} + +void GPURenderPassEncoderImpl::SetVertexBuffer(const v8::FunctionCallbackInfo &args) { + auto *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + auto slotVal = args[0]; + auto bufferVal = args[1]; + int64_t offset = -1; + int64_t size = -1; + auto offsetVal = args[2]; + auto sizeVal = args[3]; + + if (slotVal->IsUint32() && bufferVal->IsObject()) { + auto slot = slotVal.As()->Value(); + auto buffer = GPUBufferImpl::GetPointer(bufferVal.As()); + if (buffer == nullptr) { + // todo throw ?? + return; + } + + if (offsetVal->IsNumber()) { + offset = (int64_t) offsetVal.As()->Value(); + } + + if (sizeVal->IsNumber()) { + size = (int64_t) sizeVal.As()->Value(); + } + + canvas_native_webgpu_render_pass_set_vertex_buffer(ptr->GetPass(), slot, + buffer->GetGPUBuffer(), offset, size); + + } +} + +void GPURenderPassEncoderImpl::Draw(const v8::FunctionCallbackInfo &args) { + auto *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + auto vertexCountVal = args[0]; + auto instanceCountVal = args[1]; + uint32_t instanceCount = 1; + uint32_t firstVertex = 0; + uint32_t firstInstance = 0; + auto firstVertexVal = args[2]; + auto firstInstanceVal = args[3]; + + if (vertexCountVal->IsUint32()) { + auto vertexCount = vertexCountVal.As()->Value(); + + + if (instanceCountVal->IsUint32()) { + instanceCount = instanceCountVal.As()->Value(); + } + + if (firstVertexVal->IsUint32()) { + firstVertex = firstVertexVal.As()->Value(); + } + + if (firstInstanceVal->IsUint32()) { + firstInstance = firstInstanceVal.As()->Value(); + } + + canvas_native_webgpu_render_pass_encoder_draw(ptr->GetPass(), vertexCount, instanceCount, + firstVertex, firstInstance); + + } +} + +void GPURenderPassEncoderImpl::End(const v8::FunctionCallbackInfo &args) { + auto *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + canvas_native_webgpu_render_pass_end(ptr->GetPass()); +} diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h new file mode 100644 index 000000000..ebef63902 --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h @@ -0,0 +1,54 @@ +// +// Created by Osei Fortune on 01/07/2024. +// + +#ifndef CANVAS_ANDROID_GPURENDERPASSENCODERIMPL_H +#define CANVAS_ANDROID_GPURENDERPASSENCODERIMPL_H + +#include "Common.h" +#include "Helpers.h" +#include "ObjectWrapperImpl.h" + +class GPURenderPassEncoderImpl : ObjectWrapperImpl { +public: + GPURenderPassEncoderImpl(CanvasGPURenderPass *pass); + + ~GPURenderPassEncoderImpl() { + } + + CanvasGPURenderPass *GetPass(); + + static void Init(v8::Local canvasModule, v8::Isolate *isolate); + + static GPURenderPassEncoderImpl *GetPointer(const v8::Local &object); + + static v8::Local GetCtor(v8::Isolate *isolate); + + static v8::Local + NewInstance(v8::Isolate *isolate, GPURenderPassEncoderImpl *encoder) { + auto context = isolate->GetCurrentContext(); + v8::EscapableHandleScope scope(isolate); + auto object = GPURenderPassEncoderImpl::GetCtor(isolate)->GetFunction( + context).ToLocalChecked()->NewInstance(context).ToLocalChecked(); + SetNativeType(object, NativeType::GPURenderPassEncoder); + object->SetAlignedPointerInInternalField(0, encoder); + encoder->BindFinalizer(isolate, object); + return scope.Escape(object); + } + + + static void SetPipeline(const v8::FunctionCallbackInfo &args); + + static void SetVertexBuffer(const v8::FunctionCallbackInfo &args); + + static void Draw(const v8::FunctionCallbackInfo &args); + + static void End(const v8::FunctionCallbackInfo &args); + + +private: + CanvasGPURenderPass *pass_; +}; + + +#endif //CANVAS_ANDROID_GPURENDERPASSENCODERIMPL_H diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp new file mode 100644 index 000000000..928e7b660 --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp @@ -0,0 +1,84 @@ +// +// Created by Osei Fortune on 29/06/2024. +// + +#include "GPURenderPipelineImpl.h" +#include "Caches.h" +#include "GPUBindGroupLayoutImpl.h" + +GPURenderPipelineImpl::GPURenderPipelineImpl(CanvasGPURenderPipeline *pipeline) : pipeline_( + pipeline) {} + +CanvasGPURenderPipeline *GPURenderPipelineImpl::GetGPUPipeline() { + return this->pipeline_; +} + + +void GPURenderPipelineImpl::Init(v8::Local canvasModule, v8::Isolate *isolate) { + v8::Locker locker(isolate); + v8::Isolate::Scope isolate_scope(isolate); + v8::HandleScope handle_scope(isolate); + + auto ctor = GetCtor(isolate); + auto context = isolate->GetCurrentContext(); + auto func = ctor->GetFunction(context).ToLocalChecked(); + + canvasModule->Set(context, ConvertToV8String(isolate, "GPURenderPipeline"), func); +} + +GPURenderPipelineImpl *GPURenderPipelineImpl::GetPointer(const v8::Local &object) { + auto ptr = object->GetAlignedPointerFromInternalField(0); + if (ptr == nullptr) { + return nullptr; + } + return static_cast(ptr); +} + +v8::Local GPURenderPipelineImpl::GetCtor(v8::Isolate *isolate) { + auto cache = Caches::Get(isolate); + auto ctor = cache->GPURenderPipelineTmpl.get(); + if (ctor != nullptr) { + return ctor->Get(isolate); + } + + v8::Local ctorTmpl = v8::FunctionTemplate::New(isolate); + ctorTmpl->InstanceTemplate()->SetInternalFieldCount(2); + ctorTmpl->SetClassName(ConvertToV8String(isolate, "GPURenderPipeline")); + + auto tmpl = ctorTmpl->InstanceTemplate(); + tmpl->SetInternalFieldCount(2); + + + tmpl->Set( + ConvertToV8String(isolate, "getBindGroupLayout"), + v8::FunctionTemplate::New(isolate, &GetBindGroupLayout)); + + cache->GPURenderPipelineTmpl = + std::make_unique>(isolate, ctorTmpl); + return ctorTmpl; +} + +void GPURenderPipelineImpl::GetBindGroupLayout(const v8::FunctionCallbackInfo &args) { + auto *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + return; + } + + auto isolate = args.GetIsolate(); + auto context = isolate->GetCurrentContext(); + auto index = args[0]->Uint32Value(context).ToChecked(); + + + auto group_layout = canvas_native_webgpu_render_pipeline_get_bind_group_layout( + ptr->GetGPUPipeline(), index); + + if (group_layout != nullptr) { + auto ret = GPUBindGroupLayoutImpl::NewInstance(isolate, + new GPUBindGroupLayoutImpl(group_layout)); + args.GetReturnValue().Set(ret); + return; + } + + args.GetReturnValue().SetUndefined(); +} + diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h new file mode 100644 index 000000000..8af502ee6 --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h @@ -0,0 +1,48 @@ +// +// Created by Osei Fortune on 29/06/2024. +// + +#ifndef CANVAS_ANDROID_GPURENDERPIPELINEIMPL_H +#define CANVAS_ANDROID_GPURENDERPIPELINEIMPL_H + +#include "Common.h" +#include "Helpers.h" +#include "ObjectWrapperImpl.h" + +class GPURenderPipelineImpl : ObjectWrapperImpl { +public: + GPURenderPipelineImpl(CanvasGPURenderPipeline *pipeline); + + ~GPURenderPipelineImpl() { + } + + CanvasGPURenderPipeline *GetGPUPipeline(); + + static void Init(v8::Local canvasModule, v8::Isolate *isolate); + + static GPURenderPipelineImpl *GetPointer(const v8::Local &object); + + static v8::Local GetCtor(v8::Isolate *isolate); + + static v8::Local + NewInstance(v8::Isolate *isolate, GPURenderPipelineImpl *pipeline) { + auto context = isolate->GetCurrentContext(); + v8::EscapableHandleScope scope(isolate); + auto object = GPURenderPipelineImpl::GetCtor(isolate)->GetFunction( + context).ToLocalChecked()->NewInstance(context).ToLocalChecked(); + SetNativeType(object, NativeType::GPURenderPipeline); + object->SetAlignedPointerInInternalField(0, pipeline); + pipeline->BindFinalizer(isolate, object); + return scope.Escape(object); + } + + + static void GetBindGroupLayout(const v8::FunctionCallbackInfo &args); + + +private: + CanvasGPURenderPipeline *pipeline_; +}; + + +#endif //CANVAS_ANDROID_GPURENDERPIPELINEIMPL_H diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp index 592cbece3..9bbab8b4c 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp @@ -3,8 +3,8 @@ // #include "GPUTextureImpl.h" - #include "Caches.h" +#include "GPUTextureViewImpl.h" GPUTextureImpl::GPUTextureImpl(CanvasGPUTexture *texture) : texture_(texture) {} @@ -93,7 +93,12 @@ v8::Local GPUTextureImpl::GetCtor(v8::Isolate *isolate) { ConvertToV8String(isolate, "mipLevelCount"), GetMipLevelCount ); + + tmpl->Set( + ConvertToV8String(isolate, "createView"), + v8::FunctionTemplate::New(isolate, &CreateView)); + cache->GPUTextureTmpl = std::make_unique>(isolate, ctorTmpl); return ctorTmpl; @@ -107,13 +112,13 @@ GPUTextureImpl::GetDimension(v8::Local name, auto width = canvas_native_webgpu_texture_get_dimension(ptr->GetTexture()); auto isolate = info.GetIsolate(); switch (width) { - case D1: + case CanvasTextureDimension::CanvasTextureDimensionD1: info.GetReturnValue().Set(ConvertToV8String(isolate, "d1")); break; - case D2: + case CanvasTextureDimension::CanvasTextureDimensionD2: info.GetReturnValue().Set(ConvertToV8String(isolate, "d2")); break; - case D3: + case CanvasTextureDimension::CanvasTextureDimensionD3: info.GetReturnValue().Set(ConvertToV8String(isolate, "d3")); break; } @@ -220,3 +225,29 @@ void GPUTextureImpl::Destroy(const v8::FunctionCallbackInfo &args) { } canvas_native_webgpu_texture_destroy(ptr->GetTexture()); } + + +void GPUTextureImpl::CreateView(const v8::FunctionCallbackInfo &args) { + GPUTextureImpl *ptr = GetPointer(args.This()); + if (ptr == nullptr) { + args.GetReturnValue().SetUndefined(); + return; + } + auto isolate = args.GetIsolate(); + + auto desc = args[0]; + CanvasCreateTextureViewDescriptor *descriptor = nullptr; + if(desc->IsObject()){ + + } + auto view = canvas_native_webgpu_texture_create_texture_view(ptr->GetTexture(), descriptor); + + if(view != nullptr){ + auto ret = GPUTextureViewImpl::NewInstance(isolate, new GPUTextureViewImpl(view)); + args.GetReturnValue().Set(ret); + return; + } + + args.GetReturnValue().SetUndefined(); + +} diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h index e0be8532d..8c987a6d8 100644 --- a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h @@ -62,8 +62,9 @@ class GPUTextureImpl : ObjectWrapperImpl { static void GetUsage(v8::Local name, const v8::PropertyCallbackInfo &info); - static void Destroy(const v8::FunctionCallbackInfo &args); + + static void CreateView(const v8::FunctionCallbackInfo &args); private: CanvasGPUTexture *texture_; diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp new file mode 100644 index 000000000..fe38f39de --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp @@ -0,0 +1,53 @@ +// +// Created by Osei Fortune on 01/07/2024. +// + +#include "GPUTextureViewImpl.h" +#include "Caches.h" + +GPUTextureViewImpl::GPUTextureViewImpl(CanvasGPUTextureView *view) : view_(view) {} + +CanvasGPUTextureView *GPUTextureViewImpl::GetTextureView() { + return this->view_; +} + + +void GPUTextureViewImpl::Init(v8::Local canvasModule, v8::Isolate *isolate) { + v8::Locker locker(isolate); + v8::Isolate::Scope isolate_scope(isolate); + v8::HandleScope handle_scope(isolate); + + auto ctor = GetCtor(isolate); + auto context = isolate->GetCurrentContext(); + auto func = ctor->GetFunction(context).ToLocalChecked(); + + canvasModule->Set(context, ConvertToV8String(isolate, "GPUTextureView"), func); +} + +GPUTextureViewImpl *GPUTextureViewImpl::GetPointer(const v8::Local &object) { + auto ptr = object->GetAlignedPointerFromInternalField(0); + if (ptr == nullptr) { + return nullptr; + } + return static_cast(ptr); +} + +v8::Local GPUTextureViewImpl::GetCtor(v8::Isolate *isolate) { + auto cache = Caches::Get(isolate); + auto ctor = cache->GPUTextureViewTmpl.get(); + if (ctor != nullptr) { + return ctor->Get(isolate); + } + + v8::Local ctorTmpl = v8::FunctionTemplate::New(isolate); + ctorTmpl->InstanceTemplate()->SetInternalFieldCount(2); + ctorTmpl->SetClassName(ConvertToV8String(isolate, "GPUTextureView")); + + auto tmpl = ctorTmpl->InstanceTemplate(); + tmpl->SetInternalFieldCount(2); + + + cache->GPUTextureViewTmpl = + std::make_unique>(isolate, ctorTmpl); + return ctorTmpl; +} diff --git a/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h new file mode 100644 index 000000000..56ca656fe --- /dev/null +++ b/packages/canvas/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h @@ -0,0 +1,44 @@ +// +// Created by Osei Fortune on 01/07/2024. +// + +#ifndef CANVAS_ANDROID_GPUTEXTUREVIEWIMPL_H +#define CANVAS_ANDROID_GPUTEXTUREVIEWIMPL_H + +#include "Common.h" +#include "Helpers.h" +#include "ObjectWrapperImpl.h" + +class GPUTextureViewImpl : ObjectWrapperImpl { +public: + GPUTextureViewImpl(CanvasGPUTextureView *view); + + ~GPUTextureViewImpl() { + } + + CanvasGPUTextureView *GetTextureView(); + + static void Init(v8::Local canvasModule, v8::Isolate *isolate); + + static GPUTextureViewImpl *GetPointer(const v8::Local &object); + + static v8::Local GetCtor(v8::Isolate *isolate); + + static v8::Local NewInstance(v8::Isolate *isolate, GPUTextureViewImpl *view) { + auto context = isolate->GetCurrentContext(); + v8::EscapableHandleScope scope(isolate); + auto object = GPUTextureViewImpl::GetCtor(isolate)->GetFunction( + context).ToLocalChecked()->NewInstance(context).ToLocalChecked(); + SetNativeType(object, NativeType::GPUTextureView); + object->SetAlignedPointerInInternalField(0, view); + view->BindFinalizer(isolate, object); + return scope.Escape(object); + } + + +private: + CanvasGPUTextureView *view_; +}; + + +#endif //CANVAS_ANDROID_GPUTEXTUREVIEWIMPL_H diff --git a/packages/canvas/src-native/canvas-android/.idea/dictionaries/triniwiz.xml b/packages/canvas/src-native/canvas-android/.idea/dictionaries/triniwiz.xml index c06bc8315..dcdb04829 100644 --- a/packages/canvas/src-native/canvas-android/.idea/dictionaries/triniwiz.xml +++ b/packages/canvas/src-native/canvas-android/.idea/dictionaries/triniwiz.xml @@ -27,6 +27,7 @@ shaders triniwiz uint + unclipped varyings webgl webgpu diff --git a/packages/canvas/src-native/canvas-android/canvas/CMakeLists.txt b/packages/canvas/src-native/canvas-android/canvas/CMakeLists.txt index 79ef0f5f9..7e88bcc1b 100644 --- a/packages/canvas/src-native/canvas-android/canvas/CMakeLists.txt +++ b/packages/canvas/src-native/canvas-android/canvas/CMakeLists.txt @@ -168,6 +168,12 @@ add_library( ${CPP_DIR}/webgpu/GPUQuerySetImpl.cpp ${CPP_DIR}/webgpu/GPUCommandEncoderImpl.cpp ${CPP_DIR}/webgpu/GPUShaderModuleImpl.cpp + ${CPP_DIR}/webgpu/GPUPipelineLayoutImpl.cpp + ${CPP_DIR}/webgpu/GPURenderPipelineImpl.cpp + ${CPP_DIR}/webgpu/GPUBindGroupLayoutImpl.cpp + ${CPP_DIR}/webgpu/GPUTextureViewImpl.cpp + ${CPP_DIR}/webgpu/GPURenderPassEncoderImpl.cpp + ${CPP_DIR}/webgpu/GPUCommandBufferImpl.cpp ${CPP_DIR}/CanvasJSIModule.cpp diff --git a/packages/canvas/src-native/canvas-android/canvas/src/main/cpp/include/canvas_native.h b/packages/canvas/src-native/canvas-android/canvas/src/main/cpp/include/canvas_native.h index d8819fdeb..b299e05f8 100644 --- a/packages/canvas/src-native/canvas-android/canvas/src/main/cpp/include/canvas_native.h +++ b/packages/canvas/src-native/canvas-android/canvas/src/main/cpp/include/canvas_native.h @@ -15,59 +15,59 @@ typedef enum CanvasAstcBlock { /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). */ - B4x4, + CanvasAstcBlockB4x4, /** * 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). */ - B5x4, + CanvasAstcBlockB5x4, /** * 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). */ - B5x5, + CanvasAstcBlockB5x5, /** * 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). */ - B6x5, + CanvasAstcBlockB6x5, /** * 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). */ - B6x6, + CanvasAstcBlockB6x6, /** * 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). */ - B8x5, + CanvasAstcBlockB8x5, /** * 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). */ - B8x6, + CanvasAstcBlockB8x6, /** * 8x8 block compressed texture. 16 bytes per block (2 bit/px). */ - B8x8, + CanvasAstcBlockB8x8, /** * 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). */ - B10x5, + CanvasAstcBlockB10x5, /** * 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). */ - B10x6, + CanvasAstcBlockB10x6, /** * 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). */ - B10x8, + CanvasAstcBlockB10x8, /** * 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). */ - B10x10, + CanvasAstcBlockB10x10, /** * 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). */ - B12x10, + CanvasAstcBlockB12x10, /** * 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). */ - B12x12, + CanvasAstcBlockB12x12, } CanvasAstcBlock; /** @@ -79,279 +79,299 @@ typedef enum CanvasAstcChannel { * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - Unorm, + CanvasAstcChannelUnorm, /** * 8 bit integer RGBA, Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - UnormSrgb, + CanvasAstcChannelUnormSrgb, /** * floating-point RGBA, linear-color float can be outside of the [0, 1] range. * * [`Features::TEXTURE_COMPRESSION_ASTC_HDR`] must be enabled to use this channel. */ - Hdr, + CanvasAstcChannelHdr, } CanvasAstcChannel; typedef enum CanvasBlendFactor { /** * 0.0 */ - Zero = 0, + CanvasBlendFactorZero = 0, /** * 1.0 */ - One = 1, + CanvasBlendFactorOne = 1, /** * S.component */ - Src = 2, + CanvasBlendFactorSrc = 2, /** * 1.0 - S.component */ - OneMinusSrc = 3, + CanvasBlendFactorOneMinusSrc = 3, /** * S.alpha */ - SrcAlpha = 4, + CanvasBlendFactorSrcAlpha = 4, /** * 1.0 - S.alpha */ - OneMinusSrcAlpha = 5, + CanvasBlendFactorOneMinusSrcAlpha = 5, /** * D.component */ - Dst = 6, + CanvasBlendFactorDst = 6, /** * 1.0 - D.component */ - OneMinusDst = 7, + CanvasBlendFactorOneMinusDst = 7, /** * D.alpha */ - DstAlpha = 8, + CanvasBlendFactorDstAlpha = 8, /** * 1.0 - D.alpha */ - OneMinusDstAlpha = 9, + CanvasBlendFactorOneMinusDstAlpha = 9, /** * min(S.alpha, 1.0 - D.alpha) */ - SrcAlphaSaturated = 10, + CanvasBlendFactorSrcAlphaSaturated = 10, /** * Constant */ - Constant = 11, + CanvasBlendFactorConstant = 11, /** * 1.0 - Constant */ - OneMinusConstant = 12, + CanvasBlendFactorOneMinusConstant = 12, /** * S1.component */ - Src1 = 13, + CanvasBlendFactorSrc1 = 13, /** * 1.0 - S1.component */ - OneMinusSrc1 = 14, + CanvasBlendFactorOneMinusSrc1 = 14, /** * S1.alpha */ - Src1Alpha = 15, + CanvasBlendFactorSrc1Alpha = 15, /** * 1.0 - S1.alpha */ - OneMinusSrc1Alpha = 16, + CanvasBlendFactorOneMinusSrc1Alpha = 16, } CanvasBlendFactor; typedef enum CanvasBlendOperation { /** * Src + Dst */ - Add = 0, + CanvasBlendOperationAdd = 0, /** * Src - Dst */ - Subtract = 1, + CanvasBlendOperationSubtract = 1, /** * Dst - Src */ - ReverseSubtract = 2, + CanvasBlendOperationReverseSubtract = 2, /** * min(Src, Dst) */ - Min = 3, + CanvasBlendOperationMin = 3, /** * max(Src, Dst) */ - Max = 4, + CanvasBlendOperationMax = 4, } CanvasBlendOperation; typedef enum CanvasCompareFunction { - Never = 1, - Less = 2, - Equal = 3, - LessEqual = 4, - Greater = 5, - NotEqual = 6, - GreaterEqual = 7, - Always = 8, + CanvasCompareFunctionNever = 1, + CanvasCompareFunctionLess = 2, + CanvasCompareFunctionEqual = 3, + CanvasCompareFunctionLessEqual = 4, + CanvasCompareFunctionGreater = 5, + CanvasCompareFunctionNotEqual = 6, + CanvasCompareFunctionGreaterEqual = 7, + CanvasCompareFunctionAlways = 8, } CanvasCompareFunction; typedef enum CanvasCullMode { - None, - Front, - Back, + CanvasCullModeNone, + CanvasCullModeFront, + CanvasCullModeBack, } CanvasCullMode; typedef enum CanvasFrontFace { - Ccw = 0, - Cw = 1, + CanvasFrontFaceCcw = 0, + CanvasFrontFaceCw = 1, } CanvasFrontFace; typedef enum CanvasGPUAutoLayoutMode { - Auto, + CanvasGPUAutoLayoutModeAuto, } CanvasGPUAutoLayoutMode; typedef enum CanvasGPUPowerPreference { - None, - LowPower, - HighPerformance, + CanvasGPUPowerPreferenceNone, + CanvasGPUPowerPreferenceLowPower, + CanvasGPUPowerPreferenceHighPerformance, } CanvasGPUPowerPreference; typedef enum CanvasGPUPresentMode { - AutoVsync = 0, - AutoNoVsync = 1, - Fifo = 2, - FifoRelaxed = 3, - Immediate = 4, - Mailbox = 5, + CanvasGPUPresentModeAutoVsync = 0, + CanvasGPUPresentModeAutoNoVsync = 1, + CanvasGPUPresentModeFifo = 2, + CanvasGPUPresentModeFifoRelaxed = 3, + CanvasGPUPresentModeImmediate = 4, + CanvasGPUPresentModeMailbox = 5, } CanvasGPUPresentMode; typedef enum CanvasGPUSurfaceAlphaMode { - Auto = 0, - Opaque = 1, - PreMultiplied = 2, - PostMultiplied = 3, - Inherit = 4, + CanvasGPUSurfaceAlphaModeAuto = 0, + CanvasGPUSurfaceAlphaModeOpaque = 1, + CanvasGPUSurfaceAlphaModePreMultiplied = 2, + CanvasGPUSurfaceAlphaModePostMultiplied = 3, + CanvasGPUSurfaceAlphaModeInherit = 4, } CanvasGPUSurfaceAlphaMode; typedef enum CanvasIndexFormat { /** * Indices are 16 bit unsigned integers. */ - Uint16 = 0, + CanvasIndexFormatUint16 = 0, /** * Indices are 32 bit unsigned integers. */ - Uint32 = 1, + CanvasIndexFormatUint32 = 1, } CanvasIndexFormat; +typedef enum CanvasLoadOp { + CanvasLoadOpClear = 0, + CanvasLoadOpLoad = 1, +} CanvasLoadOp; + +typedef enum CanvasOptionalTextureViewDimension { + CanvasOptionalTextureViewDimensionNone, + CanvasOptionalTextureViewDimensionD1, + CanvasOptionalTextureViewDimensionD2, + CanvasOptionalTextureViewDimensionD2Array, + CanvasOptionalTextureViewDimensionCube, + CanvasOptionalTextureViewDimensionCubeArray, + CanvasOptionalTextureViewDimensionD3, +} CanvasOptionalTextureViewDimension; + typedef enum CanvasPrimitiveTopology { - PointList = 0, - LineList = 1, - LineStrip = 2, - TriangleList = 3, - TriangleStrip = 4, + CanvasPrimitiveTopologyPointList = 0, + CanvasPrimitiveTopologyLineList = 1, + CanvasPrimitiveTopologyLineStrip = 2, + CanvasPrimitiveTopologyTriangleList = 3, + CanvasPrimitiveTopologyTriangleStrip = 4, } CanvasPrimitiveTopology; typedef enum CanvasStencilOperation { - Keep = 0, - Zero = 1, - Replace = 2, - Invert = 3, - IncrementClamp = 4, - DecrementClamp = 5, - IncrementWrap = 6, - DecrementWrap = 7, + CanvasStencilOperationKeep = 0, + CanvasStencilOperationZero = 1, + CanvasStencilOperationReplace = 2, + CanvasStencilOperationInvert = 3, + CanvasStencilOperationIncrementClamp = 4, + CanvasStencilOperationDecrementClamp = 5, + CanvasStencilOperationIncrementWrap = 6, + CanvasStencilOperationDecrementWrap = 7, } CanvasStencilOperation; +typedef enum CanvasStoreOp { + CanvasStoreOpDiscard = 0, + CanvasStoreOpStore = 1, +} CanvasStoreOp; + typedef enum CanvasTextureAspect { /** * Depth, Stencil, and Color. */ - All, + CanvasTextureAspectAll, /** * Stencil. */ - StencilOnly, + CanvasTextureAspectStencilOnly, /** * Depth. */ - DepthOnly, + CanvasTextureAspectDepthOnly, /** * Plane 0. */ - Plane0, + CanvasTextureAspectPlane0, /** * Plane 1. */ - Plane1, + CanvasTextureAspectPlane1, /** * Plane 2. */ - Plane2, + CanvasTextureAspectPlane2, } CanvasTextureAspect; typedef enum CanvasTextureDimension { - D1, - D2, - D3, + CanvasTextureDimensionD1, + CanvasTextureDimensionD2, + CanvasTextureDimensionD3, } CanvasTextureDimension; typedef enum CanvasVertexFormat { - Uint8x2 = 0, - Uint8x4 = 1, - Sint8x2 = 2, - Sint8x4 = 3, - Unorm8x2 = 4, - Unorm8x4 = 5, - Snorm8x2 = 6, - Snorm8x4 = 7, - Uint16x2 = 8, - Uint16x4 = 9, - Sint16x2 = 10, - Sint16x4 = 11, - Unorm16x2 = 12, - Unorm16x4 = 13, - Snorm16x2 = 14, - Snorm16x4 = 15, - Float16x2 = 16, - Float16x4 = 17, - Float32 = 18, - Float32x2 = 19, - Float32x3 = 20, - Float32x4 = 21, - Uint32 = 22, - Uint32x2 = 23, - Uint32x3 = 24, - Uint32x4 = 25, - Sint32 = 26, - Sint32x2 = 27, - Sint32x3 = 28, - Sint32x4 = 29, - Float64 = 30, - Float64x2 = 31, - Float64x3 = 32, - Float64x4 = 33, - Unorm10_10_10_2 = 34, + CanvasVertexFormatUint8x2 = 0, + CanvasVertexFormatUint8x4 = 1, + CanvasVertexFormatSint8x2 = 2, + CanvasVertexFormatSint8x4 = 3, + CanvasVertexFormatUnorm8x2 = 4, + CanvasVertexFormatUnorm8x4 = 5, + CanvasVertexFormatSnorm8x2 = 6, + CanvasVertexFormatSnorm8x4 = 7, + CanvasVertexFormatUint16x2 = 8, + CanvasVertexFormatUint16x4 = 9, + CanvasVertexFormatSint16x2 = 10, + CanvasVertexFormatSint16x4 = 11, + CanvasVertexFormatUnorm16x2 = 12, + CanvasVertexFormatUnorm16x4 = 13, + CanvasVertexFormatSnorm16x2 = 14, + CanvasVertexFormatSnorm16x4 = 15, + CanvasVertexFormatFloat16x2 = 16, + CanvasVertexFormatFloat16x4 = 17, + CanvasVertexFormatFloat32 = 18, + CanvasVertexFormatFloat32x2 = 19, + CanvasVertexFormatFloat32x3 = 20, + CanvasVertexFormatFloat32x4 = 21, + CanvasVertexFormatUint32 = 22, + CanvasVertexFormatUint32x2 = 23, + CanvasVertexFormatUint32x3 = 24, + CanvasVertexFormatUint32x4 = 25, + CanvasVertexFormatSint32 = 26, + CanvasVertexFormatSint32x2 = 27, + CanvasVertexFormatSint32x3 = 28, + CanvasVertexFormatSint32x4 = 29, + CanvasVertexFormatFloat64 = 30, + CanvasVertexFormatFloat64x2 = 31, + CanvasVertexFormatFloat64x3 = 32, + CanvasVertexFormatFloat64x4 = 33, + CanvasVertexFormatUnorm10_10_10_2 = 34, } CanvasVertexFormat; typedef enum CanvasVertexStepMode { - Vertex = 0, - Instance = 1, + CanvasVertexStepModeVertex = 0, + CanvasVertexStepModeInstance = 1, } CanvasVertexStepMode; typedef enum GLConstants { - UNPACK_FLIP_Y_WEBGL = 37440, - UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441, - UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443, + GLConstantsUnPackFlipYWebGL = 37440, + GLConstantsUnpackPremultiplyAlphaWebGL = 37441, + GLConstantsUnpackColorSpaceConversionWebGL = 37443, } GLConstants; typedef enum GPUMapMode { - Read, - Write, + GPUMapModeRead, + GPUMapModeWrite, } GPUMapMode; typedef enum ImageBitmapColorSpaceConversion { @@ -362,7 +382,7 @@ typedef enum ImageBitmapColorSpaceConversion { typedef enum ImageBitmapPremultiplyAlpha { ImageBitmapPremultiplyAlphaDefault, ImageBitmapPremultiplyAlphaPremultiply, - ImageBitmapPremultiplyAlphaNone, + ImageBitmapPremultiplyAlphaAlphaNone, } ImageBitmapPremultiplyAlpha; typedef enum ImageBitmapResizeQuality { @@ -386,41 +406,41 @@ typedef enum PaintStyleType { } PaintStyleType; typedef enum TextBaseLine { - TOP = 0, - HANGING = 1, - MIDDLE = 2, - ALPHABETIC = 3, - IDEOGRAPHIC = 4, - BOTTOM = 5, + TextBaseLineTOP = 0, + TextBaseLineHANGING = 1, + TextBaseLineMIDDLE = 2, + TextBaseLineALPHABETIC = 3, + TextBaseLineIDEOGRAPHIC = 4, + TextBaseLineBOTTOM = 5, } TextBaseLine; typedef enum WebGLExtensionType { - WebGLExtensionTypeEXT_blend_minmax, - WebGLExtensionTypeEXT_color_buffer_half_float, - WebGLExtensionTypeEXT_disjoint_timer_query, - WebGLExtensionTypeEXT_sRGB, - WebGLExtensionTypeEXT_shader_texture_lod, - WebGLExtensionTypeEXT_texture_filter_anisotropic, - WebGLExtensionTypeOES_element_index_uint, - WebGLExtensionTypeOES_standard_derivatives, - WebGLExtensionTypeOES_texture_float, - WebGLExtensionTypeOES_texture_float_linear, - WebGLExtensionTypeOES_texture_half_float, - WebGLExtensionTypeOES_texture_half_float_linear, - WebGLExtensionTypeOES_vertex_array_object, - WebGLExtensionTypeWEBGL_color_buffer_float, - WebGLExtensionTypeWEBGL_compressed_texture_atc, - WebGLExtensionTypeWEBGL_compressed_texture_etc1, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, - WebGLExtensionTypeWEBGL_compressed_texture_etc, - WebGLExtensionTypeWEBGL_compressed_texture_pvrtc, - WebGLExtensionTypeWEBGL_lose_context, - WebGLExtensionTypeANGLE_instanced_arrays, - WebGLExtensionTypeWEBGL_depth_texture, - WebGLExtensionTypeWEBGL_draw_buffers, - WebGLExtensionTypeOES_fbo_render_mipmap, - WebGLExtensionTypeNone, + WebGLExtensionTypeWebGLExtensionTypeEXT_blend_minmax, + WebGLExtensionTypeWebGLExtensionTypeEXT_color_buffer_half_float, + WebGLExtensionTypeWebGLExtensionTypeEXT_disjoint_timer_query, + WebGLExtensionTypeWebGLExtensionTypeEXT_sRGB, + WebGLExtensionTypeWebGLExtensionTypeEXT_shader_texture_lod, + WebGLExtensionTypeWebGLExtensionTypeEXT_texture_filter_anisotropic, + WebGLExtensionTypeWebGLExtensionTypeOES_element_index_uint, + WebGLExtensionTypeWebGLExtensionTypeOES_standard_derivatives, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_vertex_array_object, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_color_buffer_float, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_atc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc1, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_pvrtc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_lose_context, + WebGLExtensionTypeWebGLExtensionTypeANGLE_instanced_arrays, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_depth_texture, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_draw_buffers, + WebGLExtensionTypeWebGLExtensionTypeOES_fbo_render_mipmap, + WebGLExtensionTypeWebGLExtensionTypeNone, } WebGLExtensionType; typedef enum WebGLResultType { @@ -448,6 +468,8 @@ typedef struct CanvasGPUAdapterInfo CanvasGPUAdapterInfo; typedef struct CanvasGPUBindGroup CanvasGPUBindGroup; +typedef struct CanvasGPUBindGroupLayout CanvasGPUBindGroupLayout; + typedef struct CanvasGPUBuffer CanvasGPUBuffer; typedef struct CanvasGPUCanvasContext CanvasGPUCanvasContext; @@ -480,6 +502,8 @@ typedef struct CanvasGPUTextureView CanvasGPUTextureView; typedef struct CanvasImageDataLayout CanvasImageDataLayout; +typedef struct CanvasRenderPassDepthStencilAttachment CanvasRenderPassDepthStencilAttachment; + typedef struct CanvasRenderingContext2D CanvasRenderingContext2D; typedef struct CanvasWebGPUInstance CanvasWebGPUInstance; @@ -632,6 +656,32 @@ typedef struct CanvasGPUSupportedLimits { uint32_t max_non_sampler_bindings; } CanvasGPUSupportedLimits; +typedef struct CanvasColor { + double r; + double g; + double b; + double a; +} CanvasColor; +#define CanvasColor_TRANSPARENT (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 0.0 } +#define CanvasColor_BLACK (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_WHITE (CanvasColor){ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 } +#define CanvasColor_RED (CanvasColor){ .r = 1.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_GREEN (CanvasColor){ .r = 0.0, .g = 1.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_BLUE (CanvasColor){ .r = 0.0, .g = 0.0, .b = 1.0, .a = 1.0 } + +typedef struct CanvasPassChannelColor { + enum CanvasLoadOp load_op; + enum CanvasStoreOp store_op; + struct CanvasColor clear_value; + bool read_only; +} CanvasPassChannelColor; + +typedef struct CanvasRenderPassColorAttachment { + const struct CanvasGPUTextureView *view; + const struct CanvasGPUTextureView *resolve_target; + struct CanvasPassChannelColor channel; +} CanvasRenderPassColorAttachment; + typedef struct CanvasImageCopyBuffer { const struct CanvasGPUBuffer *buffer; uint64_t offset; @@ -677,8 +727,8 @@ typedef struct CanvasExtent3d { } CanvasExtent3d; typedef enum CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag { - Layout, - Auto, + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeLayout, + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeAuto, } CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag; typedef struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode { @@ -710,14 +760,27 @@ typedef struct CanvasVertexState { const struct CanvasGPUShaderModule *module; const char *entry_point; const struct CanvasConstants *constants; - uintptr_t constants_size; const struct CanvasVertexBufferLayout *buffers; uintptr_t buffers_size; } CanvasVertexState; +typedef enum CanvasOptionalIndexFormat_Tag { + CanvasOptionalIndexFormatNone, + CanvasOptionalIndexFormatSome, +} CanvasOptionalIndexFormat_Tag; + +typedef struct CanvasOptionalIndexFormat { + CanvasOptionalIndexFormat_Tag tag; + union { + struct { + enum CanvasIndexFormat some; + }; + }; +} CanvasOptionalIndexFormat; + typedef struct CanvasPrimitiveState { enum CanvasPrimitiveTopology topology; - enum CanvasIndexFormat strip_index_format; + struct CanvasOptionalIndexFormat strip_index_format; enum CanvasFrontFace front_face; enum CanvasCullMode cull_mode; bool unclipped_depth; @@ -727,213 +790,213 @@ typedef enum CanvasGPUTextureFormat_Tag { /** * Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - R8Unorm, + CanvasGPUTextureFormatR8Unorm, /** * Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - R8Snorm, + CanvasGPUTextureFormatR8Snorm, /** * Red channel only. 8 bit integer per channel. Unsigned in shader. */ - R8Uint, + CanvasGPUTextureFormatR8Uint, /** * Red channel only. 8 bit integer per channel. Signed in shader. */ - R8Sint, + CanvasGPUTextureFormatR8Sint, /** * Red channel only. 16 bit integer per channel. Unsigned in shader. */ - R16Uint, + CanvasGPUTextureFormatR16Uint, /** * Red channel only. 16 bit integer per channel. Signed in shader. */ - R16Sint, + CanvasGPUTextureFormatR16Sint, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Unorm, + CanvasGPUTextureFormatR16Unorm, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Snorm, + CanvasGPUTextureFormatR16Snorm, /** * Red channel only. 16 bit float per channel. Float in shader. */ - R16Float, + CanvasGPUTextureFormatR16Float, /** * Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rg8Unorm, + CanvasGPUTextureFormatRg8Unorm, /** * Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rg8Snorm, + CanvasGPUTextureFormatRg8Snorm, /** * Red and green channels. 8 bit integer per channel. Unsigned in shader. */ - Rg8Uint, + CanvasGPUTextureFormatRg8Uint, /** * Red and green channels. 8 bit integer per channel. Signed in shader. */ - Rg8Sint, + CanvasGPUTextureFormatRg8Sint, /** * Red channel only. 32 bit integer per channel. Unsigned in shader. */ - R32Uint, + CanvasGPUTextureFormatR32Uint, /** * Red channel only. 32 bit integer per channel. Signed in shader. */ - R32Sint, + CanvasGPUTextureFormatR32Sint, /** * Red channel only. 32 bit float per channel. Float in shader. */ - R32Float, + CanvasGPUTextureFormatR32Float, /** * Red and green channels. 16 bit integer per channel. Unsigned in shader. */ - Rg16Uint, + CanvasGPUTextureFormatRg16Uint, /** * Red and green channels. 16 bit integer per channel. Signed in shader. */ - Rg16Sint, + CanvasGPUTextureFormatRg16Sint, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Unorm, + CanvasGPUTextureFormatRg16Unorm, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Snorm, + CanvasGPUTextureFormatRg16Snorm, /** * Red and green channels. 16 bit float per channel. Float in shader. */ - Rg16Float, + CanvasGPUTextureFormatRg16Float, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rgba8Unorm, + CanvasGPUTextureFormatRgba8Unorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Rgba8UnormSrgb, + CanvasGPUTextureFormatRgba8UnormSrgb, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rgba8Snorm, + CanvasGPUTextureFormatRgba8Snorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader. */ - Rgba8Uint, + CanvasGPUTextureFormatRgba8Uint, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader. */ - Rgba8Sint, + CanvasGPUTextureFormatRgba8Sint, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Bgra8Unorm, + CanvasGPUTextureFormatBgra8Unorm, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Bgra8UnormSrgb, + CanvasGPUTextureFormatBgra8UnormSrgb, /** * Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent */ - Rgb9e5Ufloat, + CanvasGPUTextureFormatRgb9e5Ufloat, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. Unsigned in shader. */ - Rgb10a2Uint, + CanvasGPUTextureFormatRgb10a2Uint, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha) converted to/from float [0, 1] in shader. */ - Rgb10a2Unorm, + CanvasGPUTextureFormatRgb10a2Unorm, /** * Red, green, and blue channels. 11 bit float with no sign bit for RG channels. 10 bit float with no sign bit for blue channel. Float in shader. */ - Rg11b10Float, + CanvasGPUTextureFormatRg11b10Float, /** * Red and green channels. 32 bit integer per channel. Unsigned in shader. */ - Rg32Uint, + CanvasGPUTextureFormatRg32Uint, /** * Red and green channels. 32 bit integer per channel. Signed in shader. */ - Rg32Sint, + CanvasGPUTextureFormatRg32Sint, /** * Red and green channels. 32 bit float per channel. Float in shader. */ - Rg32Float, + CanvasGPUTextureFormatRg32Float, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader. */ - Rgba16Uint, + CanvasGPUTextureFormatRgba16Uint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader. */ - Rgba16Sint, + CanvasGPUTextureFormatRgba16Sint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Unorm, + CanvasGPUTextureFormatRgba16Unorm, /** * Red, green, blue, and alpha. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Snorm, + CanvasGPUTextureFormatRgba16Snorm, /** * Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader. */ - Rgba16Float, + CanvasGPUTextureFormatRgba16Float, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader. */ - Rgba32Uint, + CanvasGPUTextureFormatRgba32Uint, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader. */ - Rgba32Sint, + CanvasGPUTextureFormatRgba32Sint, /** * Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader. */ - Rgba32Float, + CanvasGPUTextureFormatRgba32Float, /** * Stencil format with 8 bit integer stencil. */ - Stencil8, + CanvasGPUTextureFormatStencil8, /** * Special depth format with 16 bit integer depth. */ - Depth16Unorm, + CanvasGPUTextureFormatDepth16Unorm, /** * Special depth format with at least 24 bit integer depth. */ - Depth24Plus, + CanvasGPUTextureFormatDepth24Plus, /** * Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil. */ - Depth24PlusStencil8, + CanvasGPUTextureFormatDepth24PlusStencil8, /** * Special depth format with 32 bit floating point depth. */ - Depth32Float, + CanvasGPUTextureFormatDepth32Float, /** * Special depth/stencil format with 32 bit floating point depth and 8 bits integer stencil. * * [`Features::DEPTH32FLOAT_STENCIL8`] must be enabled to use this texture format. */ - Depth32FloatStencil8, + CanvasGPUTextureFormatDepth32FloatStencil8, /** * YUV 4:2:0 chroma subsampled format. * @@ -949,7 +1012,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_FORMAT_NV12`] must be enabled to use this texture format. */ - NV12, + CanvasGPUTextureFormatNV12, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * [0, 63] ([0, 1] for alpha) converted to/from float [0, 1] in shader. @@ -958,7 +1021,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnorm, + CanvasGPUTextureFormatBc1RgbaUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * Srgb-color [0, 63] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -967,7 +1030,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnormSrgb, + CanvasGPUTextureFormatBc1RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * [0, 63] ([0, 15] for alpha) converted to/from float [0, 1] in shader. @@ -976,7 +1039,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnorm, + CanvasGPUTextureFormatBc2RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -985,7 +1048,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnormSrgb, + CanvasGPUTextureFormatBc2RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * [0, 63] ([0, 255] for alpha) converted to/from float [0, 1] in shader. @@ -994,7 +1057,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnorm, + CanvasGPUTextureFormatBc3RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -1003,7 +1066,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnormSrgb, + CanvasGPUTextureFormatBc3RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [0, 255] converted to/from float [0, 1] in shader. @@ -1012,7 +1075,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RUnorm, + CanvasGPUTextureFormatBc4RUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -1021,7 +1084,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RSnorm, + CanvasGPUTextureFormatBc4RSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [0, 255] converted to/from float [0, 1] in shader. @@ -1030,7 +1093,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgUnorm, + CanvasGPUTextureFormatBc5RgUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -1039,7 +1102,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgSnorm, + CanvasGPUTextureFormatBc5RgSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit unsigned float RGB. Float in shader. * @@ -1047,7 +1110,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbUfloat, + CanvasGPUTextureFormatBc6hRgbUfloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit signed float RGB. Float in shader. * @@ -1055,7 +1118,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbFloat, + CanvasGPUTextureFormatBc6hRgbFloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * [0, 255] converted to/from float [0, 1] in shader. @@ -1064,7 +1127,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnorm, + CanvasGPUTextureFormatBc7RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. @@ -1073,77 +1136,77 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnormSrgb, + CanvasGPUTextureFormatBc7RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8Unorm, + CanvasGPUTextureFormatEtc2Rgb8Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * [0, 255] ([0, 1] for alpha) converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1Unorm, + CanvasGPUTextureFormatEtc2Rgb8A1Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * Srgb-color [0, 255] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8A1UnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8Unorm, + CanvasGPUTextureFormatEtc2Rgba8Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgba8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Unorm, + CanvasGPUTextureFormatEacR11Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Snorm, + CanvasGPUTextureFormatEacR11Snorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Unorm, + CanvasGPUTextureFormatEacRg11Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Snorm, + CanvasGPUTextureFormatEacRg11Snorm, /** * block compressed texture. 16 bytes per block. * @@ -1153,10 +1216,10 @@ typedef enum CanvasGPUTextureFormat_Tag { * [`TEXTURE_COMPRESSION_ASTC`]: Features::TEXTURE_COMPRESSION_ASTC * [`TEXTURE_COMPRESSION_ASTC_HDR`]: Features::TEXTURE_COMPRESSION_ASTC_HDR */ - Astc, + CanvasGPUTextureFormatAstc, } CanvasGPUTextureFormat_Tag; -typedef struct Astc_Body { +typedef struct CanvasGPUTextureFormatAstc_Body { /** * compressed block dimensions */ @@ -1165,12 +1228,12 @@ typedef struct Astc_Body { * ASTC RGBA channel */ enum CanvasAstcChannel channel; -} Astc_Body; +} CanvasGPUTextureFormatAstc_Body; typedef struct CanvasGPUTextureFormat { CanvasGPUTextureFormat_Tag tag; union { - Astc_Body astc; + CanvasGPUTextureFormatAstc_Body astc; }; } CanvasGPUTextureFormat; @@ -1242,8 +1305,8 @@ typedef struct CanvasBlendState { #define CanvasBlendState_PREMULTIPLIED_ALPHA_BLENDING (CanvasBlendState){ .color = CanvasBlendComponent_OVER, .alpha = CanvasBlendComponent_OVER } typedef enum CanvasOptionalBlendState_Tag { - None, - Some, + CanvasOptionalBlendStateNone, + CanvasOptionalBlendStateSome, } CanvasOptionalBlendState_Tag; typedef struct CanvasOptionalBlendState { @@ -1330,19 +1393,6 @@ typedef struct CanvasImageCopyExternalImage { uint32_t height; } CanvasImageCopyExternalImage; -typedef struct CanvasColor { - double r; - double g; - double b; - double a; -} CanvasColor; -#define CanvasColor_TRANSPARENT (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 0.0 } -#define CanvasColor_BLACK (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 1.0 } -#define CanvasColor_WHITE (CanvasColor){ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 } -#define CanvasColor_RED (CanvasColor){ .r = 1.0, .g = 0.0, .b = 0.0, .a = 1.0 } -#define CanvasColor_GREEN (CanvasColor){ .r = 0.0, .g = 1.0, .b = 0.0, .a = 1.0 } -#define CanvasColor_BLUE (CanvasColor){ .r = 0.0, .g = 0.0, .b = 1.0, .a = 1.0 } - typedef struct CanvasGPUSurfaceConfiguration { enum CanvasGPUSurfaceAlphaMode alphaMode; uint32_t usage; @@ -1351,6 +1401,34 @@ typedef struct CanvasGPUSurfaceConfiguration { uintptr_t view_formats_size; } CanvasGPUSurfaceConfiguration; +typedef enum CanvasOptionalGPUTextureFormat_Tag { + CanvasOptionalGPUTextureFormatNone, + CanvasOptionalGPUTextureFormatSome, +} CanvasOptionalGPUTextureFormat_Tag; + +typedef struct CanvasOptionalGPUTextureFormat { + CanvasOptionalGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionalGPUTextureFormat; + +typedef enum CanvasOptionsGPUTextureFormat_Tag { + CanvasOptionsGPUTextureFormatNone, + CanvasOptionsGPUTextureFormatSome, +} CanvasOptionsGPUTextureFormat_Tag; + +typedef struct CanvasOptionsGPUTextureFormat { + CanvasOptionsGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionsGPUTextureFormat; + typedef struct CanvasImageSubresourceRange { enum CanvasTextureAspect aspect; uint32_t base_mip_level; @@ -1362,8 +1440,8 @@ typedef struct CanvasImageSubresourceRange { typedef struct CanvasCreateTextureViewDescriptor { const struct CanvasGPUTexture *texture; const char *label; - struct CanvasGPUTextureFormat format; - enum CanvasTextureDimension dimension; + struct CanvasOptionsGPUTextureFormat format; + enum CanvasOptionalTextureViewDimension dimension; const struct CanvasImageSubresourceRange *range; } CanvasCreateTextureViewDescriptor; @@ -4070,8 +4148,12 @@ struct CanvasGPUComputePass *canvas_native_webgpu_command_encoder_begin_compute_ int32_t end_of_pass_write_index); struct CanvasGPURenderPass *canvas_native_webgpu_command_encoder_begin_render_pass(struct CanvasGPUCommandEncoder *command_encoder, - const struct CanvasGPUQuerySet *query_set, const char *label, + const struct CanvasRenderPassColorAttachment *color_attachments, + uintptr_t color_attachments_size, + const struct CanvasRenderPassDepthStencilAttachment *depth_stencil_attachment, + const struct CanvasGPUQuerySet *occlusion_query_set, + const struct CanvasGPUQuerySet *query_set, int32_t beginning_of_pass_write_index, int32_t end_of_pass_write_index); @@ -4157,8 +4239,8 @@ void canvas_native_webgpu_constants_insert(struct CanvasConstants *constants, void canvas_native_webgpu_constants_destroy(struct CanvasConstants *constants); -struct CanvasGPUBuffer *canvas_native_webgpu_device_create_render_pipeline(const struct CanvasGPUDevice *device, - const struct CanvasCreateRenderPipelineDescriptor *descriptor); +struct CanvasGPURenderPipeline *canvas_native_webgpu_device_create_render_pipeline(const struct CanvasGPUDevice *device, + const struct CanvasCreateRenderPipelineDescriptor *descriptor); struct CanvasGPUTexture *canvas_native_webgpu_device_create_texture(const struct CanvasGPUDevice *device, const struct CanvasCreateTextureDescriptor *descriptor, @@ -4174,7 +4256,7 @@ void canvas_native_webgpu_queue_on_submitted_work_done(struct CanvasGPUQueue *qu void *callback_data); void canvas_native_webgpu_queue_submit(struct CanvasGPUQueue *queue, - struct CanvasGPUCommandBuffer *command_buffers, + const struct CanvasGPUCommandBuffer *const *command_buffers, uintptr_t command_buffers_size); void canvas_native_webgpu_queue_write_buffer(struct CanvasGPUQueue *queue, @@ -4279,10 +4361,33 @@ void canvas_native_webgpu_render_pass_set_viewport(struct CanvasGPURenderPass *r float depth_min, float depth_max); +#if defined(TARGET_OS_ANDROID) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, + void *window, + uint32_t width, + uint32_t height); +#endif + +#if (defined(TARGET_OS_IOS) || defined(TARGET_OS_MACOS)) struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, void *view, uint32_t width, uint32_t height); +#endif + +#if defined(TARGET_OS_IOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_uiview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif + +#if defined(TARGET_OS_MACOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_nsview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif void canvas_native_webgpu_context_configure(struct CanvasGPUCanvasContext *context, struct CanvasGPUDevice *device, @@ -4296,6 +4401,8 @@ struct CanvasGPUTexture *canvas_native_webgpu_context_get_current_texture(struct char *canvas_native_webgpu_enum_gpu_texture_to_string(struct CanvasGPUTextureFormat value); +struct CanvasOptionalGPUTextureFormat canvas_native_webgpu_string_to_gpu_texture_enum(const char *format); + struct CanvasGPUTextureView *canvas_native_webgpu_texture_create_texture_view(struct CanvasGPUTexture *texture, const struct CanvasCreateTextureViewDescriptor *descriptor); @@ -4319,6 +4426,9 @@ uint32_t canvas_native_webgpu_texture_get_sample_count(struct CanvasGPUTexture * char *canvas_native_webgpu_texture_destroy(struct CanvasGPUTexture *texture); +struct CanvasGPUBindGroupLayout *canvas_native_webgpu_render_pipeline_get_bind_group_layout(const struct CanvasGPURenderPipeline *pipeline, + uint32_t index); + const uint8_t *canvas_native_u8_buffer_get_bytes(const struct U8Buffer *buffer); uint8_t *canvas_native_u8_buffer_get_bytes_mut(struct U8Buffer *buffer); diff --git a/packages/canvas/src-native/canvas-android/canvas/src/main/java/org/nativescript/canvas/NSCCanvas.kt b/packages/canvas/src-native/canvas-android/canvas/src/main/java/org/nativescript/canvas/NSCCanvas.kt index c7053bf20..3da521f8f 100644 --- a/packages/canvas/src-native/canvas-android/canvas/src/main/java/org/nativescript/canvas/NSCCanvas.kt +++ b/packages/canvas/src-native/canvas-android/canvas/src/main/java/org/nativescript/canvas/NSCCanvas.kt @@ -156,6 +156,25 @@ class NSCCanvas : FrameLayout { textureView.surfaceTexture?.release() } + fun initWebGPUContext(instance: Long) { + val surface = if (surfaceType == SurfaceType.Surface) { +// if (alpha) { +// surfaceView.setZOrderOnTop(true) +// } else { +// surfaceView.setZOrderOnTop(false) +// } + surfaceView.holder.surface + } else { +// textureView.isOpaque = !alpha + textureView.surface + } + + surface?.let { + nativeContext = nativeInitWebGPU(instance, it, width, height) + } + + } + @JvmOverloads fun initContext( type: String, @@ -749,6 +768,15 @@ class NSCCanvas : FrameLayout { sb.append("\"${key}\": ${value}${if (isLast) "" else ","}") } + @JvmStatic + @FastNative + external fun nativeInitWebGPU( + instance: Long, + surface: Surface, + width: Int, + height: Int + ): Long + @JvmStatic @FastNative external fun nativeInitGL( diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate b/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate index 19dd031c6..bbae979fa 100644 Binary files a/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate and b/packages/canvas/src-native/canvas-ios/CanvasNative.xcodeproj/project.xcworkspace/xcuserdata/triniwiz.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/Source/CanvasHelpers.swift b/packages/canvas/src-native/canvas-ios/CanvasNative/Source/CanvasHelpers.swift index 0776cb1fa..3121e5771 100644 --- a/packages/canvas/src-native/canvas-ios/CanvasNative/Source/CanvasHelpers.swift +++ b/packages/canvas/src-native/canvas-ios/CanvasNative/Source/CanvasHelpers.swift @@ -72,10 +72,14 @@ public class CanvasHelpers: NSObject { } - public static func initWebGPUWithView(_ instance: Int64,_ view: Int64, _ width: UInt32, _ height: UInt32) -> Int64{ + public static func initWebGPUWithViewLayer(_ instance: Int64,_ view: Int64, _ width: UInt32, _ height: UInt32) -> Int64{ return canvas_native_init_ios_webgpu(instance, view, width, height) } + public static func initWebGPUWithView(_ instance: Int64,_ view: Int64, _ width: UInt32, _ height: UInt32) -> Int64{ + return canvas_native_init_ios_webgpu_uiview(instance, view, width, height) + } + public static func initGLWithView(_ view: Int64, _ alpha: Bool, _ antialias: Bool, _ depth: Bool, diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/Source/NSCCanvas.swift b/packages/canvas/src-native/canvas-ios/CanvasNative/Source/NSCCanvas.swift index 3f3e2c726..81ccecf0e 100644 --- a/packages/canvas/src-native/canvas-ios/CanvasNative/Source/NSCCanvas.swift +++ b/packages/canvas/src-native/canvas-ios/CanvasNative/Source/NSCCanvas.swift @@ -70,13 +70,11 @@ public class NSCCanvas: UIView { public func getMtlViewPtr() -> UnsafeMutableRawPointer { if(mtlPtr == nil){ - mtlPtr = Unmanaged.passRetained(mtlView.layer).toOpaque() + mtlPtr = Unmanaged.passRetained(mtlView).toOpaque() } return mtlPtr! } - - public var autoScale: Bool = true { didSet { if(!autoScale){ @@ -156,7 +154,8 @@ public class NSCCanvas: UIView { return } let viewPtr = Int64(Int(bitPattern: getMtlViewPtr())) - nativeContext = CanvasHelpers.initWebGPUWithView(instance, viewPtr, UInt32(width) as UInt32, UInt32(height) as UInt32) + var density = Float(UIScreen.main.nativeScale) + nativeContext = CanvasHelpers.initWebGPUWithView(instance, viewPtr, UInt32(width * density) as UInt32, UInt32(height * density) as UInt32) mtlView.isHidden = false } @@ -393,12 +392,24 @@ public class NSCCanvas: UIView { required init?(coder: NSCoder) { mtlView = MTKView(coder: coder) + if #available(iOS 13.0, *) { + if((mtlView.layer as? CAMetalLayer) != nil){ + let layer = mtlView.layer as! CAMetalLayer + // https://developer.apple.com/documentation/quartzcore/cametallayer/1478157-presentswithtransaction/ + layer.presentsWithTransaction = false + layer.framebufferOnly = true + } + } + + glkView = CanvasGLKView(coder: coder)! glkView.translatesAutoresizingMaskIntoConstraints = false mtlView.translatesAutoresizingMaskIntoConstraints = false if(UIScreen.instancesRespond(to: #selector(getter: UIScreen.main.nativeScale))){ glkView.contentScaleFactor = UIScreen.main.nativeScale + // nativeScale is real physical pixel scale + // https://tomisacat.xyz/tech/2017/06/17/scale-nativescale-contentsscale.html mtlView.contentScaleFactor = UIScreen.main.nativeScale } @@ -438,10 +449,25 @@ public class NSCCanvas: UIView { public override init(frame: CGRect) { glkView = CanvasGLKView(frame: frame) mtlView = MTKView(frame: frame) + + if #available(iOS 13.0, *) { + if((mtlView.layer as? CAMetalLayer) != nil){ + let layer = mtlView.layer as! CAMetalLayer + // https://developer.apple.com/documentation/quartzcore/cametallayer/1478157-presentswithtransaction/ + layer.presentsWithTransaction = false + layer.framebufferOnly = true + } + } + + + glkView.translatesAutoresizingMaskIntoConstraints = false mtlView.translatesAutoresizingMaskIntoConstraints = false if(UIScreen.instancesRespond(to: #selector(getter: UIScreen.main.nativeScale))){ glkView.contentScaleFactor = UIScreen.main.nativeScale + + // nativeScale is real physical pixel scale + // https://tomisacat.xyz/tech/2017/06/17/scale-nativescale-contentsscale.html mtlView.contentScaleFactor = UIScreen.main.nativeScale } super.init(frame: frame) diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/include/canvas_ios.h b/packages/canvas/src-native/canvas-ios/CanvasNative/include/canvas_ios.h index a0a6d50ff..05b87959f 100644 --- a/packages/canvas/src-native/canvas-ios/CanvasNative/include/canvas_ios.h +++ b/packages/canvas/src-native/canvas-ios/CanvasNative/include/canvas_ios.h @@ -13,6 +13,13 @@ long long canvas_native_init_ios_webgpu(int64_t instance, uint32_t width, uint32_t height); +#if defined(TARGET_OS_IOS) +long long canvas_native_init_ios_webgpu_uiview(int64_t instance, + int64_t view, + uint32_t width, + uint32_t height); +#endif + long long canvas_native_init_ios_gl(int64_t view, bool alpha, bool antialias, diff --git a/packages/canvas/src-native/canvas-ios/CanvasNative/include/canvas_native.h b/packages/canvas/src-native/canvas-ios/CanvasNative/include/canvas_native.h index d8819fdeb..b299e05f8 100644 --- a/packages/canvas/src-native/canvas-ios/CanvasNative/include/canvas_native.h +++ b/packages/canvas/src-native/canvas-ios/CanvasNative/include/canvas_native.h @@ -15,59 +15,59 @@ typedef enum CanvasAstcBlock { /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). */ - B4x4, + CanvasAstcBlockB4x4, /** * 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). */ - B5x4, + CanvasAstcBlockB5x4, /** * 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). */ - B5x5, + CanvasAstcBlockB5x5, /** * 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). */ - B6x5, + CanvasAstcBlockB6x5, /** * 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). */ - B6x6, + CanvasAstcBlockB6x6, /** * 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). */ - B8x5, + CanvasAstcBlockB8x5, /** * 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). */ - B8x6, + CanvasAstcBlockB8x6, /** * 8x8 block compressed texture. 16 bytes per block (2 bit/px). */ - B8x8, + CanvasAstcBlockB8x8, /** * 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). */ - B10x5, + CanvasAstcBlockB10x5, /** * 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). */ - B10x6, + CanvasAstcBlockB10x6, /** * 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). */ - B10x8, + CanvasAstcBlockB10x8, /** * 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). */ - B10x10, + CanvasAstcBlockB10x10, /** * 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). */ - B12x10, + CanvasAstcBlockB12x10, /** * 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). */ - B12x12, + CanvasAstcBlockB12x12, } CanvasAstcBlock; /** @@ -79,279 +79,299 @@ typedef enum CanvasAstcChannel { * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - Unorm, + CanvasAstcChannelUnorm, /** * 8 bit integer RGBA, Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - UnormSrgb, + CanvasAstcChannelUnormSrgb, /** * floating-point RGBA, linear-color float can be outside of the [0, 1] range. * * [`Features::TEXTURE_COMPRESSION_ASTC_HDR`] must be enabled to use this channel. */ - Hdr, + CanvasAstcChannelHdr, } CanvasAstcChannel; typedef enum CanvasBlendFactor { /** * 0.0 */ - Zero = 0, + CanvasBlendFactorZero = 0, /** * 1.0 */ - One = 1, + CanvasBlendFactorOne = 1, /** * S.component */ - Src = 2, + CanvasBlendFactorSrc = 2, /** * 1.0 - S.component */ - OneMinusSrc = 3, + CanvasBlendFactorOneMinusSrc = 3, /** * S.alpha */ - SrcAlpha = 4, + CanvasBlendFactorSrcAlpha = 4, /** * 1.0 - S.alpha */ - OneMinusSrcAlpha = 5, + CanvasBlendFactorOneMinusSrcAlpha = 5, /** * D.component */ - Dst = 6, + CanvasBlendFactorDst = 6, /** * 1.0 - D.component */ - OneMinusDst = 7, + CanvasBlendFactorOneMinusDst = 7, /** * D.alpha */ - DstAlpha = 8, + CanvasBlendFactorDstAlpha = 8, /** * 1.0 - D.alpha */ - OneMinusDstAlpha = 9, + CanvasBlendFactorOneMinusDstAlpha = 9, /** * min(S.alpha, 1.0 - D.alpha) */ - SrcAlphaSaturated = 10, + CanvasBlendFactorSrcAlphaSaturated = 10, /** * Constant */ - Constant = 11, + CanvasBlendFactorConstant = 11, /** * 1.0 - Constant */ - OneMinusConstant = 12, + CanvasBlendFactorOneMinusConstant = 12, /** * S1.component */ - Src1 = 13, + CanvasBlendFactorSrc1 = 13, /** * 1.0 - S1.component */ - OneMinusSrc1 = 14, + CanvasBlendFactorOneMinusSrc1 = 14, /** * S1.alpha */ - Src1Alpha = 15, + CanvasBlendFactorSrc1Alpha = 15, /** * 1.0 - S1.alpha */ - OneMinusSrc1Alpha = 16, + CanvasBlendFactorOneMinusSrc1Alpha = 16, } CanvasBlendFactor; typedef enum CanvasBlendOperation { /** * Src + Dst */ - Add = 0, + CanvasBlendOperationAdd = 0, /** * Src - Dst */ - Subtract = 1, + CanvasBlendOperationSubtract = 1, /** * Dst - Src */ - ReverseSubtract = 2, + CanvasBlendOperationReverseSubtract = 2, /** * min(Src, Dst) */ - Min = 3, + CanvasBlendOperationMin = 3, /** * max(Src, Dst) */ - Max = 4, + CanvasBlendOperationMax = 4, } CanvasBlendOperation; typedef enum CanvasCompareFunction { - Never = 1, - Less = 2, - Equal = 3, - LessEqual = 4, - Greater = 5, - NotEqual = 6, - GreaterEqual = 7, - Always = 8, + CanvasCompareFunctionNever = 1, + CanvasCompareFunctionLess = 2, + CanvasCompareFunctionEqual = 3, + CanvasCompareFunctionLessEqual = 4, + CanvasCompareFunctionGreater = 5, + CanvasCompareFunctionNotEqual = 6, + CanvasCompareFunctionGreaterEqual = 7, + CanvasCompareFunctionAlways = 8, } CanvasCompareFunction; typedef enum CanvasCullMode { - None, - Front, - Back, + CanvasCullModeNone, + CanvasCullModeFront, + CanvasCullModeBack, } CanvasCullMode; typedef enum CanvasFrontFace { - Ccw = 0, - Cw = 1, + CanvasFrontFaceCcw = 0, + CanvasFrontFaceCw = 1, } CanvasFrontFace; typedef enum CanvasGPUAutoLayoutMode { - Auto, + CanvasGPUAutoLayoutModeAuto, } CanvasGPUAutoLayoutMode; typedef enum CanvasGPUPowerPreference { - None, - LowPower, - HighPerformance, + CanvasGPUPowerPreferenceNone, + CanvasGPUPowerPreferenceLowPower, + CanvasGPUPowerPreferenceHighPerformance, } CanvasGPUPowerPreference; typedef enum CanvasGPUPresentMode { - AutoVsync = 0, - AutoNoVsync = 1, - Fifo = 2, - FifoRelaxed = 3, - Immediate = 4, - Mailbox = 5, + CanvasGPUPresentModeAutoVsync = 0, + CanvasGPUPresentModeAutoNoVsync = 1, + CanvasGPUPresentModeFifo = 2, + CanvasGPUPresentModeFifoRelaxed = 3, + CanvasGPUPresentModeImmediate = 4, + CanvasGPUPresentModeMailbox = 5, } CanvasGPUPresentMode; typedef enum CanvasGPUSurfaceAlphaMode { - Auto = 0, - Opaque = 1, - PreMultiplied = 2, - PostMultiplied = 3, - Inherit = 4, + CanvasGPUSurfaceAlphaModeAuto = 0, + CanvasGPUSurfaceAlphaModeOpaque = 1, + CanvasGPUSurfaceAlphaModePreMultiplied = 2, + CanvasGPUSurfaceAlphaModePostMultiplied = 3, + CanvasGPUSurfaceAlphaModeInherit = 4, } CanvasGPUSurfaceAlphaMode; typedef enum CanvasIndexFormat { /** * Indices are 16 bit unsigned integers. */ - Uint16 = 0, + CanvasIndexFormatUint16 = 0, /** * Indices are 32 bit unsigned integers. */ - Uint32 = 1, + CanvasIndexFormatUint32 = 1, } CanvasIndexFormat; +typedef enum CanvasLoadOp { + CanvasLoadOpClear = 0, + CanvasLoadOpLoad = 1, +} CanvasLoadOp; + +typedef enum CanvasOptionalTextureViewDimension { + CanvasOptionalTextureViewDimensionNone, + CanvasOptionalTextureViewDimensionD1, + CanvasOptionalTextureViewDimensionD2, + CanvasOptionalTextureViewDimensionD2Array, + CanvasOptionalTextureViewDimensionCube, + CanvasOptionalTextureViewDimensionCubeArray, + CanvasOptionalTextureViewDimensionD3, +} CanvasOptionalTextureViewDimension; + typedef enum CanvasPrimitiveTopology { - PointList = 0, - LineList = 1, - LineStrip = 2, - TriangleList = 3, - TriangleStrip = 4, + CanvasPrimitiveTopologyPointList = 0, + CanvasPrimitiveTopologyLineList = 1, + CanvasPrimitiveTopologyLineStrip = 2, + CanvasPrimitiveTopologyTriangleList = 3, + CanvasPrimitiveTopologyTriangleStrip = 4, } CanvasPrimitiveTopology; typedef enum CanvasStencilOperation { - Keep = 0, - Zero = 1, - Replace = 2, - Invert = 3, - IncrementClamp = 4, - DecrementClamp = 5, - IncrementWrap = 6, - DecrementWrap = 7, + CanvasStencilOperationKeep = 0, + CanvasStencilOperationZero = 1, + CanvasStencilOperationReplace = 2, + CanvasStencilOperationInvert = 3, + CanvasStencilOperationIncrementClamp = 4, + CanvasStencilOperationDecrementClamp = 5, + CanvasStencilOperationIncrementWrap = 6, + CanvasStencilOperationDecrementWrap = 7, } CanvasStencilOperation; +typedef enum CanvasStoreOp { + CanvasStoreOpDiscard = 0, + CanvasStoreOpStore = 1, +} CanvasStoreOp; + typedef enum CanvasTextureAspect { /** * Depth, Stencil, and Color. */ - All, + CanvasTextureAspectAll, /** * Stencil. */ - StencilOnly, + CanvasTextureAspectStencilOnly, /** * Depth. */ - DepthOnly, + CanvasTextureAspectDepthOnly, /** * Plane 0. */ - Plane0, + CanvasTextureAspectPlane0, /** * Plane 1. */ - Plane1, + CanvasTextureAspectPlane1, /** * Plane 2. */ - Plane2, + CanvasTextureAspectPlane2, } CanvasTextureAspect; typedef enum CanvasTextureDimension { - D1, - D2, - D3, + CanvasTextureDimensionD1, + CanvasTextureDimensionD2, + CanvasTextureDimensionD3, } CanvasTextureDimension; typedef enum CanvasVertexFormat { - Uint8x2 = 0, - Uint8x4 = 1, - Sint8x2 = 2, - Sint8x4 = 3, - Unorm8x2 = 4, - Unorm8x4 = 5, - Snorm8x2 = 6, - Snorm8x4 = 7, - Uint16x2 = 8, - Uint16x4 = 9, - Sint16x2 = 10, - Sint16x4 = 11, - Unorm16x2 = 12, - Unorm16x4 = 13, - Snorm16x2 = 14, - Snorm16x4 = 15, - Float16x2 = 16, - Float16x4 = 17, - Float32 = 18, - Float32x2 = 19, - Float32x3 = 20, - Float32x4 = 21, - Uint32 = 22, - Uint32x2 = 23, - Uint32x3 = 24, - Uint32x4 = 25, - Sint32 = 26, - Sint32x2 = 27, - Sint32x3 = 28, - Sint32x4 = 29, - Float64 = 30, - Float64x2 = 31, - Float64x3 = 32, - Float64x4 = 33, - Unorm10_10_10_2 = 34, + CanvasVertexFormatUint8x2 = 0, + CanvasVertexFormatUint8x4 = 1, + CanvasVertexFormatSint8x2 = 2, + CanvasVertexFormatSint8x4 = 3, + CanvasVertexFormatUnorm8x2 = 4, + CanvasVertexFormatUnorm8x4 = 5, + CanvasVertexFormatSnorm8x2 = 6, + CanvasVertexFormatSnorm8x4 = 7, + CanvasVertexFormatUint16x2 = 8, + CanvasVertexFormatUint16x4 = 9, + CanvasVertexFormatSint16x2 = 10, + CanvasVertexFormatSint16x4 = 11, + CanvasVertexFormatUnorm16x2 = 12, + CanvasVertexFormatUnorm16x4 = 13, + CanvasVertexFormatSnorm16x2 = 14, + CanvasVertexFormatSnorm16x4 = 15, + CanvasVertexFormatFloat16x2 = 16, + CanvasVertexFormatFloat16x4 = 17, + CanvasVertexFormatFloat32 = 18, + CanvasVertexFormatFloat32x2 = 19, + CanvasVertexFormatFloat32x3 = 20, + CanvasVertexFormatFloat32x4 = 21, + CanvasVertexFormatUint32 = 22, + CanvasVertexFormatUint32x2 = 23, + CanvasVertexFormatUint32x3 = 24, + CanvasVertexFormatUint32x4 = 25, + CanvasVertexFormatSint32 = 26, + CanvasVertexFormatSint32x2 = 27, + CanvasVertexFormatSint32x3 = 28, + CanvasVertexFormatSint32x4 = 29, + CanvasVertexFormatFloat64 = 30, + CanvasVertexFormatFloat64x2 = 31, + CanvasVertexFormatFloat64x3 = 32, + CanvasVertexFormatFloat64x4 = 33, + CanvasVertexFormatUnorm10_10_10_2 = 34, } CanvasVertexFormat; typedef enum CanvasVertexStepMode { - Vertex = 0, - Instance = 1, + CanvasVertexStepModeVertex = 0, + CanvasVertexStepModeInstance = 1, } CanvasVertexStepMode; typedef enum GLConstants { - UNPACK_FLIP_Y_WEBGL = 37440, - UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441, - UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443, + GLConstantsUnPackFlipYWebGL = 37440, + GLConstantsUnpackPremultiplyAlphaWebGL = 37441, + GLConstantsUnpackColorSpaceConversionWebGL = 37443, } GLConstants; typedef enum GPUMapMode { - Read, - Write, + GPUMapModeRead, + GPUMapModeWrite, } GPUMapMode; typedef enum ImageBitmapColorSpaceConversion { @@ -362,7 +382,7 @@ typedef enum ImageBitmapColorSpaceConversion { typedef enum ImageBitmapPremultiplyAlpha { ImageBitmapPremultiplyAlphaDefault, ImageBitmapPremultiplyAlphaPremultiply, - ImageBitmapPremultiplyAlphaNone, + ImageBitmapPremultiplyAlphaAlphaNone, } ImageBitmapPremultiplyAlpha; typedef enum ImageBitmapResizeQuality { @@ -386,41 +406,41 @@ typedef enum PaintStyleType { } PaintStyleType; typedef enum TextBaseLine { - TOP = 0, - HANGING = 1, - MIDDLE = 2, - ALPHABETIC = 3, - IDEOGRAPHIC = 4, - BOTTOM = 5, + TextBaseLineTOP = 0, + TextBaseLineHANGING = 1, + TextBaseLineMIDDLE = 2, + TextBaseLineALPHABETIC = 3, + TextBaseLineIDEOGRAPHIC = 4, + TextBaseLineBOTTOM = 5, } TextBaseLine; typedef enum WebGLExtensionType { - WebGLExtensionTypeEXT_blend_minmax, - WebGLExtensionTypeEXT_color_buffer_half_float, - WebGLExtensionTypeEXT_disjoint_timer_query, - WebGLExtensionTypeEXT_sRGB, - WebGLExtensionTypeEXT_shader_texture_lod, - WebGLExtensionTypeEXT_texture_filter_anisotropic, - WebGLExtensionTypeOES_element_index_uint, - WebGLExtensionTypeOES_standard_derivatives, - WebGLExtensionTypeOES_texture_float, - WebGLExtensionTypeOES_texture_float_linear, - WebGLExtensionTypeOES_texture_half_float, - WebGLExtensionTypeOES_texture_half_float_linear, - WebGLExtensionTypeOES_vertex_array_object, - WebGLExtensionTypeWEBGL_color_buffer_float, - WebGLExtensionTypeWEBGL_compressed_texture_atc, - WebGLExtensionTypeWEBGL_compressed_texture_etc1, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, - WebGLExtensionTypeWEBGL_compressed_texture_etc, - WebGLExtensionTypeWEBGL_compressed_texture_pvrtc, - WebGLExtensionTypeWEBGL_lose_context, - WebGLExtensionTypeANGLE_instanced_arrays, - WebGLExtensionTypeWEBGL_depth_texture, - WebGLExtensionTypeWEBGL_draw_buffers, - WebGLExtensionTypeOES_fbo_render_mipmap, - WebGLExtensionTypeNone, + WebGLExtensionTypeWebGLExtensionTypeEXT_blend_minmax, + WebGLExtensionTypeWebGLExtensionTypeEXT_color_buffer_half_float, + WebGLExtensionTypeWebGLExtensionTypeEXT_disjoint_timer_query, + WebGLExtensionTypeWebGLExtensionTypeEXT_sRGB, + WebGLExtensionTypeWebGLExtensionTypeEXT_shader_texture_lod, + WebGLExtensionTypeWebGLExtensionTypeEXT_texture_filter_anisotropic, + WebGLExtensionTypeWebGLExtensionTypeOES_element_index_uint, + WebGLExtensionTypeWebGLExtensionTypeOES_standard_derivatives, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_vertex_array_object, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_color_buffer_float, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_atc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc1, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_pvrtc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_lose_context, + WebGLExtensionTypeWebGLExtensionTypeANGLE_instanced_arrays, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_depth_texture, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_draw_buffers, + WebGLExtensionTypeWebGLExtensionTypeOES_fbo_render_mipmap, + WebGLExtensionTypeWebGLExtensionTypeNone, } WebGLExtensionType; typedef enum WebGLResultType { @@ -448,6 +468,8 @@ typedef struct CanvasGPUAdapterInfo CanvasGPUAdapterInfo; typedef struct CanvasGPUBindGroup CanvasGPUBindGroup; +typedef struct CanvasGPUBindGroupLayout CanvasGPUBindGroupLayout; + typedef struct CanvasGPUBuffer CanvasGPUBuffer; typedef struct CanvasGPUCanvasContext CanvasGPUCanvasContext; @@ -480,6 +502,8 @@ typedef struct CanvasGPUTextureView CanvasGPUTextureView; typedef struct CanvasImageDataLayout CanvasImageDataLayout; +typedef struct CanvasRenderPassDepthStencilAttachment CanvasRenderPassDepthStencilAttachment; + typedef struct CanvasRenderingContext2D CanvasRenderingContext2D; typedef struct CanvasWebGPUInstance CanvasWebGPUInstance; @@ -632,6 +656,32 @@ typedef struct CanvasGPUSupportedLimits { uint32_t max_non_sampler_bindings; } CanvasGPUSupportedLimits; +typedef struct CanvasColor { + double r; + double g; + double b; + double a; +} CanvasColor; +#define CanvasColor_TRANSPARENT (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 0.0 } +#define CanvasColor_BLACK (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_WHITE (CanvasColor){ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 } +#define CanvasColor_RED (CanvasColor){ .r = 1.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_GREEN (CanvasColor){ .r = 0.0, .g = 1.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_BLUE (CanvasColor){ .r = 0.0, .g = 0.0, .b = 1.0, .a = 1.0 } + +typedef struct CanvasPassChannelColor { + enum CanvasLoadOp load_op; + enum CanvasStoreOp store_op; + struct CanvasColor clear_value; + bool read_only; +} CanvasPassChannelColor; + +typedef struct CanvasRenderPassColorAttachment { + const struct CanvasGPUTextureView *view; + const struct CanvasGPUTextureView *resolve_target; + struct CanvasPassChannelColor channel; +} CanvasRenderPassColorAttachment; + typedef struct CanvasImageCopyBuffer { const struct CanvasGPUBuffer *buffer; uint64_t offset; @@ -677,8 +727,8 @@ typedef struct CanvasExtent3d { } CanvasExtent3d; typedef enum CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag { - Layout, - Auto, + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeLayout, + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeAuto, } CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag; typedef struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode { @@ -710,14 +760,27 @@ typedef struct CanvasVertexState { const struct CanvasGPUShaderModule *module; const char *entry_point; const struct CanvasConstants *constants; - uintptr_t constants_size; const struct CanvasVertexBufferLayout *buffers; uintptr_t buffers_size; } CanvasVertexState; +typedef enum CanvasOptionalIndexFormat_Tag { + CanvasOptionalIndexFormatNone, + CanvasOptionalIndexFormatSome, +} CanvasOptionalIndexFormat_Tag; + +typedef struct CanvasOptionalIndexFormat { + CanvasOptionalIndexFormat_Tag tag; + union { + struct { + enum CanvasIndexFormat some; + }; + }; +} CanvasOptionalIndexFormat; + typedef struct CanvasPrimitiveState { enum CanvasPrimitiveTopology topology; - enum CanvasIndexFormat strip_index_format; + struct CanvasOptionalIndexFormat strip_index_format; enum CanvasFrontFace front_face; enum CanvasCullMode cull_mode; bool unclipped_depth; @@ -727,213 +790,213 @@ typedef enum CanvasGPUTextureFormat_Tag { /** * Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - R8Unorm, + CanvasGPUTextureFormatR8Unorm, /** * Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - R8Snorm, + CanvasGPUTextureFormatR8Snorm, /** * Red channel only. 8 bit integer per channel. Unsigned in shader. */ - R8Uint, + CanvasGPUTextureFormatR8Uint, /** * Red channel only. 8 bit integer per channel. Signed in shader. */ - R8Sint, + CanvasGPUTextureFormatR8Sint, /** * Red channel only. 16 bit integer per channel. Unsigned in shader. */ - R16Uint, + CanvasGPUTextureFormatR16Uint, /** * Red channel only. 16 bit integer per channel. Signed in shader. */ - R16Sint, + CanvasGPUTextureFormatR16Sint, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Unorm, + CanvasGPUTextureFormatR16Unorm, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Snorm, + CanvasGPUTextureFormatR16Snorm, /** * Red channel only. 16 bit float per channel. Float in shader. */ - R16Float, + CanvasGPUTextureFormatR16Float, /** * Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rg8Unorm, + CanvasGPUTextureFormatRg8Unorm, /** * Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rg8Snorm, + CanvasGPUTextureFormatRg8Snorm, /** * Red and green channels. 8 bit integer per channel. Unsigned in shader. */ - Rg8Uint, + CanvasGPUTextureFormatRg8Uint, /** * Red and green channels. 8 bit integer per channel. Signed in shader. */ - Rg8Sint, + CanvasGPUTextureFormatRg8Sint, /** * Red channel only. 32 bit integer per channel. Unsigned in shader. */ - R32Uint, + CanvasGPUTextureFormatR32Uint, /** * Red channel only. 32 bit integer per channel. Signed in shader. */ - R32Sint, + CanvasGPUTextureFormatR32Sint, /** * Red channel only. 32 bit float per channel. Float in shader. */ - R32Float, + CanvasGPUTextureFormatR32Float, /** * Red and green channels. 16 bit integer per channel. Unsigned in shader. */ - Rg16Uint, + CanvasGPUTextureFormatRg16Uint, /** * Red and green channels. 16 bit integer per channel. Signed in shader. */ - Rg16Sint, + CanvasGPUTextureFormatRg16Sint, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Unorm, + CanvasGPUTextureFormatRg16Unorm, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Snorm, + CanvasGPUTextureFormatRg16Snorm, /** * Red and green channels. 16 bit float per channel. Float in shader. */ - Rg16Float, + CanvasGPUTextureFormatRg16Float, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rgba8Unorm, + CanvasGPUTextureFormatRgba8Unorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Rgba8UnormSrgb, + CanvasGPUTextureFormatRgba8UnormSrgb, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rgba8Snorm, + CanvasGPUTextureFormatRgba8Snorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader. */ - Rgba8Uint, + CanvasGPUTextureFormatRgba8Uint, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader. */ - Rgba8Sint, + CanvasGPUTextureFormatRgba8Sint, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Bgra8Unorm, + CanvasGPUTextureFormatBgra8Unorm, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Bgra8UnormSrgb, + CanvasGPUTextureFormatBgra8UnormSrgb, /** * Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent */ - Rgb9e5Ufloat, + CanvasGPUTextureFormatRgb9e5Ufloat, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. Unsigned in shader. */ - Rgb10a2Uint, + CanvasGPUTextureFormatRgb10a2Uint, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha) converted to/from float [0, 1] in shader. */ - Rgb10a2Unorm, + CanvasGPUTextureFormatRgb10a2Unorm, /** * Red, green, and blue channels. 11 bit float with no sign bit for RG channels. 10 bit float with no sign bit for blue channel. Float in shader. */ - Rg11b10Float, + CanvasGPUTextureFormatRg11b10Float, /** * Red and green channels. 32 bit integer per channel. Unsigned in shader. */ - Rg32Uint, + CanvasGPUTextureFormatRg32Uint, /** * Red and green channels. 32 bit integer per channel. Signed in shader. */ - Rg32Sint, + CanvasGPUTextureFormatRg32Sint, /** * Red and green channels. 32 bit float per channel. Float in shader. */ - Rg32Float, + CanvasGPUTextureFormatRg32Float, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader. */ - Rgba16Uint, + CanvasGPUTextureFormatRgba16Uint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader. */ - Rgba16Sint, + CanvasGPUTextureFormatRgba16Sint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Unorm, + CanvasGPUTextureFormatRgba16Unorm, /** * Red, green, blue, and alpha. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Snorm, + CanvasGPUTextureFormatRgba16Snorm, /** * Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader. */ - Rgba16Float, + CanvasGPUTextureFormatRgba16Float, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader. */ - Rgba32Uint, + CanvasGPUTextureFormatRgba32Uint, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader. */ - Rgba32Sint, + CanvasGPUTextureFormatRgba32Sint, /** * Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader. */ - Rgba32Float, + CanvasGPUTextureFormatRgba32Float, /** * Stencil format with 8 bit integer stencil. */ - Stencil8, + CanvasGPUTextureFormatStencil8, /** * Special depth format with 16 bit integer depth. */ - Depth16Unorm, + CanvasGPUTextureFormatDepth16Unorm, /** * Special depth format with at least 24 bit integer depth. */ - Depth24Plus, + CanvasGPUTextureFormatDepth24Plus, /** * Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil. */ - Depth24PlusStencil8, + CanvasGPUTextureFormatDepth24PlusStencil8, /** * Special depth format with 32 bit floating point depth. */ - Depth32Float, + CanvasGPUTextureFormatDepth32Float, /** * Special depth/stencil format with 32 bit floating point depth and 8 bits integer stencil. * * [`Features::DEPTH32FLOAT_STENCIL8`] must be enabled to use this texture format. */ - Depth32FloatStencil8, + CanvasGPUTextureFormatDepth32FloatStencil8, /** * YUV 4:2:0 chroma subsampled format. * @@ -949,7 +1012,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_FORMAT_NV12`] must be enabled to use this texture format. */ - NV12, + CanvasGPUTextureFormatNV12, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * [0, 63] ([0, 1] for alpha) converted to/from float [0, 1] in shader. @@ -958,7 +1021,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnorm, + CanvasGPUTextureFormatBc1RgbaUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * Srgb-color [0, 63] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -967,7 +1030,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnormSrgb, + CanvasGPUTextureFormatBc1RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * [0, 63] ([0, 15] for alpha) converted to/from float [0, 1] in shader. @@ -976,7 +1039,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnorm, + CanvasGPUTextureFormatBc2RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -985,7 +1048,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnormSrgb, + CanvasGPUTextureFormatBc2RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * [0, 63] ([0, 255] for alpha) converted to/from float [0, 1] in shader. @@ -994,7 +1057,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnorm, + CanvasGPUTextureFormatBc3RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -1003,7 +1066,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnormSrgb, + CanvasGPUTextureFormatBc3RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [0, 255] converted to/from float [0, 1] in shader. @@ -1012,7 +1075,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RUnorm, + CanvasGPUTextureFormatBc4RUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -1021,7 +1084,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RSnorm, + CanvasGPUTextureFormatBc4RSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [0, 255] converted to/from float [0, 1] in shader. @@ -1030,7 +1093,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgUnorm, + CanvasGPUTextureFormatBc5RgUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -1039,7 +1102,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgSnorm, + CanvasGPUTextureFormatBc5RgSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit unsigned float RGB. Float in shader. * @@ -1047,7 +1110,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbUfloat, + CanvasGPUTextureFormatBc6hRgbUfloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit signed float RGB. Float in shader. * @@ -1055,7 +1118,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbFloat, + CanvasGPUTextureFormatBc6hRgbFloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * [0, 255] converted to/from float [0, 1] in shader. @@ -1064,7 +1127,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnorm, + CanvasGPUTextureFormatBc7RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. @@ -1073,77 +1136,77 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnormSrgb, + CanvasGPUTextureFormatBc7RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8Unorm, + CanvasGPUTextureFormatEtc2Rgb8Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * [0, 255] ([0, 1] for alpha) converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1Unorm, + CanvasGPUTextureFormatEtc2Rgb8A1Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * Srgb-color [0, 255] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8A1UnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8Unorm, + CanvasGPUTextureFormatEtc2Rgba8Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgba8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Unorm, + CanvasGPUTextureFormatEacR11Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Snorm, + CanvasGPUTextureFormatEacR11Snorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Unorm, + CanvasGPUTextureFormatEacRg11Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Snorm, + CanvasGPUTextureFormatEacRg11Snorm, /** * block compressed texture. 16 bytes per block. * @@ -1153,10 +1216,10 @@ typedef enum CanvasGPUTextureFormat_Tag { * [`TEXTURE_COMPRESSION_ASTC`]: Features::TEXTURE_COMPRESSION_ASTC * [`TEXTURE_COMPRESSION_ASTC_HDR`]: Features::TEXTURE_COMPRESSION_ASTC_HDR */ - Astc, + CanvasGPUTextureFormatAstc, } CanvasGPUTextureFormat_Tag; -typedef struct Astc_Body { +typedef struct CanvasGPUTextureFormatAstc_Body { /** * compressed block dimensions */ @@ -1165,12 +1228,12 @@ typedef struct Astc_Body { * ASTC RGBA channel */ enum CanvasAstcChannel channel; -} Astc_Body; +} CanvasGPUTextureFormatAstc_Body; typedef struct CanvasGPUTextureFormat { CanvasGPUTextureFormat_Tag tag; union { - Astc_Body astc; + CanvasGPUTextureFormatAstc_Body astc; }; } CanvasGPUTextureFormat; @@ -1242,8 +1305,8 @@ typedef struct CanvasBlendState { #define CanvasBlendState_PREMULTIPLIED_ALPHA_BLENDING (CanvasBlendState){ .color = CanvasBlendComponent_OVER, .alpha = CanvasBlendComponent_OVER } typedef enum CanvasOptionalBlendState_Tag { - None, - Some, + CanvasOptionalBlendStateNone, + CanvasOptionalBlendStateSome, } CanvasOptionalBlendState_Tag; typedef struct CanvasOptionalBlendState { @@ -1330,19 +1393,6 @@ typedef struct CanvasImageCopyExternalImage { uint32_t height; } CanvasImageCopyExternalImage; -typedef struct CanvasColor { - double r; - double g; - double b; - double a; -} CanvasColor; -#define CanvasColor_TRANSPARENT (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 0.0 } -#define CanvasColor_BLACK (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 1.0 } -#define CanvasColor_WHITE (CanvasColor){ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 } -#define CanvasColor_RED (CanvasColor){ .r = 1.0, .g = 0.0, .b = 0.0, .a = 1.0 } -#define CanvasColor_GREEN (CanvasColor){ .r = 0.0, .g = 1.0, .b = 0.0, .a = 1.0 } -#define CanvasColor_BLUE (CanvasColor){ .r = 0.0, .g = 0.0, .b = 1.0, .a = 1.0 } - typedef struct CanvasGPUSurfaceConfiguration { enum CanvasGPUSurfaceAlphaMode alphaMode; uint32_t usage; @@ -1351,6 +1401,34 @@ typedef struct CanvasGPUSurfaceConfiguration { uintptr_t view_formats_size; } CanvasGPUSurfaceConfiguration; +typedef enum CanvasOptionalGPUTextureFormat_Tag { + CanvasOptionalGPUTextureFormatNone, + CanvasOptionalGPUTextureFormatSome, +} CanvasOptionalGPUTextureFormat_Tag; + +typedef struct CanvasOptionalGPUTextureFormat { + CanvasOptionalGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionalGPUTextureFormat; + +typedef enum CanvasOptionsGPUTextureFormat_Tag { + CanvasOptionsGPUTextureFormatNone, + CanvasOptionsGPUTextureFormatSome, +} CanvasOptionsGPUTextureFormat_Tag; + +typedef struct CanvasOptionsGPUTextureFormat { + CanvasOptionsGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionsGPUTextureFormat; + typedef struct CanvasImageSubresourceRange { enum CanvasTextureAspect aspect; uint32_t base_mip_level; @@ -1362,8 +1440,8 @@ typedef struct CanvasImageSubresourceRange { typedef struct CanvasCreateTextureViewDescriptor { const struct CanvasGPUTexture *texture; const char *label; - struct CanvasGPUTextureFormat format; - enum CanvasTextureDimension dimension; + struct CanvasOptionsGPUTextureFormat format; + enum CanvasOptionalTextureViewDimension dimension; const struct CanvasImageSubresourceRange *range; } CanvasCreateTextureViewDescriptor; @@ -4070,8 +4148,12 @@ struct CanvasGPUComputePass *canvas_native_webgpu_command_encoder_begin_compute_ int32_t end_of_pass_write_index); struct CanvasGPURenderPass *canvas_native_webgpu_command_encoder_begin_render_pass(struct CanvasGPUCommandEncoder *command_encoder, - const struct CanvasGPUQuerySet *query_set, const char *label, + const struct CanvasRenderPassColorAttachment *color_attachments, + uintptr_t color_attachments_size, + const struct CanvasRenderPassDepthStencilAttachment *depth_stencil_attachment, + const struct CanvasGPUQuerySet *occlusion_query_set, + const struct CanvasGPUQuerySet *query_set, int32_t beginning_of_pass_write_index, int32_t end_of_pass_write_index); @@ -4157,8 +4239,8 @@ void canvas_native_webgpu_constants_insert(struct CanvasConstants *constants, void canvas_native_webgpu_constants_destroy(struct CanvasConstants *constants); -struct CanvasGPUBuffer *canvas_native_webgpu_device_create_render_pipeline(const struct CanvasGPUDevice *device, - const struct CanvasCreateRenderPipelineDescriptor *descriptor); +struct CanvasGPURenderPipeline *canvas_native_webgpu_device_create_render_pipeline(const struct CanvasGPUDevice *device, + const struct CanvasCreateRenderPipelineDescriptor *descriptor); struct CanvasGPUTexture *canvas_native_webgpu_device_create_texture(const struct CanvasGPUDevice *device, const struct CanvasCreateTextureDescriptor *descriptor, @@ -4174,7 +4256,7 @@ void canvas_native_webgpu_queue_on_submitted_work_done(struct CanvasGPUQueue *qu void *callback_data); void canvas_native_webgpu_queue_submit(struct CanvasGPUQueue *queue, - struct CanvasGPUCommandBuffer *command_buffers, + const struct CanvasGPUCommandBuffer *const *command_buffers, uintptr_t command_buffers_size); void canvas_native_webgpu_queue_write_buffer(struct CanvasGPUQueue *queue, @@ -4279,10 +4361,33 @@ void canvas_native_webgpu_render_pass_set_viewport(struct CanvasGPURenderPass *r float depth_min, float depth_max); +#if defined(TARGET_OS_ANDROID) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, + void *window, + uint32_t width, + uint32_t height); +#endif + +#if (defined(TARGET_OS_IOS) || defined(TARGET_OS_MACOS)) struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, void *view, uint32_t width, uint32_t height); +#endif + +#if defined(TARGET_OS_IOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_uiview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif + +#if defined(TARGET_OS_MACOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_nsview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif void canvas_native_webgpu_context_configure(struct CanvasGPUCanvasContext *context, struct CanvasGPUDevice *device, @@ -4296,6 +4401,8 @@ struct CanvasGPUTexture *canvas_native_webgpu_context_get_current_texture(struct char *canvas_native_webgpu_enum_gpu_texture_to_string(struct CanvasGPUTextureFormat value); +struct CanvasOptionalGPUTextureFormat canvas_native_webgpu_string_to_gpu_texture_enum(const char *format); + struct CanvasGPUTextureView *canvas_native_webgpu_texture_create_texture_view(struct CanvasGPUTexture *texture, const struct CanvasCreateTextureViewDescriptor *descriptor); @@ -4319,6 +4426,9 @@ uint32_t canvas_native_webgpu_texture_get_sample_count(struct CanvasGPUTexture * char *canvas_native_webgpu_texture_destroy(struct CanvasGPUTexture *texture); +struct CanvasGPUBindGroupLayout *canvas_native_webgpu_render_pipeline_get_bind_group_layout(const struct CanvasGPURenderPipeline *pipeline, + uint32_t index); + const uint8_t *canvas_native_u8_buffer_get_bytes(const struct U8Buffer *buffer); uint8_t *canvas_native_u8_buffer_get_bytes_mut(struct U8Buffer *buffer); diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative index fd08e2fc3..062b590f4 100755 Binary files a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative and b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative differ diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h index 3dea8b11c..432707706 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h @@ -345,6 +345,7 @@ SWIFT_CLASS_NAMED("CanvasHelpers") + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image sx:(float)sx sy:(float)sy sw:(float)sw sh:(float)sh dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; ++ (int64_t)initWebGPUWithViewLayer:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initWebGPUWithView:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initSharedGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas :(int64_t)shared_context SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h index a0a6d50ff..05b87959f 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h @@ -13,6 +13,13 @@ long long canvas_native_init_ios_webgpu(int64_t instance, uint32_t width, uint32_t height); +#if defined(TARGET_OS_IOS) +long long canvas_native_init_ios_webgpu_uiview(int64_t instance, + int64_t view, + uint32_t width, + uint32_t height); +#endif + long long canvas_native_init_ios_gl(int64_t view, bool alpha, bool antialias, diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h index 278620801..b299e05f8 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h @@ -15,59 +15,59 @@ typedef enum CanvasAstcBlock { /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). */ - B4x4, + CanvasAstcBlockB4x4, /** * 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). */ - B5x4, + CanvasAstcBlockB5x4, /** * 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). */ - B5x5, + CanvasAstcBlockB5x5, /** * 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). */ - B6x5, + CanvasAstcBlockB6x5, /** * 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). */ - B6x6, + CanvasAstcBlockB6x6, /** * 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). */ - B8x5, + CanvasAstcBlockB8x5, /** * 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). */ - B8x6, + CanvasAstcBlockB8x6, /** * 8x8 block compressed texture. 16 bytes per block (2 bit/px). */ - B8x8, + CanvasAstcBlockB8x8, /** * 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). */ - B10x5, + CanvasAstcBlockB10x5, /** * 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). */ - B10x6, + CanvasAstcBlockB10x6, /** * 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). */ - B10x8, + CanvasAstcBlockB10x8, /** * 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). */ - B10x10, + CanvasAstcBlockB10x10, /** * 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). */ - B12x10, + CanvasAstcBlockB12x10, /** * 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). */ - B12x12, + CanvasAstcBlockB12x12, } CanvasAstcBlock; /** @@ -79,86 +79,299 @@ typedef enum CanvasAstcChannel { * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - Unorm, + CanvasAstcChannelUnorm, /** * 8 bit integer RGBA, Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - UnormSrgb, + CanvasAstcChannelUnormSrgb, /** * floating-point RGBA, linear-color float can be outside of the [0, 1] range. * * [`Features::TEXTURE_COMPRESSION_ASTC_HDR`] must be enabled to use this channel. */ - Hdr, + CanvasAstcChannelHdr, } CanvasAstcChannel; +typedef enum CanvasBlendFactor { + /** + * 0.0 + */ + CanvasBlendFactorZero = 0, + /** + * 1.0 + */ + CanvasBlendFactorOne = 1, + /** + * S.component + */ + CanvasBlendFactorSrc = 2, + /** + * 1.0 - S.component + */ + CanvasBlendFactorOneMinusSrc = 3, + /** + * S.alpha + */ + CanvasBlendFactorSrcAlpha = 4, + /** + * 1.0 - S.alpha + */ + CanvasBlendFactorOneMinusSrcAlpha = 5, + /** + * D.component + */ + CanvasBlendFactorDst = 6, + /** + * 1.0 - D.component + */ + CanvasBlendFactorOneMinusDst = 7, + /** + * D.alpha + */ + CanvasBlendFactorDstAlpha = 8, + /** + * 1.0 - D.alpha + */ + CanvasBlendFactorOneMinusDstAlpha = 9, + /** + * min(S.alpha, 1.0 - D.alpha) + */ + CanvasBlendFactorSrcAlphaSaturated = 10, + /** + * Constant + */ + CanvasBlendFactorConstant = 11, + /** + * 1.0 - Constant + */ + CanvasBlendFactorOneMinusConstant = 12, + /** + * S1.component + */ + CanvasBlendFactorSrc1 = 13, + /** + * 1.0 - S1.component + */ + CanvasBlendFactorOneMinusSrc1 = 14, + /** + * S1.alpha + */ + CanvasBlendFactorSrc1Alpha = 15, + /** + * 1.0 - S1.alpha + */ + CanvasBlendFactorOneMinusSrc1Alpha = 16, +} CanvasBlendFactor; + +typedef enum CanvasBlendOperation { + /** + * Src + Dst + */ + CanvasBlendOperationAdd = 0, + /** + * Src - Dst + */ + CanvasBlendOperationSubtract = 1, + /** + * Dst - Src + */ + CanvasBlendOperationReverseSubtract = 2, + /** + * min(Src, Dst) + */ + CanvasBlendOperationMin = 3, + /** + * max(Src, Dst) + */ + CanvasBlendOperationMax = 4, +} CanvasBlendOperation; + +typedef enum CanvasCompareFunction { + CanvasCompareFunctionNever = 1, + CanvasCompareFunctionLess = 2, + CanvasCompareFunctionEqual = 3, + CanvasCompareFunctionLessEqual = 4, + CanvasCompareFunctionGreater = 5, + CanvasCompareFunctionNotEqual = 6, + CanvasCompareFunctionGreaterEqual = 7, + CanvasCompareFunctionAlways = 8, +} CanvasCompareFunction; + +typedef enum CanvasCullMode { + CanvasCullModeNone, + CanvasCullModeFront, + CanvasCullModeBack, +} CanvasCullMode; + +typedef enum CanvasFrontFace { + CanvasFrontFaceCcw = 0, + CanvasFrontFaceCw = 1, +} CanvasFrontFace; + +typedef enum CanvasGPUAutoLayoutMode { + CanvasGPUAutoLayoutModeAuto, +} CanvasGPUAutoLayoutMode; + typedef enum CanvasGPUPowerPreference { - None, - LowPower, - HighPerformance, + CanvasGPUPowerPreferenceNone, + CanvasGPUPowerPreferenceLowPower, + CanvasGPUPowerPreferenceHighPerformance, } CanvasGPUPowerPreference; typedef enum CanvasGPUPresentMode { - AutoVsync = 0, - AutoNoVsync = 1, - Fifo = 2, - FifoRelaxed = 3, - Immediate = 4, - Mailbox = 5, + CanvasGPUPresentModeAutoVsync = 0, + CanvasGPUPresentModeAutoNoVsync = 1, + CanvasGPUPresentModeFifo = 2, + CanvasGPUPresentModeFifoRelaxed = 3, + CanvasGPUPresentModeImmediate = 4, + CanvasGPUPresentModeMailbox = 5, } CanvasGPUPresentMode; typedef enum CanvasGPUSurfaceAlphaMode { - Auto = 0, - Opaque = 1, - PreMultiplied = 2, - PostMultiplied = 3, - Inherit = 4, + CanvasGPUSurfaceAlphaModeAuto = 0, + CanvasGPUSurfaceAlphaModeOpaque = 1, + CanvasGPUSurfaceAlphaModePreMultiplied = 2, + CanvasGPUSurfaceAlphaModePostMultiplied = 3, + CanvasGPUSurfaceAlphaModeInherit = 4, } CanvasGPUSurfaceAlphaMode; +typedef enum CanvasIndexFormat { + /** + * Indices are 16 bit unsigned integers. + */ + CanvasIndexFormatUint16 = 0, + /** + * Indices are 32 bit unsigned integers. + */ + CanvasIndexFormatUint32 = 1, +} CanvasIndexFormat; + +typedef enum CanvasLoadOp { + CanvasLoadOpClear = 0, + CanvasLoadOpLoad = 1, +} CanvasLoadOp; + +typedef enum CanvasOptionalTextureViewDimension { + CanvasOptionalTextureViewDimensionNone, + CanvasOptionalTextureViewDimensionD1, + CanvasOptionalTextureViewDimensionD2, + CanvasOptionalTextureViewDimensionD2Array, + CanvasOptionalTextureViewDimensionCube, + CanvasOptionalTextureViewDimensionCubeArray, + CanvasOptionalTextureViewDimensionD3, +} CanvasOptionalTextureViewDimension; + +typedef enum CanvasPrimitiveTopology { + CanvasPrimitiveTopologyPointList = 0, + CanvasPrimitiveTopologyLineList = 1, + CanvasPrimitiveTopologyLineStrip = 2, + CanvasPrimitiveTopologyTriangleList = 3, + CanvasPrimitiveTopologyTriangleStrip = 4, +} CanvasPrimitiveTopology; + +typedef enum CanvasStencilOperation { + CanvasStencilOperationKeep = 0, + CanvasStencilOperationZero = 1, + CanvasStencilOperationReplace = 2, + CanvasStencilOperationInvert = 3, + CanvasStencilOperationIncrementClamp = 4, + CanvasStencilOperationDecrementClamp = 5, + CanvasStencilOperationIncrementWrap = 6, + CanvasStencilOperationDecrementWrap = 7, +} CanvasStencilOperation; + +typedef enum CanvasStoreOp { + CanvasStoreOpDiscard = 0, + CanvasStoreOpStore = 1, +} CanvasStoreOp; + typedef enum CanvasTextureAspect { /** * Depth, Stencil, and Color. */ - All, + CanvasTextureAspectAll, /** * Stencil. */ - StencilOnly, + CanvasTextureAspectStencilOnly, /** * Depth. */ - DepthOnly, + CanvasTextureAspectDepthOnly, /** * Plane 0. */ - Plane0, + CanvasTextureAspectPlane0, /** * Plane 1. */ - Plane1, + CanvasTextureAspectPlane1, /** * Plane 2. */ - Plane2, + CanvasTextureAspectPlane2, } CanvasTextureAspect; typedef enum CanvasTextureDimension { - D1, - D2, - D3, + CanvasTextureDimensionD1, + CanvasTextureDimensionD2, + CanvasTextureDimensionD3, } CanvasTextureDimension; +typedef enum CanvasVertexFormat { + CanvasVertexFormatUint8x2 = 0, + CanvasVertexFormatUint8x4 = 1, + CanvasVertexFormatSint8x2 = 2, + CanvasVertexFormatSint8x4 = 3, + CanvasVertexFormatUnorm8x2 = 4, + CanvasVertexFormatUnorm8x4 = 5, + CanvasVertexFormatSnorm8x2 = 6, + CanvasVertexFormatSnorm8x4 = 7, + CanvasVertexFormatUint16x2 = 8, + CanvasVertexFormatUint16x4 = 9, + CanvasVertexFormatSint16x2 = 10, + CanvasVertexFormatSint16x4 = 11, + CanvasVertexFormatUnorm16x2 = 12, + CanvasVertexFormatUnorm16x4 = 13, + CanvasVertexFormatSnorm16x2 = 14, + CanvasVertexFormatSnorm16x4 = 15, + CanvasVertexFormatFloat16x2 = 16, + CanvasVertexFormatFloat16x4 = 17, + CanvasVertexFormatFloat32 = 18, + CanvasVertexFormatFloat32x2 = 19, + CanvasVertexFormatFloat32x3 = 20, + CanvasVertexFormatFloat32x4 = 21, + CanvasVertexFormatUint32 = 22, + CanvasVertexFormatUint32x2 = 23, + CanvasVertexFormatUint32x3 = 24, + CanvasVertexFormatUint32x4 = 25, + CanvasVertexFormatSint32 = 26, + CanvasVertexFormatSint32x2 = 27, + CanvasVertexFormatSint32x3 = 28, + CanvasVertexFormatSint32x4 = 29, + CanvasVertexFormatFloat64 = 30, + CanvasVertexFormatFloat64x2 = 31, + CanvasVertexFormatFloat64x3 = 32, + CanvasVertexFormatFloat64x4 = 33, + CanvasVertexFormatUnorm10_10_10_2 = 34, +} CanvasVertexFormat; + +typedef enum CanvasVertexStepMode { + CanvasVertexStepModeVertex = 0, + CanvasVertexStepModeInstance = 1, +} CanvasVertexStepMode; + typedef enum GLConstants { - UNPACK_FLIP_Y_WEBGL = 37440, - UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441, - UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443, + GLConstantsUnPackFlipYWebGL = 37440, + GLConstantsUnpackPremultiplyAlphaWebGL = 37441, + GLConstantsUnpackColorSpaceConversionWebGL = 37443, } GLConstants; typedef enum GPUMapMode { - Read, - Write, + GPUMapModeRead, + GPUMapModeWrite, } GPUMapMode; typedef enum ImageBitmapColorSpaceConversion { @@ -169,7 +382,7 @@ typedef enum ImageBitmapColorSpaceConversion { typedef enum ImageBitmapPremultiplyAlpha { ImageBitmapPremultiplyAlphaDefault, ImageBitmapPremultiplyAlphaPremultiply, - ImageBitmapPremultiplyAlphaNone, + ImageBitmapPremultiplyAlphaAlphaNone, } ImageBitmapPremultiplyAlpha; typedef enum ImageBitmapResizeQuality { @@ -193,41 +406,41 @@ typedef enum PaintStyleType { } PaintStyleType; typedef enum TextBaseLine { - TOP = 0, - HANGING = 1, - MIDDLE = 2, - ALPHABETIC = 3, - IDEOGRAPHIC = 4, - BOTTOM = 5, + TextBaseLineTOP = 0, + TextBaseLineHANGING = 1, + TextBaseLineMIDDLE = 2, + TextBaseLineALPHABETIC = 3, + TextBaseLineIDEOGRAPHIC = 4, + TextBaseLineBOTTOM = 5, } TextBaseLine; typedef enum WebGLExtensionType { - WebGLExtensionTypeEXT_blend_minmax, - WebGLExtensionTypeEXT_color_buffer_half_float, - WebGLExtensionTypeEXT_disjoint_timer_query, - WebGLExtensionTypeEXT_sRGB, - WebGLExtensionTypeEXT_shader_texture_lod, - WebGLExtensionTypeEXT_texture_filter_anisotropic, - WebGLExtensionTypeOES_element_index_uint, - WebGLExtensionTypeOES_standard_derivatives, - WebGLExtensionTypeOES_texture_float, - WebGLExtensionTypeOES_texture_float_linear, - WebGLExtensionTypeOES_texture_half_float, - WebGLExtensionTypeOES_texture_half_float_linear, - WebGLExtensionTypeOES_vertex_array_object, - WebGLExtensionTypeWEBGL_color_buffer_float, - WebGLExtensionTypeWEBGL_compressed_texture_atc, - WebGLExtensionTypeWEBGL_compressed_texture_etc1, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, - WebGLExtensionTypeWEBGL_compressed_texture_etc, - WebGLExtensionTypeWEBGL_compressed_texture_pvrtc, - WebGLExtensionTypeWEBGL_lose_context, - WebGLExtensionTypeANGLE_instanced_arrays, - WebGLExtensionTypeWEBGL_depth_texture, - WebGLExtensionTypeWEBGL_draw_buffers, - WebGLExtensionTypeOES_fbo_render_mipmap, - WebGLExtensionTypeNone, + WebGLExtensionTypeWebGLExtensionTypeEXT_blend_minmax, + WebGLExtensionTypeWebGLExtensionTypeEXT_color_buffer_half_float, + WebGLExtensionTypeWebGLExtensionTypeEXT_disjoint_timer_query, + WebGLExtensionTypeWebGLExtensionTypeEXT_sRGB, + WebGLExtensionTypeWebGLExtensionTypeEXT_shader_texture_lod, + WebGLExtensionTypeWebGLExtensionTypeEXT_texture_filter_anisotropic, + WebGLExtensionTypeWebGLExtensionTypeOES_element_index_uint, + WebGLExtensionTypeWebGLExtensionTypeOES_standard_derivatives, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_vertex_array_object, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_color_buffer_float, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_atc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc1, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_pvrtc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_lose_context, + WebGLExtensionTypeWebGLExtensionTypeANGLE_instanced_arrays, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_depth_texture, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_draw_buffers, + WebGLExtensionTypeWebGLExtensionTypeOES_fbo_render_mipmap, + WebGLExtensionTypeWebGLExtensionTypeNone, } WebGLExtensionType; typedef enum WebGLResultType { @@ -247,10 +460,16 @@ typedef struct ANGLE_instanced_arrays ANGLE_instanced_arrays; typedef struct CCow CCow; +typedef struct CanvasConstants CanvasConstants; + typedef struct CanvasGPUAdapter CanvasGPUAdapter; typedef struct CanvasGPUAdapterInfo CanvasGPUAdapterInfo; +typedef struct CanvasGPUBindGroup CanvasGPUBindGroup; + +typedef struct CanvasGPUBindGroupLayout CanvasGPUBindGroupLayout; + typedef struct CanvasGPUBuffer CanvasGPUBuffer; typedef struct CanvasGPUCanvasContext CanvasGPUCanvasContext; @@ -263,14 +482,28 @@ typedef struct CanvasGPUComputePass CanvasGPUComputePass; typedef struct CanvasGPUDevice CanvasGPUDevice; +typedef struct CanvasGPUPipelineLayout CanvasGPUPipelineLayout; + typedef struct CanvasGPUQuerySet CanvasGPUQuerySet; typedef struct CanvasGPUQueue CanvasGPUQueue; +typedef struct CanvasGPURenderBundle CanvasGPURenderBundle; + +typedef struct CanvasGPURenderPass CanvasGPURenderPass; + +typedef struct CanvasGPURenderPipeline CanvasGPURenderPipeline; + typedef struct CanvasGPUShaderModule CanvasGPUShaderModule; typedef struct CanvasGPUTexture CanvasGPUTexture; +typedef struct CanvasGPUTextureView CanvasGPUTextureView; + +typedef struct CanvasImageDataLayout CanvasImageDataLayout; + +typedef struct CanvasRenderPassDepthStencilAttachment CanvasRenderPassDepthStencilAttachment; + typedef struct CanvasRenderingContext2D CanvasRenderingContext2D; typedef struct CanvasWebGPUInstance CanvasWebGPUInstance; @@ -423,6 +656,32 @@ typedef struct CanvasGPUSupportedLimits { uint32_t max_non_sampler_bindings; } CanvasGPUSupportedLimits; +typedef struct CanvasColor { + double r; + double g; + double b; + double a; +} CanvasColor; +#define CanvasColor_TRANSPARENT (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 0.0 } +#define CanvasColor_BLACK (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_WHITE (CanvasColor){ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 } +#define CanvasColor_RED (CanvasColor){ .r = 1.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_GREEN (CanvasColor){ .r = 0.0, .g = 1.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_BLUE (CanvasColor){ .r = 0.0, .g = 0.0, .b = 1.0, .a = 1.0 } + +typedef struct CanvasPassChannelColor { + enum CanvasLoadOp load_op; + enum CanvasStoreOp store_op; + struct CanvasColor clear_value; + bool read_only; +} CanvasPassChannelColor; + +typedef struct CanvasRenderPassColorAttachment { + const struct CanvasGPUTextureView *view; + const struct CanvasGPUTextureView *resolve_target; + struct CanvasPassChannelColor channel; +} CanvasRenderPassColorAttachment; + typedef struct CanvasImageCopyBuffer { const struct CanvasGPUBuffer *buffer; uint64_t offset; @@ -467,217 +726,277 @@ typedef struct CanvasExtent3d { uint32_t depth_or_array_layers; } CanvasExtent3d; +typedef enum CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag { + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeLayout, + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeAuto, +} CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag; + +typedef struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode { + CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag tag; + union { + struct { + const struct CanvasGPUPipelineLayout *layout; + }; + struct { + enum CanvasGPUAutoLayoutMode auto_; + }; + }; +} CanvasGPUPipelineLayoutOrGPUAutoLayoutMode; + +typedef struct CanvasVertexAttribute { + enum CanvasVertexFormat format; + uint64_t offset; + uint32_t shader_location; +} CanvasVertexAttribute; + +typedef struct CanvasVertexBufferLayout { + uint64_t array_stride; + enum CanvasVertexStepMode step_mode; + const struct CanvasVertexAttribute *attributes; + uintptr_t attributes_size; +} CanvasVertexBufferLayout; + +typedef struct CanvasVertexState { + const struct CanvasGPUShaderModule *module; + const char *entry_point; + const struct CanvasConstants *constants; + const struct CanvasVertexBufferLayout *buffers; + uintptr_t buffers_size; +} CanvasVertexState; + +typedef enum CanvasOptionalIndexFormat_Tag { + CanvasOptionalIndexFormatNone, + CanvasOptionalIndexFormatSome, +} CanvasOptionalIndexFormat_Tag; + +typedef struct CanvasOptionalIndexFormat { + CanvasOptionalIndexFormat_Tag tag; + union { + struct { + enum CanvasIndexFormat some; + }; + }; +} CanvasOptionalIndexFormat; + +typedef struct CanvasPrimitiveState { + enum CanvasPrimitiveTopology topology; + struct CanvasOptionalIndexFormat strip_index_format; + enum CanvasFrontFace front_face; + enum CanvasCullMode cull_mode; + bool unclipped_depth; +} CanvasPrimitiveState; + typedef enum CanvasGPUTextureFormat_Tag { /** * Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - R8Unorm, + CanvasGPUTextureFormatR8Unorm, /** * Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - R8Snorm, + CanvasGPUTextureFormatR8Snorm, /** * Red channel only. 8 bit integer per channel. Unsigned in shader. */ - R8Uint, + CanvasGPUTextureFormatR8Uint, /** * Red channel only. 8 bit integer per channel. Signed in shader. */ - R8Sint, + CanvasGPUTextureFormatR8Sint, /** * Red channel only. 16 bit integer per channel. Unsigned in shader. */ - R16Uint, + CanvasGPUTextureFormatR16Uint, /** * Red channel only. 16 bit integer per channel. Signed in shader. */ - R16Sint, + CanvasGPUTextureFormatR16Sint, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Unorm, + CanvasGPUTextureFormatR16Unorm, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Snorm, + CanvasGPUTextureFormatR16Snorm, /** * Red channel only. 16 bit float per channel. Float in shader. */ - R16Float, + CanvasGPUTextureFormatR16Float, /** * Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rg8Unorm, + CanvasGPUTextureFormatRg8Unorm, /** * Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rg8Snorm, + CanvasGPUTextureFormatRg8Snorm, /** * Red and green channels. 8 bit integer per channel. Unsigned in shader. */ - Rg8Uint, + CanvasGPUTextureFormatRg8Uint, /** * Red and green channels. 8 bit integer per channel. Signed in shader. */ - Rg8Sint, + CanvasGPUTextureFormatRg8Sint, /** * Red channel only. 32 bit integer per channel. Unsigned in shader. */ - R32Uint, + CanvasGPUTextureFormatR32Uint, /** * Red channel only. 32 bit integer per channel. Signed in shader. */ - R32Sint, + CanvasGPUTextureFormatR32Sint, /** * Red channel only. 32 bit float per channel. Float in shader. */ - R32Float, + CanvasGPUTextureFormatR32Float, /** * Red and green channels. 16 bit integer per channel. Unsigned in shader. */ - Rg16Uint, + CanvasGPUTextureFormatRg16Uint, /** * Red and green channels. 16 bit integer per channel. Signed in shader. */ - Rg16Sint, + CanvasGPUTextureFormatRg16Sint, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Unorm, + CanvasGPUTextureFormatRg16Unorm, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Snorm, + CanvasGPUTextureFormatRg16Snorm, /** * Red and green channels. 16 bit float per channel. Float in shader. */ - Rg16Float, + CanvasGPUTextureFormatRg16Float, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rgba8Unorm, + CanvasGPUTextureFormatRgba8Unorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Rgba8UnormSrgb, + CanvasGPUTextureFormatRgba8UnormSrgb, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rgba8Snorm, + CanvasGPUTextureFormatRgba8Snorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader. */ - Rgba8Uint, + CanvasGPUTextureFormatRgba8Uint, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader. */ - Rgba8Sint, + CanvasGPUTextureFormatRgba8Sint, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Bgra8Unorm, + CanvasGPUTextureFormatBgra8Unorm, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Bgra8UnormSrgb, + CanvasGPUTextureFormatBgra8UnormSrgb, /** * Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent */ - Rgb9e5Ufloat, + CanvasGPUTextureFormatRgb9e5Ufloat, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. Unsigned in shader. */ - Rgb10a2Uint, + CanvasGPUTextureFormatRgb10a2Uint, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha) converted to/from float [0, 1] in shader. */ - Rgb10a2Unorm, + CanvasGPUTextureFormatRgb10a2Unorm, /** * Red, green, and blue channels. 11 bit float with no sign bit for RG channels. 10 bit float with no sign bit for blue channel. Float in shader. */ - Rg11b10Float, + CanvasGPUTextureFormatRg11b10Float, /** * Red and green channels. 32 bit integer per channel. Unsigned in shader. */ - Rg32Uint, + CanvasGPUTextureFormatRg32Uint, /** * Red and green channels. 32 bit integer per channel. Signed in shader. */ - Rg32Sint, + CanvasGPUTextureFormatRg32Sint, /** * Red and green channels. 32 bit float per channel. Float in shader. */ - Rg32Float, + CanvasGPUTextureFormatRg32Float, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader. */ - Rgba16Uint, + CanvasGPUTextureFormatRgba16Uint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader. */ - Rgba16Sint, + CanvasGPUTextureFormatRgba16Sint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Unorm, + CanvasGPUTextureFormatRgba16Unorm, /** * Red, green, blue, and alpha. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Snorm, + CanvasGPUTextureFormatRgba16Snorm, /** * Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader. */ - Rgba16Float, + CanvasGPUTextureFormatRgba16Float, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader. */ - Rgba32Uint, + CanvasGPUTextureFormatRgba32Uint, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader. */ - Rgba32Sint, + CanvasGPUTextureFormatRgba32Sint, /** * Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader. */ - Rgba32Float, + CanvasGPUTextureFormatRgba32Float, /** * Stencil format with 8 bit integer stencil. */ - Stencil8, + CanvasGPUTextureFormatStencil8, /** * Special depth format with 16 bit integer depth. */ - Depth16Unorm, + CanvasGPUTextureFormatDepth16Unorm, /** * Special depth format with at least 24 bit integer depth. */ - Depth24Plus, + CanvasGPUTextureFormatDepth24Plus, /** * Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil. */ - Depth24PlusStencil8, + CanvasGPUTextureFormatDepth24PlusStencil8, /** * Special depth format with 32 bit floating point depth. */ - Depth32Float, + CanvasGPUTextureFormatDepth32Float, /** * Special depth/stencil format with 32 bit floating point depth and 8 bits integer stencil. * * [`Features::DEPTH32FLOAT_STENCIL8`] must be enabled to use this texture format. */ - Depth32FloatStencil8, + CanvasGPUTextureFormatDepth32FloatStencil8, /** * YUV 4:2:0 chroma subsampled format. * @@ -693,7 +1012,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_FORMAT_NV12`] must be enabled to use this texture format. */ - NV12, + CanvasGPUTextureFormatNV12, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * [0, 63] ([0, 1] for alpha) converted to/from float [0, 1] in shader. @@ -702,7 +1021,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnorm, + CanvasGPUTextureFormatBc1RgbaUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * Srgb-color [0, 63] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -711,7 +1030,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnormSrgb, + CanvasGPUTextureFormatBc1RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * [0, 63] ([0, 15] for alpha) converted to/from float [0, 1] in shader. @@ -720,7 +1039,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnorm, + CanvasGPUTextureFormatBc2RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -729,7 +1048,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnormSrgb, + CanvasGPUTextureFormatBc2RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * [0, 63] ([0, 255] for alpha) converted to/from float [0, 1] in shader. @@ -738,7 +1057,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnorm, + CanvasGPUTextureFormatBc3RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -747,7 +1066,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnormSrgb, + CanvasGPUTextureFormatBc3RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [0, 255] converted to/from float [0, 1] in shader. @@ -756,7 +1075,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RUnorm, + CanvasGPUTextureFormatBc4RUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -765,7 +1084,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RSnorm, + CanvasGPUTextureFormatBc4RSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [0, 255] converted to/from float [0, 1] in shader. @@ -774,7 +1093,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgUnorm, + CanvasGPUTextureFormatBc5RgUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -783,7 +1102,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgSnorm, + CanvasGPUTextureFormatBc5RgSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit unsigned float RGB. Float in shader. * @@ -791,7 +1110,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbUfloat, + CanvasGPUTextureFormatBc6hRgbUfloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit signed float RGB. Float in shader. * @@ -799,7 +1118,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbFloat, + CanvasGPUTextureFormatBc6hRgbFloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * [0, 255] converted to/from float [0, 1] in shader. @@ -808,7 +1127,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnorm, + CanvasGPUTextureFormatBc7RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. @@ -817,77 +1136,77 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnormSrgb, + CanvasGPUTextureFormatBc7RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8Unorm, + CanvasGPUTextureFormatEtc2Rgb8Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * [0, 255] ([0, 1] for alpha) converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1Unorm, + CanvasGPUTextureFormatEtc2Rgb8A1Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * Srgb-color [0, 255] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8A1UnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8Unorm, + CanvasGPUTextureFormatEtc2Rgba8Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgba8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Unorm, + CanvasGPUTextureFormatEacR11Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Snorm, + CanvasGPUTextureFormatEacR11Snorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Unorm, + CanvasGPUTextureFormatEacRg11Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Snorm, + CanvasGPUTextureFormatEacRg11Snorm, /** * block compressed texture. 16 bytes per block. * @@ -897,10 +1216,10 @@ typedef enum CanvasGPUTextureFormat_Tag { * [`TEXTURE_COMPRESSION_ASTC`]: Features::TEXTURE_COMPRESSION_ASTC * [`TEXTURE_COMPRESSION_ASTC_HDR`]: Features::TEXTURE_COMPRESSION_ASTC_HDR */ - Astc, + CanvasGPUTextureFormatAstc, } CanvasGPUTextureFormat_Tag; -typedef struct Astc_Body { +typedef struct CanvasGPUTextureFormatAstc_Body { /** * compressed block dimensions */ @@ -909,15 +1228,120 @@ typedef struct Astc_Body { * ASTC RGBA channel */ enum CanvasAstcChannel channel; -} Astc_Body; +} CanvasGPUTextureFormatAstc_Body; typedef struct CanvasGPUTextureFormat { CanvasGPUTextureFormat_Tag tag; union { - Astc_Body astc; + CanvasGPUTextureFormatAstc_Body astc; }; } CanvasGPUTextureFormat; +typedef struct CanvasStencilFaceState { + enum CanvasCompareFunction compare; + enum CanvasStencilOperation fail_op; + enum CanvasStencilOperation depth_fail_op; + enum CanvasStencilOperation pass_op; +} CanvasStencilFaceState; +/** + * Ignore the stencil state for the face. + */ +#define CanvasStencilFaceState_IGNORE (CanvasStencilFaceState){ .compare = CanvasCompareFunction_Always, .fail_op = CanvasStencilOperation_Keep, .depth_fail_op = CanvasStencilOperation_Keep, .pass_op = CanvasStencilOperation_Keep } + +typedef struct CanvasDepthStencilState { + struct CanvasGPUTextureFormat format; + bool depth_write_enabled; + enum CanvasCompareFunction depth_compare; + struct CanvasStencilFaceState stencil_front; + struct CanvasStencilFaceState stencil_back; + uint32_t stencil_read_mask; + uint32_t stencil_write_mask; + int32_t depth_bias; + float depth_bias_slope_scale; + float depth_bias_clamp; +} CanvasDepthStencilState; + +typedef struct CanvasMultisampleState { + uint32_t count; + uint64_t mask; + bool alpha_to_coverage_enabled; +} CanvasMultisampleState; + +typedef struct CanvasBlendComponent { + enum CanvasBlendFactor src_factor; + enum CanvasBlendFactor dst_factor; + enum CanvasBlendOperation operation; +} CanvasBlendComponent; +/** + * Default blending state that replaces destination with the source. + */ +#define CanvasBlendComponent_REPLACE (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_One, .dst_factor = CanvasBlendFactor_Zero, .operation = CanvasBlendOperation_Add } +/** + * Blend state of (1 * src) + ((1 - src_alpha) * dst) + */ +#define CanvasBlendComponent_OVER (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_One, .dst_factor = CanvasBlendFactor_OneMinusSrcAlpha, .operation = CanvasBlendOperation_Add } + +typedef struct CanvasBlendState { + /** + * Color equation. + */ + struct CanvasBlendComponent color; + /** + * Alpha equation. + */ + struct CanvasBlendComponent alpha; +} CanvasBlendState; +/** + * Blend mode that does no color blending, just overwrites the output with the contents of the shader. + */ +#define CanvasBlendState_REPLACE (CanvasBlendState){ .color = CanvasBlendComponent_REPLACE, .alpha = CanvasBlendComponent_REPLACE } +/** + * Blend mode that does standard alpha blending with non-premultiplied alpha. + */ +#define CanvasBlendState_ALPHA_BLENDING (CanvasBlendState){ .color = (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_SrcAlpha, .dst_factor = CanvasBlendFactor_OneMinusSrcAlpha, .operation = CanvasBlendOperation_Add }, .alpha = CanvasBlendComponent_OVER } +/** + * Blend mode that does standard alpha blending with premultiplied alpha. + */ +#define CanvasBlendState_PREMULTIPLIED_ALPHA_BLENDING (CanvasBlendState){ .color = CanvasBlendComponent_OVER, .alpha = CanvasBlendComponent_OVER } + +typedef enum CanvasOptionalBlendState_Tag { + CanvasOptionalBlendStateNone, + CanvasOptionalBlendStateSome, +} CanvasOptionalBlendState_Tag; + +typedef struct CanvasOptionalBlendState { + CanvasOptionalBlendState_Tag tag; + union { + struct { + struct CanvasBlendState some; + }; + }; +} CanvasOptionalBlendState; + +typedef struct CanvasColorTargetState { + struct CanvasGPUTextureFormat format; + struct CanvasOptionalBlendState blend; + uint32_t write_mask; +} CanvasColorTargetState; + +typedef struct CanvasFragmentState { + const struct CanvasColorTargetState *targets; + uintptr_t targets_size; + const struct CanvasGPUShaderModule *module; + const char *entry_point; + const struct CanvasConstants *constants; +} CanvasFragmentState; + +typedef struct CanvasCreateRenderPipelineDescriptor { + const char *label; + struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode layout; + const struct CanvasVertexState *vertex; + const struct CanvasPrimitiveState *primitive; + const struct CanvasDepthStencilState *depth_stencil; + const struct CanvasMultisampleState *multisample; + const struct CanvasFragmentState *fragment; +} CanvasCreateRenderPipelineDescriptor; + typedef struct CanvasCreateTextureDescriptor { const char *label; enum CanvasTextureDimension dimension; @@ -932,6 +1356,43 @@ typedef struct CanvasCreateTextureDescriptor { uintptr_t view_formats_size; } CanvasCreateTextureDescriptor; +typedef struct CanvasOrigin2d { + /** + * + */ + uint32_t x; + /** + * + */ + uint32_t y; +} CanvasOrigin2d; + +typedef struct CanvasImageCopyExternalImage { + /** + * The texture to be copied from. The copy source data is captured at the moment + * the copy is issued. + */ + const uint8_t *source; + uintptr_t source_size; + /** + * The base texel used for copying from the external image. Together + * with the `copy_size` argument to copy functions, defines the + * sub-region of the image to copy. + * + * Relative to the top left of the image. + * + * Must be [`Origin2d::ZERO`] if [`DownlevelFlags::UNRESTRICTED_EXTERNAL_TEXTURE_COPIES`] is not supported. + */ + struct CanvasOrigin2d origin; + /** + * If the Y coordinate of the image should be flipped. Even if this is + * true, `origin` is still relative to the top left. + */ + bool flip_y; + uint32_t width; + uint32_t height; +} CanvasImageCopyExternalImage; + typedef struct CanvasGPUSurfaceConfiguration { enum CanvasGPUSurfaceAlphaMode alphaMode; uint32_t usage; @@ -940,6 +1401,50 @@ typedef struct CanvasGPUSurfaceConfiguration { uintptr_t view_formats_size; } CanvasGPUSurfaceConfiguration; +typedef enum CanvasOptionalGPUTextureFormat_Tag { + CanvasOptionalGPUTextureFormatNone, + CanvasOptionalGPUTextureFormatSome, +} CanvasOptionalGPUTextureFormat_Tag; + +typedef struct CanvasOptionalGPUTextureFormat { + CanvasOptionalGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionalGPUTextureFormat; + +typedef enum CanvasOptionsGPUTextureFormat_Tag { + CanvasOptionsGPUTextureFormatNone, + CanvasOptionsGPUTextureFormatSome, +} CanvasOptionsGPUTextureFormat_Tag; + +typedef struct CanvasOptionsGPUTextureFormat { + CanvasOptionsGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionsGPUTextureFormat; + +typedef struct CanvasImageSubresourceRange { + enum CanvasTextureAspect aspect; + uint32_t base_mip_level; + int32_t mip_level_count; + uint32_t base_array_layer; + int32_t array_layer_count; +} CanvasImageSubresourceRange; + +typedef struct CanvasCreateTextureViewDescriptor { + const struct CanvasGPUTexture *texture; + const char *label; + struct CanvasOptionsGPUTextureFormat format; + enum CanvasOptionalTextureViewDimension dimension; + const struct CanvasImageSubresourceRange *range; +} CanvasCreateTextureViewDescriptor; + void canvas_native_image_filter_destroy(struct ImageFilter *value); void canvas_native_font_add_family(const char *alias, @@ -3642,6 +4147,16 @@ struct CanvasGPUComputePass *canvas_native_webgpu_command_encoder_begin_compute_ int32_t beginning_of_pass_write_index, int32_t end_of_pass_write_index); +struct CanvasGPURenderPass *canvas_native_webgpu_command_encoder_begin_render_pass(struct CanvasGPUCommandEncoder *command_encoder, + const char *label, + const struct CanvasRenderPassColorAttachment *color_attachments, + uintptr_t color_attachments_size, + const struct CanvasRenderPassDepthStencilAttachment *depth_stencil_attachment, + const struct CanvasGPUQuerySet *occlusion_query_set, + const struct CanvasGPUQuerySet *query_set, + int32_t beginning_of_pass_write_index, + int32_t end_of_pass_write_index); + void canvas_native_webgpu_command_encoder_clear_buffer(struct CanvasGPUCommandEncoder *command_encoder, const struct CanvasGPUBuffer *buffer, int64_t offset, @@ -3716,18 +4231,163 @@ struct CanvasGPUBuffer *canvas_native_webgpu_device_create_buffer(const struct C bool mapped_at_creation, char *error); +struct CanvasConstants *canvas_native_webgpu_constants_create(void); + +void canvas_native_webgpu_constants_insert(struct CanvasConstants *constants, + const char *key, + double value); + +void canvas_native_webgpu_constants_destroy(struct CanvasConstants *constants); + +struct CanvasGPURenderPipeline *canvas_native_webgpu_device_create_render_pipeline(const struct CanvasGPUDevice *device, + const struct CanvasCreateRenderPipelineDescriptor *descriptor); + struct CanvasGPUTexture *canvas_native_webgpu_device_create_texture(const struct CanvasGPUDevice *device, const struct CanvasCreateTextureDescriptor *descriptor, char *error); +void canvas_native_webgpu_queue_copy_external_image_to_texture(struct CanvasGPUQueue *queue, + const struct CanvasImageCopyExternalImage *source, + const struct CanvasImageCopyTexture *destination, + const struct CanvasExtent3d *size); + +void canvas_native_webgpu_queue_on_submitted_work_done(struct CanvasGPUQueue *queue, + void (*callback)(char*, void*), + void *callback_data); + +void canvas_native_webgpu_queue_submit(struct CanvasGPUQueue *queue, + const struct CanvasGPUCommandBuffer *const *command_buffers, + uintptr_t command_buffers_size); + +void canvas_native_webgpu_queue_write_buffer(struct CanvasGPUQueue *queue, + struct CanvasGPUBuffer *buffer, + uint64_t buffer_offset, + const uint8_t *data, + uintptr_t data_size, + uintptr_t data_offset, + intptr_t size); + +void canvas_native_webgpu_queue_write_texture(struct CanvasGPUQueue *queue, + const struct CanvasImageCopyTexture *destination, + const struct CanvasImageDataLayout *data_layout, + const struct CanvasExtent3d *size, + const uint8_t *buf, + uintptr_t buf_size); + struct CanvasGPUSupportedLimits *canvas_native_webgpu_create_limits(void); void canvas_native_webgpu_limits_destroy(struct CanvasGPUSupportedLimits *limits); +void canvas_native_webgpu_render_pass_begin_occlusion_query(struct CanvasGPURenderPass *render_pass, + uint32_t query_index); + +void canvas_native_webgpu_render_pass_encoder_draw(struct CanvasGPURenderPass *render_pass, + uint32_t vertex_count, + uint32_t instance_count, + uint32_t first_vertex, + uint32_t first_instance); + +void canvas_native_webgpu_render_pass_draw_indexed(struct CanvasGPURenderPass *render_pass, + uint32_t index_count, + uint32_t instance_count, + uint32_t first_index, + int32_t base_vertex, + uint32_t first_instance); + +void canvas_native_webgpu_render_pass_draw_indexed_indirect(struct CanvasGPURenderPass *render_pass, + struct CanvasGPUBuffer *indirect_buffer, + uint64_t indirect_offset); + +void canvas_native_webgpu_render_pass_draw_indirect(struct CanvasGPURenderPass *render_pass, + struct CanvasGPUBuffer *indirect_buffer, + uint64_t indirect_offset); + +void canvas_native_webgpu_render_pass_end(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_end_occlusion_query(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_execute_bundles(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPURenderBundle *bundles, + uintptr_t bundles_size); + +void canvas_native_webgpu_render_pass_insert_debug_marker(struct CanvasGPURenderPass *render_pass, + const char *label); + +void canvas_native_webgpu_render_pass_pop_debug_group(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_push_debug_group(struct CanvasGPURenderPass *render_pass, + const char *label); + +void canvas_native_webgpu_render_pass_set_bind_group(struct CanvasGPURenderPass *render_pass, + uint32_t index, + const struct CanvasGPUBindGroup *bind_group, + const uint32_t *dynamic_offsets, + uintptr_t dynamic_offsets_size, + uintptr_t dynamic_offsets_start, + uintptr_t dynamic_offsets_length); + +void canvas_native_webgpu_render_pass_set_blend_constant(struct CanvasGPURenderPass *render_pass, + const struct CanvasColor *color); + +void canvas_native_webgpu_render_pass_set_index_buffer(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPUBuffer *buffer, + enum CanvasIndexFormat index_format, + int64_t offset, + int64_t size); + +void canvas_native_webgpu_render_pass_set_pipeline(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPURenderPipeline *pipeline); + +void canvas_native_webgpu_render_pass_set_scissor_rect(struct CanvasGPURenderPass *render_pass, + uint32_t x, + uint32_t y, + uint32_t width, + uint32_t height); + +void canvas_native_webgpu_render_pass_set_stencil_reference(struct CanvasGPURenderPass *render_pass, + uint32_t reference); + +void canvas_native_webgpu_render_pass_set_vertex_buffer(struct CanvasGPURenderPass *render_pass, + uint32_t slot, + struct CanvasGPUBuffer *buffer, + int64_t offset, + int64_t size); + +void canvas_native_webgpu_render_pass_set_viewport(struct CanvasGPURenderPass *render_pass, + float x, + float y, + float width, + float height, + float depth_min, + float depth_max); + +#if defined(TARGET_OS_ANDROID) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, + void *window, + uint32_t width, + uint32_t height); +#endif + +#if (defined(TARGET_OS_IOS) || defined(TARGET_OS_MACOS)) struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, void *view, uint32_t width, uint32_t height); +#endif + +#if defined(TARGET_OS_IOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_uiview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif + +#if defined(TARGET_OS_MACOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_nsview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif void canvas_native_webgpu_context_configure(struct CanvasGPUCanvasContext *context, struct CanvasGPUDevice *device, @@ -3741,6 +4401,11 @@ struct CanvasGPUTexture *canvas_native_webgpu_context_get_current_texture(struct char *canvas_native_webgpu_enum_gpu_texture_to_string(struct CanvasGPUTextureFormat value); +struct CanvasOptionalGPUTextureFormat canvas_native_webgpu_string_to_gpu_texture_enum(const char *format); + +struct CanvasGPUTextureView *canvas_native_webgpu_texture_create_texture_view(struct CanvasGPUTexture *texture, + const struct CanvasCreateTextureViewDescriptor *descriptor); + uint32_t canvas_native_webgpu_texture_get_depth_or_array_layers(struct CanvasGPUTexture *texture); uint32_t canvas_native_webgpu_texture_get_width(struct CanvasGPUTexture *texture); @@ -3761,6 +4426,9 @@ uint32_t canvas_native_webgpu_texture_get_sample_count(struct CanvasGPUTexture * char *canvas_native_webgpu_texture_destroy(struct CanvasGPUTexture *texture); +struct CanvasGPUBindGroupLayout *canvas_native_webgpu_render_pipeline_get_bind_group_layout(const struct CanvasGPURenderPipeline *pipeline, + uint32_t index); + const uint8_t *canvas_native_u8_buffer_get_bytes(const struct U8Buffer *buffer); uint8_t *canvas_native_u8_buffer_get_bytes_mut(struct U8Buffer *buffer); diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo index 1c4df822c..030f4aa5f 100644 Binary files a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo and b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json index 71838557a..ea5ca3953 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json @@ -375,6 +375,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "initWebGPUWithViewLayer", + "printedName": "initWebGPUWithViewLayer(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "c:@M@CanvasNative@objc(cs)NSSCanvasHelpers(cm)initWebGPUWithViewLayer::::", + "mangledName": "$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ", + "moduleName": "CanvasNative", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "initWebGPUWithView", @@ -5577,147 +5625,147 @@ { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2412, + "offset": 2396, "length": 1, "value": "1" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2315, + "offset": 2299, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2591, + "offset": 2575, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2649, + "offset": 2633, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2702, + "offset": 2686, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2807, + "offset": 2791, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2840, + "offset": 2824, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3499, + "offset": 3483, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3533, + "offset": 3517, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3563, + "offset": 3547, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3616, + "offset": 3600, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 3658, + "offset": 3642, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3698, + "offset": 3682, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3744, + "offset": 3728, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3777, + "offset": 3761, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3817, + "offset": 3801, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3855, + "offset": 3839, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15100, + "offset": 16303, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15581, + "offset": 16784, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16124, + "offset": 17327, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16156, + "offset": 17359, "length": 5, "value": "false" }, diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface index 8064fc35f..a81b03672 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface index 8064fc35f..a81b03672 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative index fa34cb674..97a24028f 100644 Binary files a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative and b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative differ diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml index 39ea909c9..04564eeaf 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml @@ -2,608 +2,606 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas/src-native/canvas-ios/dist/Release-iphoneos/CanvasNative.framework/CanvasNative' relocations: - - { offsetInCU: 0x34, offset: 0x7642B, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x87B000, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x76460, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x87B038, symSize: 0x0 } - - { offsetInCU: 0x3F, offset: 0x764B5, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x28, symBinAddr: 0x8028, symSize: 0xC } - - { offsetInCU: 0x53, offset: 0x764C9, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x34, symBinAddr: 0x8034, symSize: 0x4 } - - { offsetInCU: 0x67, offset: 0x764DD, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x38, symBinAddr: 0x8038, symSize: 0x20 } - - { offsetInCU: 0x7B, offset: 0x764F1, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x58, symBinAddr: 0x8058, symSize: 0x28 } - - { offsetInCU: 0x8F, offset: 0x76505, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0x94, symBinAddr: 0x8094, symSize: 0x30 } - - { offsetInCU: 0xA3, offset: 0x76519, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0xC4, symBinAddr: 0x80C4, symSize: 0xC } - - { offsetInCU: 0xB7, offset: 0x7652D, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0xD0, symBinAddr: 0x80D0, symSize: 0x20 } - - { offsetInCU: 0xCB, offset: 0x76541, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0xF0, symBinAddr: 0x80F0, symSize: 0x2C } - - { offsetInCU: 0x4F, offset: 0x7672A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AD0, symBinAddr: 0x1056950, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x76744, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AD8, symBinAddr: 0x1056958, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x76778, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x4, symBinAddr: 0x8194, symSize: 0x38 } - - { offsetInCU: 0xF3, offset: 0x767CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x40, symBinAddr: 0x81D0, symSize: 0x70 } - - { offsetInCU: 0x144, offset: 0x7681F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xB4, symBinAddr: 0x8244, symSize: 0x44 } - - { offsetInCU: 0x19F, offset: 0x7687A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0xFC, symBinAddr: 0x828C, symSize: 0x50 } - - { offsetInCU: 0x204, offset: 0x768DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x150, symBinAddr: 0x82E0, symSize: 0x68 } - - { offsetInCU: 0x27D, offset: 0x76958, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1BC, symBinAddr: 0x834C, symSize: 0x98 } - - { offsetInCU: 0x2DA, offset: 0x769B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x258, symBinAddr: 0x83E8, symSize: 0x14 } - - { offsetInCU: 0x389, offset: 0x76A64, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x2B0, symBinAddr: 0x8440, symSize: 0x50 } - - { offsetInCU: 0x45A, offset: 0x76B35, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x34C, symBinAddr: 0x84DC, symSize: 0x58 } - - { offsetInCU: 0x534, offset: 0x76C0F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x3EC, symBinAddr: 0x857C, symSize: 0x58 } - - { offsetInCU: 0x613, offset: 0x76CEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x494, symBinAddr: 0x8624, symSize: 0x60 } - - { offsetInCU: 0x6BF, offset: 0x76D9A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x4F8, symBinAddr: 0x8688, symSize: 0x8 } - - { offsetInCU: 0x728, offset: 0x76E03, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x504, symBinAddr: 0x8694, symSize: 0x8 } - - { offsetInCU: 0x77F, offset: 0x76E5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x520, symBinAddr: 0x86B0, symSize: 0x8 } - - { offsetInCU: 0x7D6, offset: 0x76EB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x52C, symBinAddr: 0x86BC, symSize: 0x8 } - - { offsetInCU: 0x82D, offset: 0x76F08, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x538, symBinAddr: 0x86C8, symSize: 0x8 } - - { offsetInCU: 0x884, offset: 0x76F5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x544, symBinAddr: 0x86D4, symSize: 0x8 } - - { offsetInCU: 0x903, offset: 0x76FDE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x554, symBinAddr: 0x86E4, symSize: 0x24 } - - { offsetInCU: 0x9B4, offset: 0x7708F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x57C, symBinAddr: 0x870C, symSize: 0x14 } - - { offsetInCU: 0xA27, offset: 0x77102, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x594, symBinAddr: 0x8724, symSize: 0x8 } - - { offsetInCU: 0xA7E, offset: 0x77159, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x5F4, symBinAddr: 0x8784, symSize: 0x74 } - - { offsetInCU: 0xB09, offset: 0x771E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0x7FC, symBinAddr: 0x898C, symSize: 0xA0 } - - { offsetInCU: 0xB5A, offset: 0x77235, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xB04, symBinAddr: 0x8C94, symSize: 0x98 } - - { offsetInCU: 0xBAB, offset: 0x77286, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0xE58, symBinAddr: 0x8FE8, symSize: 0x98 } - - { offsetInCU: 0xC07, offset: 0x772E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1280, symBinAddr: 0x9410, symSize: 0xD8 } - - { offsetInCU: 0xC4F, offset: 0x7732A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x135C, symBinAddr: 0x94EC, symSize: 0x34 } - - { offsetInCU: 0xCAF, offset: 0x7738A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x13E0, symBinAddr: 0x9570, symSize: 0x3C } - - { offsetInCU: 0xD00, offset: 0x773DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1450, symBinAddr: 0x95E0, symSize: 0x2AC } - - { offsetInCU: 0xF34, offset: 0x7760F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x16FC, symBinAddr: 0x988C, symSize: 0x264 } - - { offsetInCU: 0x112E, offset: 0x77809, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1960, symBinAddr: 0x9AF0, symSize: 0xEC } - - { offsetInCU: 0x122B, offset: 0x77906, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1A4C, symBinAddr: 0x9BDC, symSize: 0x1B4 } - - { offsetInCU: 0x13A0, offset: 0x77A7B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1C00, symBinAddr: 0x9D90, symSize: 0x1CC } - - { offsetInCU: 0x1535, offset: 0x77C10, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x1DCC, symBinAddr: 0x9F5C, symSize: 0x1E0 } - - { offsetInCU: 0x1721, offset: 0x77DFC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x1FAC, symBinAddr: 0xA13C, symSize: 0x1B4 } - - { offsetInCU: 0x17EB, offset: 0x77EC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x2304, symBinAddr: 0xA494, symSize: 0x1D4 } - - { offsetInCU: 0x18CC, offset: 0x77FA7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x24D8, symBinAddr: 0xA668, symSize: 0x114 } - - { offsetInCU: 0x1977, offset: 0x78052, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0x89C, symBinAddr: 0x8A2C, symSize: 0x78 } - - { offsetInCU: 0x198F, offset: 0x7806A, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xB9C, symBinAddr: 0x8D2C, symSize: 0x54 } - - { offsetInCU: 0x19FC, offset: 0x780D7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x144C, symBinAddr: 0x95DC, symSize: 0x4 } - - { offsetInCU: 0x1A87, offset: 0x78162, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x25EC, symBinAddr: 0xA77C, symSize: 0x20 } - - { offsetInCU: 0x1A9B, offset: 0x78176, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2630, symBinAddr: 0xA7C0, symSize: 0x8 } - - { offsetInCU: 0x1ABA, offset: 0x78195, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2638, symBinAddr: 0xA7C8, symSize: 0x18 } - - { offsetInCU: 0x1AE3, offset: 0x781BE, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x2650, symBinAddr: 0xA7E0, symSize: 0x8 } - - { offsetInCU: 0x1AF7, offset: 0x781D2, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x2658, symBinAddr: 0xA7E8, symSize: 0x3C } - - { offsetInCU: 0x1B0B, offset: 0x781E6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x26D8, symBinAddr: 0xA868, symSize: 0x34 } - - { offsetInCU: 0x1B1F, offset: 0x781FA, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x270C, symBinAddr: 0xA89C, symSize: 0x10 } - - { offsetInCU: 0x1B33, offset: 0x7820E, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x271C, symBinAddr: 0xA8AC, symSize: 0x8 } - - { offsetInCU: 0x1B47, offset: 0x78222, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2748, symBinAddr: 0xA8D8, symSize: 0x40 } - - { offsetInCU: 0x1B7B, offset: 0x78256, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x27CC, symBinAddr: 0xA95C, symSize: 0x40 } - - { offsetInCU: 0x1BB9, offset: 0x78294, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x280C, symBinAddr: 0xA99C, symSize: 0x28 } - - { offsetInCU: 0x1BED, offset: 0x782C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x288C, symBinAddr: 0xAA1C, symSize: 0x3C } - - { offsetInCU: 0x1C21, offset: 0x782FC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x28F4, symBinAddr: 0xAA84, symSize: 0x30 } - - { offsetInCU: 0x1C5D, offset: 0x78338, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2960, symBinAddr: 0xAAF0, symSize: 0x10 } - - { offsetInCU: 0x1C71, offset: 0x7834C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2970, symBinAddr: 0xAB00, symSize: 0x40 } - - { offsetInCU: 0x213E, offset: 0x78819, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x8190, symSize: 0x4 } - - { offsetInCU: 0x2159, offset: 0x78834, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x3C, symBinAddr: 0x81CC, symSize: 0x4 } - - { offsetInCU: 0x2174, offset: 0x7884F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xB0, symBinAddr: 0x8240, symSize: 0x4 } - - { offsetInCU: 0x2195, offset: 0x78870, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0xF8, symBinAddr: 0x8288, symSize: 0x4 } - - { offsetInCU: 0x21B0, offset: 0x7888B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x14C, symBinAddr: 0x82DC, symSize: 0x4 } - - { offsetInCU: 0x21CB, offset: 0x788A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1B8, symBinAddr: 0x8348, symSize: 0x4 } - - { offsetInCU: 0x21E6, offset: 0x788C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x254, symBinAddr: 0x83E4, symSize: 0x4 } - - { offsetInCU: 0x2274, offset: 0x7894F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x26C, symBinAddr: 0x83FC, symSize: 0x44 } - - { offsetInCU: 0x23B2, offset: 0x78A8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x300, symBinAddr: 0x8490, symSize: 0x4C } - - { offsetInCU: 0x24FB, offset: 0x78BD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x3A4, symBinAddr: 0x8534, symSize: 0x48 } - - { offsetInCU: 0x2643, offset: 0x78D1E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x444, symBinAddr: 0x85D4, symSize: 0x50 } - - { offsetInCU: 0x27A0, offset: 0x78E7B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x4F4, symBinAddr: 0x8684, symSize: 0x4 } - - { offsetInCU: 0x2812, offset: 0x78EED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x500, symBinAddr: 0x8690, symSize: 0x4 } - - { offsetInCU: 0x2855, offset: 0x78F30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x50C, symBinAddr: 0x869C, symSize: 0x14 } - - { offsetInCU: 0x289A, offset: 0x78F75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x528, symBinAddr: 0x86B8, symSize: 0x4 } - - { offsetInCU: 0x28DD, offset: 0x78FB8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x534, symBinAddr: 0x86C4, symSize: 0x4 } - - { offsetInCU: 0x2920, offset: 0x78FFB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x540, symBinAddr: 0x86D0, symSize: 0x4 } - - { offsetInCU: 0x2963, offset: 0x7903E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x54C, symBinAddr: 0x86DC, symSize: 0x8 } - - { offsetInCU: 0x2A4A, offset: 0x79125, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x578, symBinAddr: 0x8708, symSize: 0x4 } - - { offsetInCU: 0x2AC9, offset: 0x791A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x590, symBinAddr: 0x8720, symSize: 0x4 } - - { offsetInCU: 0x2B0C, offset: 0x791E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x59C, symBinAddr: 0x872C, symSize: 0x58 } - - { offsetInCU: 0x2BCD, offset: 0x792A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x668, symBinAddr: 0x87F8, symSize: 0x4 } - - { offsetInCU: 0x2BE1, offset: 0x792BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x66C, symBinAddr: 0x87FC, symSize: 0x190 } - - { offsetInCU: 0x2C81, offset: 0x7935C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0x914, symBinAddr: 0x8AA4, symSize: 0x2C } - - { offsetInCU: 0x2C95, offset: 0x79370, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0x940, symBinAddr: 0x8AD0, symSize: 0x1C4 } - - { offsetInCU: 0x2D7A, offset: 0x79455, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xBF0, symBinAddr: 0x8D80, symSize: 0x2C } - - { offsetInCU: 0x2D8E, offset: 0x79469, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xC1C, symBinAddr: 0x8DAC, symSize: 0x23C } - - { offsetInCU: 0x2E42, offset: 0x7951D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0xEF0, symBinAddr: 0x9080, symSize: 0x4 } - - { offsetInCU: 0x2E56, offset: 0x79531, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0xEF4, symBinAddr: 0x9084, symSize: 0x38C } - - { offsetInCU: 0x30ED, offset: 0x797C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1358, symBinAddr: 0x94E8, symSize: 0x4 } - - { offsetInCU: 0x3108, offset: 0x797E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x1390, symBinAddr: 0x9520, symSize: 0x20 } - - { offsetInCU: 0x311C, offset: 0x797F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x13B0, symBinAddr: 0x9540, symSize: 0x30 } - - { offsetInCU: 0x3152, offset: 0x7982D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x141C, symBinAddr: 0x95AC, symSize: 0x30 } - - { offsetInCU: 0x4F, offset: 0x79A65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x54A0, symBinAddr: 0x1056990, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x79A7F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x54A8, symBinAddr: 0x1056998, symSize: 0x0 } - - { offsetInCU: 0x83, offset: 0x79A99, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x54B0, symBinAddr: 0x10569A0, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x79AB3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x54B8, symBinAddr: 0x10569A8, symSize: 0x0 } - - { offsetInCU: 0xAB, offset: 0x79AC1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0xAC28, symSize: 0x40 } - - { offsetInCU: 0xF0, offset: 0x79B06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x40, symBinAddr: 0xAC68, symSize: 0x30 } - - { offsetInCU: 0x135, offset: 0x79B4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xA8, symBinAddr: 0xACD0, symSize: 0x40 } - - { offsetInCU: 0x187, offset: 0x79B9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0xADBC, symSize: 0x10 } - - { offsetInCU: 0x1A7, offset: 0x79BBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0xADBC, symSize: 0x10 } - - { offsetInCU: 0x1DD, offset: 0x79BF3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0xADCC, symSize: 0x10 } - - { offsetInCU: 0x1FD, offset: 0x79C13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0xADCC, symSize: 0x10 } - - { offsetInCU: 0x236, offset: 0x79C4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0xADDC, symSize: 0x10 } - - { offsetInCU: 0x256, offset: 0x79C6C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0xADDC, symSize: 0x10 } - - { offsetInCU: 0x28C, offset: 0x79CA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0xADEC, symSize: 0x10 } - - { offsetInCU: 0x2AC, offset: 0x79CC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0xADEC, symSize: 0x10 } - - { offsetInCU: 0x2FB, offset: 0x79D11, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyFTo', symObjAddr: 0x218, symBinAddr: 0xAE40, symSize: 0x44 } - - { offsetInCU: 0x3C6, offset: 0x79DDC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyFTo', symObjAddr: 0x2A8, symBinAddr: 0xAED0, symSize: 0x74 } - - { offsetInCU: 0x473, offset: 0x79E89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x31C, symBinAddr: 0xAF44, symSize: 0x44 } - - { offsetInCU: 0x4B0, offset: 0x79EC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x3A4, symBinAddr: 0xAFCC, symSize: 0x30 } - - { offsetInCU: 0x53F, offset: 0x79F55, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x5F8, symBinAddr: 0xB220, symSize: 0x44 } - - { offsetInCU: 0x597, offset: 0x79FAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x680, symBinAddr: 0xB2A8, symSize: 0x48 } - - { offsetInCU: 0x5F2, offset: 0x7A008, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x6C8, symBinAddr: 0xB2F0, symSize: 0x44 } - - { offsetInCU: 0x64A, offset: 0x7A060, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x750, symBinAddr: 0xB378, symSize: 0x48 } - - { offsetInCU: 0x6A5, offset: 0x7A0BB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x798, symBinAddr: 0xB3C0, symSize: 0x10 } - - { offsetInCU: 0x6C5, offset: 0x7A0DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x798, symBinAddr: 0xB3C0, symSize: 0x10 } - - { offsetInCU: 0x6FB, offset: 0x7A111, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A8, symBinAddr: 0xB3D0, symSize: 0x10 } - - { offsetInCU: 0x71B, offset: 0x7A131, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A8, symBinAddr: 0xB3D0, symSize: 0x10 } - - { offsetInCU: 0x73E, offset: 0x7A154, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7B8, symBinAddr: 0xB3E0, symSize: 0x10 } - - { offsetInCU: 0x75E, offset: 0x7A174, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7B8, symBinAddr: 0xB3E0, symSize: 0x10 } - - { offsetInCU: 0x796, offset: 0x7A1AC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x7C8, symBinAddr: 0xB3F0, symSize: 0x34 } - - { offsetInCU: 0x7D9, offset: 0x7A1EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7FC, symBinAddr: 0xB424, symSize: 0x10 } - - { offsetInCU: 0x7F9, offset: 0x7A20F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7FC, symBinAddr: 0xB424, symSize: 0x10 } - - { offsetInCU: 0x831, offset: 0x7A247, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x80C, symBinAddr: 0xB434, symSize: 0x34 } - - { offsetInCU: 0x88A, offset: 0x7A2A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x840, symBinAddr: 0xB468, symSize: 0x10 } - - { offsetInCU: 0x8AA, offset: 0x7A2C0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x840, symBinAddr: 0xB468, symSize: 0x10 } - - { offsetInCU: 0x8E0, offset: 0x7A2F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x850, symBinAddr: 0xB478, symSize: 0x10 } - - { offsetInCU: 0x900, offset: 0x7A316, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x850, symBinAddr: 0xB478, symSize: 0x10 } - - { offsetInCU: 0x939, offset: 0x7A34F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x860, symBinAddr: 0xB488, symSize: 0x10 } - - { offsetInCU: 0x959, offset: 0x7A36F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x860, symBinAddr: 0xB488, symSize: 0x10 } - - { offsetInCU: 0x98F, offset: 0x7A3A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x870, symBinAddr: 0xB498, symSize: 0x10 } - - { offsetInCU: 0x9AF, offset: 0x7A3C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x870, symBinAddr: 0xB498, symSize: 0x10 } - - { offsetInCU: 0x9D2, offset: 0x7A3E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x880, symBinAddr: 0xB4A8, symSize: 0x34 } - - { offsetInCU: 0xA04, offset: 0x7A41A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x984, symBinAddr: 0xB5AC, symSize: 0x34 } - - { offsetInCU: 0xA4C, offset: 0x7A462, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA88, symBinAddr: 0xB6B0, symSize: 0x20 } - - { offsetInCU: 0xAB4, offset: 0x7A4CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xACC, symBinAddr: 0xB6F4, symSize: 0x20 } - - { offsetInCU: 0xB53, offset: 0x7A569, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xB34, symBinAddr: 0xB75C, symSize: 0xC4 } - - { offsetInCU: 0xC00, offset: 0x7A616, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xD58, symBinAddr: 0xB980, symSize: 0x30 } - - { offsetInCU: 0xC9A, offset: 0x7A6B0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x1610, symBinAddr: 0xC238, symSize: 0xC4 } - - { offsetInCU: 0xD04, offset: 0x7A71A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x192C, symBinAddr: 0xC554, symSize: 0xB0 } - - { offsetInCU: 0xD41, offset: 0x7A757, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1A9C, symBinAddr: 0xC6C4, symSize: 0xB8 } - - { offsetInCU: 0xDB9, offset: 0x7A7CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1C38, symBinAddr: 0xC860, symSize: 0x3C } - - { offsetInCU: 0xDEC, offset: 0x7A802, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C74, symBinAddr: 0xC89C, symSize: 0x10 } - - { offsetInCU: 0xE0C, offset: 0x7A822, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C74, symBinAddr: 0xC89C, symSize: 0x10 } - - { offsetInCU: 0xE46, offset: 0x7A85C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1C84, symBinAddr: 0xC8AC, symSize: 0x34 } - - { offsetInCU: 0xEA1, offset: 0x7A8B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1D00, symBinAddr: 0xC928, symSize: 0x48 } - - { offsetInCU: 0xF3B, offset: 0x7A951, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1D94, symBinAddr: 0xC9BC, symSize: 0x64 } - - { offsetInCU: 0x1000, offset: 0x7AA16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1E50, symBinAddr: 0xCA78, symSize: 0x94 } - - { offsetInCU: 0x108D, offset: 0x7AAA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x1F24, symBinAddr: 0xCB4C, symSize: 0x6C } - - { offsetInCU: 0x10EF, offset: 0x7AB05, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x2034, symBinAddr: 0xCC5C, symSize: 0x6C } - - { offsetInCU: 0x114C, offset: 0x7AB62, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x20A0, symBinAddr: 0xCCC8, symSize: 0xB0 } - - { offsetInCU: 0x119E, offset: 0x7ABB4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x2220, symBinAddr: 0xCE48, symSize: 0x94 } - - { offsetInCU: 0x1230, offset: 0x7AC46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x2E3C, symBinAddr: 0xDA64, symSize: 0x28 } - - { offsetInCU: 0x1285, offset: 0x7AC9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x3804, symBinAddr: 0xE42C, symSize: 0x20 } - - { offsetInCU: 0x12B8, offset: 0x7ACCE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3824, symBinAddr: 0xE44C, symSize: 0x10 } - - { offsetInCU: 0x12D8, offset: 0x7ACEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3824, symBinAddr: 0xE44C, symSize: 0x10 } - - { offsetInCU: 0x1310, offset: 0x7AD26, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x3834, symBinAddr: 0xE45C, symSize: 0x34 } - - { offsetInCU: 0x137E, offset: 0x7AD94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x38E8, symBinAddr: 0xE510, symSize: 0x20 } - - { offsetInCU: 0x13D8, offset: 0x7ADEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3908, symBinAddr: 0xE530, symSize: 0x34 } - - { offsetInCU: 0x1438, offset: 0x7AE4E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x396C, symBinAddr: 0xE594, symSize: 0x34 } - - { offsetInCU: 0x157C, offset: 0x7AF92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x3CB8, symBinAddr: 0xE8E0, symSize: 0x28 } - - { offsetInCU: 0x15AF, offset: 0x7AFC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x3FE4, symBinAddr: 0xEC0C, symSize: 0x24 } - - { offsetInCU: 0x15EA, offset: 0x7B000, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x40D0, symBinAddr: 0xECF8, symSize: 0x34 } - - { offsetInCU: 0x161D, offset: 0x7B033, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4A6C, symBinAddr: 0xF694, symSize: 0x2A8 } - - { offsetInCU: 0x179A, offset: 0x7B1B0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x4DD8, symBinAddr: 0xFA00, symSize: 0xA0 } - - { offsetInCU: 0x1A16, offset: 0x7B42C, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1EF8, symBinAddr: 0xCB20, symSize: 0x2C } - - { offsetInCU: 0x1A2E, offset: 0x7B444, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x21A8, symBinAddr: 0xCDD0, symSize: 0x78 } - - { offsetInCU: 0x1A46, offset: 0x7B45C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x2310, symBinAddr: 0xCF38, symSize: 0x94 } - - { offsetInCU: 0x1A7E, offset: 0x7B494, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x23A4, symBinAddr: 0xCFCC, symSize: 0xB8 } - - { offsetInCU: 0x1AC0, offset: 0x7B4D6, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x245C, symBinAddr: 0xD084, symSize: 0x6C } - - { offsetInCU: 0x1B65, offset: 0x7B57B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x4008, symBinAddr: 0xEC30, symSize: 0xC4 } - - { offsetInCU: 0x1B95, offset: 0x7B5AB, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x4104, symBinAddr: 0xED2C, symSize: 0x10 } - - { offsetInCU: 0x1BA9, offset: 0x7B5BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x4114, symBinAddr: 0xED3C, symSize: 0x20 } - - { offsetInCU: 0x1BC8, offset: 0x7B5DE, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x4134, symBinAddr: 0xED5C, symSize: 0x64 } - - { offsetInCU: 0x1DCF, offset: 0x7B7E5, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x4D14, symBinAddr: 0xF93C, symSize: 0x40 } - - { offsetInCU: 0x1DE3, offset: 0x7B7F9, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x4D54, symBinAddr: 0xF97C, symSize: 0x40 } - - { offsetInCU: 0x1DF7, offset: 0x7B80D, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x4D94, symBinAddr: 0xF9BC, symSize: 0x24 } - - { offsetInCU: 0x1E0B, offset: 0x7B821, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x4DB8, symBinAddr: 0xF9E0, symSize: 0x20 } - - { offsetInCU: 0x1E2A, offset: 0x7B840, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x52A4, symBinAddr: 0xFECC, symSize: 0x48 } - - { offsetInCU: 0x1E53, offset: 0x7B869, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x52EC, symBinAddr: 0xFF14, symSize: 0x10 } - - { offsetInCU: 0x1E67, offset: 0x7B87D, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x52FC, symBinAddr: 0xFF24, symSize: 0x8 } - - { offsetInCU: 0x1E7B, offset: 0x7B891, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5304, symBinAddr: 0xFF2C, symSize: 0x10 } - - { offsetInCU: 0x1E9A, offset: 0x7B8B0, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5314, symBinAddr: 0xFF3C, symSize: 0xC } - - { offsetInCU: 0x1EC3, offset: 0x7B8D9, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5344, symBinAddr: 0xFF6C, symSize: 0x8 } - - { offsetInCU: 0x1EE2, offset: 0x7B8F8, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x534C, symBinAddr: 0xFF74, symSize: 0x30 } - - { offsetInCU: 0x1F0B, offset: 0x7B921, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x537C, symBinAddr: 0xFFA4, symSize: 0x10 } - - { offsetInCU: 0x1F1F, offset: 0x7B935, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x53C4, symBinAddr: 0xFFEC, symSize: 0x3C } - - { offsetInCU: 0x21A4, offset: 0x7BBBA, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4954, symBinAddr: 0xF57C, symSize: 0x118 } - - { offsetInCU: 0x264A, offset: 0x7C060, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyF', symObjAddr: 0x1D4, symBinAddr: 0xADFC, symSize: 0x44 } - - { offsetInCU: 0x26F3, offset: 0x7C109, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyF', symObjAddr: 0x25C, symBinAddr: 0xAE84, symSize: 0x4C } - - { offsetInCU: 0x279C, offset: 0x7C1B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x360, symBinAddr: 0xAF88, symSize: 0x44 } - - { offsetInCU: 0x27CF, offset: 0x7C1E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x3D4, symBinAddr: 0xAFFC, symSize: 0xEC } - - { offsetInCU: 0x281B, offset: 0x7C231, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x4C0, symBinAddr: 0xB0E8, symSize: 0x58 } - - { offsetInCU: 0x2840, offset: 0x7C256, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x518, symBinAddr: 0xB140, symSize: 0xE0 } - - { offsetInCU: 0x2881, offset: 0x7C297, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x63C, symBinAddr: 0xB264, symSize: 0x44 } - - { offsetInCU: 0x28D9, offset: 0x7C2EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x70C, symBinAddr: 0xB334, symSize: 0x44 } - - { offsetInCU: 0x2A1F, offset: 0x7C435, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x8B4, symBinAddr: 0xB4DC, symSize: 0xD0 } - - { offsetInCU: 0x2B44, offset: 0x7C55A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x9B8, symBinAddr: 0xB5E0, symSize: 0xD0 } - - { offsetInCU: 0x2C8A, offset: 0x7C6A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xAA8, symBinAddr: 0xB6D0, symSize: 0x24 } - - { offsetInCU: 0x2CD2, offset: 0x7C6E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xAEC, symBinAddr: 0xB714, symSize: 0x24 } - - { offsetInCU: 0x2D06, offset: 0x7C71C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xB10, symBinAddr: 0xB738, symSize: 0x24 } - - { offsetInCU: 0x2E80, offset: 0x7C896, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xBF8, symBinAddr: 0xB820, symSize: 0x160 } - - { offsetInCU: 0x3252, offset: 0x7CC68, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xD88, symBinAddr: 0xB9B0, symSize: 0x888 } - - { offsetInCU: 0x3A55, offset: 0x7D46B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x16D4, symBinAddr: 0xC2FC, symSize: 0x258 } - - { offsetInCU: 0x3E87, offset: 0x7D89D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x19DC, symBinAddr: 0xC604, symSize: 0xC0 } - - { offsetInCU: 0x3F18, offset: 0x7D92E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1B54, symBinAddr: 0xC77C, symSize: 0xE4 } - - { offsetInCU: 0x4073, offset: 0x7DA89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1CB8, symBinAddr: 0xC8E0, symSize: 0x48 } - - { offsetInCU: 0x40F9, offset: 0x7DB0F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1D48, symBinAddr: 0xC970, symSize: 0x4C } - - { offsetInCU: 0x421A, offset: 0x7DC30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1DF8, symBinAddr: 0xCA20, symSize: 0x58 } - - { offsetInCU: 0x4310, offset: 0x7DD26, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x2150, symBinAddr: 0xCD78, symSize: 0x58 } - - { offsetInCU: 0x435C, offset: 0x7DD72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x22B4, symBinAddr: 0xCEDC, symSize: 0x5C } - - { offsetInCU: 0x4385, offset: 0x7DD9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x24C8, symBinAddr: 0xD0F0, symSize: 0x44 } - - { offsetInCU: 0x43AB, offset: 0x7DDC1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x250C, symBinAddr: 0xD134, symSize: 0x4 } - - { offsetInCU: 0x4467, offset: 0x7DE7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x2510, symBinAddr: 0xD138, symSize: 0x92C } - - { offsetInCU: 0x4656, offset: 0x7E06C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x2E64, symBinAddr: 0xDA8C, symSize: 0x50 } - - { offsetInCU: 0x467F, offset: 0x7E095, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x2EB4, symBinAddr: 0xDADC, symSize: 0x950 } - - { offsetInCU: 0x488F, offset: 0x7E2A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3868, symBinAddr: 0xE490, symSize: 0x80 } - - { offsetInCU: 0x4985, offset: 0x7E39B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x393C, symBinAddr: 0xE564, symSize: 0x30 } - - { offsetInCU: 0x4A23, offset: 0x7E439, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x39A0, symBinAddr: 0xE5C8, symSize: 0x144 } - - { offsetInCU: 0x4C24, offset: 0x7E63A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3AE4, symBinAddr: 0xE70C, symSize: 0x1D4 } - - { offsetInCU: 0x4EA1, offset: 0x7E8B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x3CE0, symBinAddr: 0xE908, symSize: 0x304 } - - { offsetInCU: 0x4F31, offset: 0x7E947, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x40CC, symBinAddr: 0xECF4, symSize: 0x4 } - - { offsetInCU: 0x4F5F, offset: 0x7E975, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x4198, symBinAddr: 0xEDC0, symSize: 0x64 } - - { offsetInCU: 0x4FB9, offset: 0x7E9CF, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x41FC, symBinAddr: 0xEE24, symSize: 0x6C } - - { offsetInCU: 0x5039, offset: 0x7EA4F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4268, symBinAddr: 0xEE90, symSize: 0xD8 } - - { offsetInCU: 0x5076, offset: 0x7EA8C, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4340, symBinAddr: 0xEF68, symSize: 0xE0 } - - { offsetInCU: 0x50F1, offset: 0x7EB07, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4420, symBinAddr: 0xF048, symSize: 0x1F4 } - - { offsetInCU: 0x51AD, offset: 0x7EBC3, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x4614, symBinAddr: 0xF23C, symSize: 0x340 } - - { offsetInCU: 0x27, offset: 0x7EE10, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0x1008C, symSize: 0x10 } - - { offsetInCU: 0x62, offset: 0x7EE4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x10, symBinAddr: 0x1009C, symSize: 0x20 } - - { offsetInCU: 0x1AF, offset: 0x7EF98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0x1008C, symSize: 0x10 } - - { offsetInCU: 0x65, offset: 0x7F027, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0x100BC, symSize: 0x10 } - - { offsetInCU: 0x85, offset: 0x7F047, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0x100BC, symSize: 0x10 } - - { offsetInCU: 0xBB, offset: 0x7F07D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0x100CC, symSize: 0x10 } - - { offsetInCU: 0xDB, offset: 0x7F09D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0x100CC, symSize: 0x10 } - - { offsetInCU: 0x114, offset: 0x7F0D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0x100DC, symSize: 0x44 } - - { offsetInCU: 0x16C, offset: 0x7F12E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x64, symBinAddr: 0x10120, symSize: 0x48 } - - { offsetInCU: 0x1C7, offset: 0x7F189, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xAC, symBinAddr: 0x10168, symSize: 0x44 } - - { offsetInCU: 0x21F, offset: 0x7F1E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xF0, symBinAddr: 0x101AC, symSize: 0x48 } - - { offsetInCU: 0x27A, offset: 0x7F23C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0x101F4, symSize: 0x10 } - - { offsetInCU: 0x29A, offset: 0x7F25C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0x101F4, symSize: 0x10 } - - { offsetInCU: 0x2D0, offset: 0x7F292, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0x10204, symSize: 0x10 } - - { offsetInCU: 0x2F0, offset: 0x7F2B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0x10204, symSize: 0x10 } - - { offsetInCU: 0x329, offset: 0x7F2EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0x10214, symSize: 0x10 } - - { offsetInCU: 0x349, offset: 0x7F30B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0x10214, symSize: 0x10 } - - { offsetInCU: 0x37F, offset: 0x7F341, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0x10224, symSize: 0x10 } - - { offsetInCU: 0x39F, offset: 0x7F361, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0x10224, symSize: 0x10 } - - { offsetInCU: 0x3D8, offset: 0x7F39A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x178, symBinAddr: 0x10234, symSize: 0x44 } - - { offsetInCU: 0x430, offset: 0x7F3F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1BC, symBinAddr: 0x10278, symSize: 0x48 } - - { offsetInCU: 0x48B, offset: 0x7F44D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0x102C0, symSize: 0x10 } - - { offsetInCU: 0x4AB, offset: 0x7F46D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0x102C0, symSize: 0x10 } - - { offsetInCU: 0x4E1, offset: 0x7F4A3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0x102D0, symSize: 0x10 } - - { offsetInCU: 0x501, offset: 0x7F4C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0x102D0, symSize: 0x10 } - - { offsetInCU: 0x53A, offset: 0x7F4FC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0x102E0, symSize: 0x10 } - - { offsetInCU: 0x55A, offset: 0x7F51C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0x102E0, symSize: 0x10 } - - { offsetInCU: 0x590, offset: 0x7F552, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0x102F0, symSize: 0x10 } - - { offsetInCU: 0x5B0, offset: 0x7F572, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0x102F0, symSize: 0x10 } - - { offsetInCU: 0x5E9, offset: 0x7F5AB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x244, symBinAddr: 0x10300, symSize: 0x48 } - - { offsetInCU: 0x63F, offset: 0x7F601, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x28C, symBinAddr: 0x10348, symSize: 0x40 } - - { offsetInCU: 0x682, offset: 0x7F644, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2CC, symBinAddr: 0x10388, symSize: 0x8 } - - { offsetInCU: 0x69E, offset: 0x7F660, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2D4, symBinAddr: 0x10390, symSize: 0x2C } - - { offsetInCU: 0x6D0, offset: 0x7F692, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0x103BC, symSize: 0x10 } - - { offsetInCU: 0x6F0, offset: 0x7F6B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0x103BC, symSize: 0x10 } - - { offsetInCU: 0x728, offset: 0x7F6EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x310, symBinAddr: 0x103CC, symSize: 0x34 } - - { offsetInCU: 0x781, offset: 0x7F743, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0x104D4, symSize: 0x10 } - - { offsetInCU: 0x7A1, offset: 0x7F763, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0x104D4, symSize: 0x10 } - - { offsetInCU: 0x7D7, offset: 0x7F799, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0x104E4, symSize: 0x10 } - - { offsetInCU: 0x7F7, offset: 0x7F7B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0x104E4, symSize: 0x10 } - - { offsetInCU: 0x846, offset: 0x7F808, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x5BC, symBinAddr: 0x10638, symSize: 0x20 } - - { offsetInCU: 0x878, offset: 0x7F83A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x720, symBinAddr: 0x1079C, symSize: 0x28 } - - { offsetInCU: 0x8D0, offset: 0x7F892, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x75C, symBinAddr: 0x107D8, symSize: 0x88 } - - { offsetInCU: 0x934, offset: 0x7F8F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x7E4, symBinAddr: 0x10860, symSize: 0x7C } - - { offsetInCU: 0x9D6, offset: 0x7F998, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xC0C, symBinAddr: 0x10C88, symSize: 0x28 } - - { offsetInCU: 0xAC0, offset: 0x7FA82, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x59C, symBinAddr: 0x10618, symSize: 0x20 } - - { offsetInCU: 0xB34, offset: 0x7FAF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xC64, symBinAddr: 0x10CE0, symSize: 0x58 } - - { offsetInCU: 0x123B, offset: 0x801FD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x438, symBinAddr: 0x104F4, symSize: 0x20 } - - { offsetInCU: 0x1255, offset: 0x80217, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x458, symBinAddr: 0x10514, symSize: 0x104 } - - { offsetInCU: 0x1287, offset: 0x80249, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x5DC, symBinAddr: 0x10658, symSize: 0x144 } - - { offsetInCU: 0x1442, offset: 0x80404, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x748, symBinAddr: 0x107C4, symSize: 0x14 } - - { offsetInCU: 0x14F3, offset: 0x804B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x860, symBinAddr: 0x108DC, symSize: 0x3AC } - - { offsetInCU: 0x1863, offset: 0x80825, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xC34, symBinAddr: 0x10CB0, symSize: 0x30 } - - { offsetInCU: 0x194E, offset: 0x80910, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xCBC, symBinAddr: 0x10D38, symSize: 0x65C } - - { offsetInCU: 0x214C, offset: 0x8110E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x135C, symBinAddr: 0x113D8, symSize: 0x6C8 } - - { offsetInCU: 0x10C, offset: 0x81ACE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0xED4, symBinAddr: 0x1294C, symSize: 0x68 } - - { offsetInCU: 0x19C, offset: 0x81B5E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0xF48, symBinAddr: 0x129C0, symSize: 0x10 } - - { offsetInCU: 0x1CB, offset: 0x81B8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0xF58, symBinAddr: 0x129D0, symSize: 0x4 } - - { offsetInCU: 0x368, offset: 0x81D2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x16DC, symBinAddr: 0x13154, symSize: 0x2C } - - { offsetInCU: 0x5D4, offset: 0x81F96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1744, symBinAddr: 0x131BC, symSize: 0x68 } - - { offsetInCU: 0x603, offset: 0x81FC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x17AC, symBinAddr: 0x13224, symSize: 0x20 } - - { offsetInCU: 0x617, offset: 0x81FD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x17CC, symBinAddr: 0x13244, symSize: 0x20 } - - { offsetInCU: 0x62B, offset: 0x81FED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x17EC, symBinAddr: 0x13264, symSize: 0x30 } - - { offsetInCU: 0x63F, offset: 0x82001, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x181C, symBinAddr: 0x13294, symSize: 0x8 } - - { offsetInCU: 0x653, offset: 0x82015, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1824, symBinAddr: 0x1329C, symSize: 0x3C } - - { offsetInCU: 0x667, offset: 0x82029, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1860, symBinAddr: 0x132D8, symSize: 0x50 } - - { offsetInCU: 0x67B, offset: 0x8203D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x18BC, symBinAddr: 0x13328, symSize: 0x40 } - - { offsetInCU: 0x68F, offset: 0x82051, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x18FC, symBinAddr: 0x13368, symSize: 0x48 } - - { offsetInCU: 0x6A3, offset: 0x82065, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1944, symBinAddr: 0x133B0, symSize: 0x40 } - - { offsetInCU: 0x6B7, offset: 0x82079, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1984, symBinAddr: 0x133F0, symSize: 0x10 } - - { offsetInCU: 0x6CB, offset: 0x8208D, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1994, symBinAddr: 0x13400, symSize: 0x48 } - - { offsetInCU: 0x6DF, offset: 0x820A1, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1AA0, symBinAddr: 0x13448, symSize: 0x58 } - - { offsetInCU: 0x6F3, offset: 0x820B5, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1AF8, symBinAddr: 0x134A0, symSize: 0x8 } - - { offsetInCU: 0x761, offset: 0x82123, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x1DEC, symBinAddr: 0x13794, symSize: 0x10 } - - { offsetInCU: 0xCBB, offset: 0x8267D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0x11AA0, symSize: 0x540 } - - { offsetInCU: 0xF57, offset: 0x82919, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x54C, symBinAddr: 0x11FEC, symSize: 0xE0 } - - { offsetInCU: 0xFD6, offset: 0x82998, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0x1217C, symSize: 0x9C } - - { offsetInCU: 0x1069, offset: 0x82A2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0xDCC, symBinAddr: 0x12844, symSize: 0x108 } - - { offsetInCU: 0x11B3, offset: 0x82B75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x12D0, symBinAddr: 0x12D48, symSize: 0x40C } - - { offsetInCU: 0x18C9, offset: 0x8328B, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1B00, symBinAddr: 0x134A8, symSize: 0x14 } - - { offsetInCU: 0x1968, offset: 0x8332A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1B14, symBinAddr: 0x134BC, symSize: 0x1E4 } - - { offsetInCU: 0x27, offset: 0x83507, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x137A4, symSize: 0x2C } - - { offsetInCU: 0x4B, offset: 0x8352B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2D8, symBinAddr: 0x1056CB8, symSize: 0x0 } - - { offsetInCU: 0x65, offset: 0x83545, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x137A4, symSize: 0x2C } - - { offsetInCU: 0x98, offset: 0x83578, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x178, symBinAddr: 0x1391C, symSize: 0x40 } - - { offsetInCU: 0x104, offset: 0x835E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x228, symBinAddr: 0x139CC, symSize: 0x3C } - - { offsetInCU: 0x156, offset: 0x83636, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x2C, symBinAddr: 0x137D0, symSize: 0x10C } - - { offsetInCU: 0x181, offset: 0x83661, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x208, symBinAddr: 0x139AC, symSize: 0x20 } - - { offsetInCU: 0x195, offset: 0x83675, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x294, symBinAddr: 0x13A38, symSize: 0x4 } - - { offsetInCU: 0x1C0, offset: 0x836A0, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x298, symBinAddr: 0x13A3C, symSize: 0x3C } - - { offsetInCU: 0x348, offset: 0x83828, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x138, symBinAddr: 0x138DC, symSize: 0x40 } - - { offsetInCU: 0x388, offset: 0x83868, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x1B8, symBinAddr: 0x1395C, symSize: 0x20 } - - { offsetInCU: 0x39C, offset: 0x8387C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1D8, symBinAddr: 0x1397C, symSize: 0x30 } - - { offsetInCU: 0x3D8, offset: 0x838B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x264, symBinAddr: 0x13A08, symSize: 0x30 } - - { offsetInCU: 0x2B, offset: 0x83906, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x13A78, symSize: 0xA4 } - - { offsetInCU: 0x66, offset: 0x83941, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA4, symBinAddr: 0x13B1C, symSize: 0xA4 } - - { offsetInCU: 0xF9, offset: 0x839D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D8, symBinAddr: 0x13C50, symSize: 0x110 } - - { offsetInCU: 0x1A2, offset: 0x83A7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x30C, symBinAddr: 0x13D84, symSize: 0x28 } - - { offsetInCU: 0x222, offset: 0x83AFD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x338, symBinAddr: 0x13DB0, symSize: 0xA0 } - - { offsetInCU: 0x29B, offset: 0x83B76, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4D0, symBinAddr: 0x13F48, symSize: 0x15C } - - { offsetInCU: 0x330, offset: 0x83C0B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x67C, symBinAddr: 0x140F4, symSize: 0x3C } - - { offsetInCU: 0x381, offset: 0x83C5C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6E8, symBinAddr: 0x14160, symSize: 0x160 } - - { offsetInCU: 0x4DF, offset: 0x83DBA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x848, symBinAddr: 0x142C0, symSize: 0x2E4 } - - { offsetInCU: 0x5AE, offset: 0x83E89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB2C, symBinAddr: 0x145A4, symSize: 0x20 } - - { offsetInCU: 0x5C2, offset: 0x83E9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB4C, symBinAddr: 0x145C4, symSize: 0x44 } - - { offsetInCU: 0x5D6, offset: 0x83EB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xB90, symBinAddr: 0x14608, symSize: 0x2C } - - { offsetInCU: 0x5EA, offset: 0x83EC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBBC, symBinAddr: 0x14634, symSize: 0x8 } - - { offsetInCU: 0x5FE, offset: 0x83ED9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBC4, symBinAddr: 0x1463C, symSize: 0x40 } - - { offsetInCU: 0x612, offset: 0x83EED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC10, symBinAddr: 0x1467C, symSize: 0x30 } - - { offsetInCU: 0x626, offset: 0x83F01, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC40, symBinAddr: 0x146AC, symSize: 0x48 } - - { offsetInCU: 0x63A, offset: 0x83F15, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xC88, symBinAddr: 0x146F4, symSize: 0x3C } - - { offsetInCU: 0x64E, offset: 0x83F29, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCC4, symBinAddr: 0x14730, symSize: 0x8 } - - { offsetInCU: 0x662, offset: 0x83F3D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCCC, symBinAddr: 0x14738, symSize: 0x4 } - - { offsetInCU: 0x676, offset: 0x83F51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xCD0, symBinAddr: 0x1473C, symSize: 0x4 } - - { offsetInCU: 0x68A, offset: 0x83F65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xCD4, symBinAddr: 0x14740, symSize: 0x10 } - - { offsetInCU: 0x712, offset: 0x83FED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D8, symBinAddr: 0x13E50, symSize: 0x4 } - - { offsetInCU: 0x72E, offset: 0x84009, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3DC, symBinAddr: 0x13E54, symSize: 0x4 } - - { offsetInCU: 0x74A, offset: 0x84025, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3E0, symBinAddr: 0x13E58, symSize: 0x4 } - - { offsetInCU: 0x766, offset: 0x84041, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x3E4, symBinAddr: 0x13E5C, symSize: 0x4 } - - { offsetInCU: 0xA14, offset: 0x842EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x13A78, symSize: 0xA4 } - - { offsetInCU: 0xAAA, offset: 0x84385, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x148, symBinAddr: 0x13BC0, symSize: 0x90 } - - { offsetInCU: 0xC31, offset: 0x8450C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2E8, symBinAddr: 0x13D60, symSize: 0x24 } - - { offsetInCU: 0xC7B, offset: 0x84556, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x334, symBinAddr: 0x13DAC, symSize: 0x4 } - - { offsetInCU: 0xC9D, offset: 0x84578, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x3E8, symBinAddr: 0x13E60, symSize: 0xE8 } - - { offsetInCU: 0xD4D, offset: 0x84628, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x62C, symBinAddr: 0x140A4, symSize: 0x20 } - - { offsetInCU: 0xD61, offset: 0x8463C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x64C, symBinAddr: 0x140C4, symSize: 0x30 } - - { offsetInCU: 0xD97, offset: 0x84672, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6B8, symBinAddr: 0x14130, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x8478B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x14754, symSize: 0x4 } - - { offsetInCU: 0x71, offset: 0x847D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x4, symBinAddr: 0x14758, symSize: 0x70 } - - { offsetInCU: 0xF6, offset: 0x8485A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x78, symBinAddr: 0x147CC, symSize: 0x50 } - - { offsetInCU: 0x191, offset: 0x848F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xCC, symBinAddr: 0x14820, symSize: 0x68 } - - { offsetInCU: 0x254, offset: 0x849B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x138, symBinAddr: 0x1488C, symSize: 0x98 } - - { offsetInCU: 0x323, offset: 0x84A87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x220, symBinAddr: 0x14974, symSize: 0x3C } - - { offsetInCU: 0x375, offset: 0x84AD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x28C, symBinAddr: 0x149E0, symSize: 0x20 } - - { offsetInCU: 0x4E5, offset: 0x84C49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x14754, symSize: 0x4 } - - { offsetInCU: 0x51D, offset: 0x84C81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x14754, symSize: 0x4 } - - { offsetInCU: 0x588, offset: 0x84CEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x147C8, symSize: 0x4 } - - { offsetInCU: 0x5C8, offset: 0x84D2C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x147C8, symSize: 0x4 } - - { offsetInCU: 0x62A, offset: 0x84D8E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x1481C, symSize: 0x4 } - - { offsetInCU: 0x67C, offset: 0x84DE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x1481C, symSize: 0x4 } - - { offsetInCU: 0x6F1, offset: 0x84E55, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x14888, symSize: 0x4 } - - { offsetInCU: 0x767, offset: 0x84ECB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x14888, symSize: 0x4 } - - { offsetInCU: 0x805, offset: 0x84F69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1D0, symBinAddr: 0x14924, symSize: 0x20 } - - { offsetInCU: 0x819, offset: 0x84F7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x1F0, symBinAddr: 0x14944, symSize: 0x30 } - - { offsetInCU: 0x84F, offset: 0x84FB3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x25C, symBinAddr: 0x149B0, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x84FFD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x14A00, symSize: 0x14 } - - { offsetInCU: 0xA9, offset: 0x8507F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x14, symBinAddr: 0x14A14, symSize: 0x38 } - - { offsetInCU: 0x1A2, offset: 0x85178, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x68, symBinAddr: 0x14A68, symSize: 0x40 } - - { offsetInCU: 0x284, offset: 0x8525A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x118, symBinAddr: 0x14B18, symSize: 0x3C } - - { offsetInCU: 0x2D6, offset: 0x852AC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0xF8, symBinAddr: 0x14AF8, symSize: 0x20 } - - { offsetInCU: 0x480, offset: 0x85456, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x14A00, symSize: 0x14 } - - { offsetInCU: 0x5C4, offset: 0x8559A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x4C, symBinAddr: 0x14A4C, symSize: 0x1C } - - { offsetInCU: 0x6FA, offset: 0x856D0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0xA8, symBinAddr: 0x14AA8, symSize: 0x20 } - - { offsetInCU: 0x70E, offset: 0x856E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0xC8, symBinAddr: 0x14AC8, symSize: 0x30 } - - { offsetInCU: 0x744, offset: 0x8571A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x154, symBinAddr: 0x14B54, symSize: 0x30 } - - { offsetInCU: 0x61, offset: 0x8579E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x14B88, symSize: 0x10 } - - { offsetInCU: 0x81, offset: 0x857BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x14B88, symSize: 0x10 } - - { offsetInCU: 0xB7, offset: 0x857F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x14B98, symSize: 0x10 } - - { offsetInCU: 0xD7, offset: 0x85814, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x14B98, symSize: 0x10 } - - { offsetInCU: 0x110, offset: 0x8584D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x24, symBinAddr: 0x14BA8, symSize: 0x48 } - - { offsetInCU: 0x168, offset: 0x858A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xB4, symBinAddr: 0x14C38, symSize: 0x50 } - - { offsetInCU: 0x1C3, offset: 0x85900, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x14C88, symSize: 0x10 } - - { offsetInCU: 0x1E3, offset: 0x85920, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x14C88, symSize: 0x10 } - - { offsetInCU: 0x219, offset: 0x85956, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x14C98, symSize: 0x10 } - - { offsetInCU: 0x239, offset: 0x85976, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x14C98, symSize: 0x10 } - - { offsetInCU: 0x272, offset: 0x859AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1B0, symBinAddr: 0x14D34, symSize: 0x78 } - - { offsetInCU: 0x2C8, offset: 0x85A05, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x2D4, symBinAddr: 0x14E58, symSize: 0xB0 } - - { offsetInCU: 0x32A, offset: 0x85A67, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x43C, symBinAddr: 0x14FC0, symSize: 0x28 } - - { offsetInCU: 0x35C, offset: 0x85A99, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x4E0, symBinAddr: 0x14FE8, symSize: 0xA0 } - - { offsetInCU: 0x3DD, offset: 0x85B1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x5BC, symBinAddr: 0x15088, symSize: 0x60 } - - { offsetInCU: 0x44D, offset: 0x85B8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x620, symBinAddr: 0x150EC, symSize: 0x4C } - - { offsetInCU: 0x4BF, offset: 0x85BFC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x70C, symBinAddr: 0x151D8, symSize: 0x34 } - - { offsetInCU: 0x533, offset: 0x85C70, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x190, symBinAddr: 0x14D14, symSize: 0x20 } - - { offsetInCU: 0x55D, offset: 0x85C9A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x74C, symBinAddr: 0x15218, symSize: 0x10 } - - { offsetInCU: 0x65B, offset: 0x85D98, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xA08, symBinAddr: 0x154D4, symSize: 0x74 } - - { offsetInCU: 0x699, offset: 0x85DD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x15548, symSize: 0x10 } - - { offsetInCU: 0x6B9, offset: 0x85DF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x15548, symSize: 0x10 } - - { offsetInCU: 0x6EF, offset: 0x85E2C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x15558, symSize: 0x10 } - - { offsetInCU: 0x70F, offset: 0x85E4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x15558, symSize: 0x10 } - - { offsetInCU: 0x748, offset: 0x85E85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xA9C, symBinAddr: 0x15568, symSize: 0x20 } - - { offsetInCU: 0x7A0, offset: 0x85EDD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xABC, symBinAddr: 0x15588, symSize: 0x14 } - - { offsetInCU: 0x7FB, offset: 0x85F38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xAD0, symBinAddr: 0x1559C, symSize: 0x44 } - - { offsetInCU: 0x853, offset: 0x85F90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xB58, symBinAddr: 0x15624, symSize: 0x48 } - - { offsetInCU: 0x8E8, offset: 0x86025, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xCBC, symBinAddr: 0x15788, symSize: 0x78 } - - { offsetInCU: 0x93E, offset: 0x8607B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xE34, symBinAddr: 0x15900, symSize: 0xB0 } - - { offsetInCU: 0x9A0, offset: 0x860DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x15A5C, symSize: 0x28 } - - { offsetInCU: 0x9D2, offset: 0x8610F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0xFB8, symBinAddr: 0x15A84, symSize: 0xB8 } - - { offsetInCU: 0xA53, offset: 0x86190, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x1074, symBinAddr: 0x15B3C, symSize: 0x28 } - - { offsetInCU: 0xAB1, offset: 0x861EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x10D8, symBinAddr: 0x15BA0, symSize: 0x10 } - - { offsetInCU: 0xC63, offset: 0x863A0, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfC12CanvasNative15NSCTouchHandlerC7PointerV_Tgm5', symObjAddr: 0x130C, symBinAddr: 0x15D20, symSize: 0x80 } - - { offsetInCU: 0xCE6, offset: 0x86423, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgm5', symObjAddr: 0x140C, symBinAddr: 0x15DA0, symSize: 0x6C } - - { offsetInCU: 0xD6A, offset: 0x864A7, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x1630, symBinAddr: 0x15FC4, symSize: 0x44 } - - { offsetInCU: 0xD7E, offset: 0x864BB, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x1674, symBinAddr: 0x16008, symSize: 0x44 } - - { offsetInCU: 0xD92, offset: 0x864CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x16B8, symBinAddr: 0x1604C, symSize: 0x20 } - - { offsetInCU: 0xE6C, offset: 0x865A9, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x14FC, symBinAddr: 0x15E90, symSize: 0x124 } - - { offsetInCU: 0x112B, offset: 0x86868, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x6C, symBinAddr: 0x14BF0, symSize: 0x48 } - - { offsetInCU: 0x11A8, offset: 0x868E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x124, symBinAddr: 0x14CA8, symSize: 0x6C } - - { offsetInCU: 0x11EF, offset: 0x8692C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x228, symBinAddr: 0x14DAC, symSize: 0xAC } - - { offsetInCU: 0x1253, offset: 0x86990, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x384, symBinAddr: 0x14F08, symSize: 0xB8 } - - { offsetInCU: 0x12DE, offset: 0x86A1B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x61C, symBinAddr: 0x150E8, symSize: 0x4 } - - { offsetInCU: 0x12FF, offset: 0x86A3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x66C, symBinAddr: 0x15138, symSize: 0x74 } - - { offsetInCU: 0x1313, offset: 0x86A50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x6E0, symBinAddr: 0x151AC, symSize: 0x2C } - - { offsetInCU: 0x142C, offset: 0x86B69, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x75C, symBinAddr: 0x15228, symSize: 0x2AC } - - { offsetInCU: 0x17D6, offset: 0x86F13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xB14, symBinAddr: 0x155E0, symSize: 0x44 } - - { offsetInCU: 0x1815, offset: 0x86F52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xBA0, symBinAddr: 0x1566C, symSize: 0x48 } - - { offsetInCU: 0x183A, offset: 0x86F77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xBE8, symBinAddr: 0x156B4, symSize: 0x44 } - - { offsetInCU: 0x185F, offset: 0x86F9C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xC2C, symBinAddr: 0x156F8, symSize: 0x4 } - - { offsetInCU: 0x1886, offset: 0x86FC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xC30, symBinAddr: 0x156FC, symSize: 0x20 } - - { offsetInCU: 0x189A, offset: 0x86FD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xC50, symBinAddr: 0x1571C, symSize: 0x6C } - - { offsetInCU: 0x18E1, offset: 0x8701E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xD88, symBinAddr: 0x15854, symSize: 0xAC } - - { offsetInCU: 0x1940, offset: 0x8707D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0xEE4, symBinAddr: 0x159B0, symSize: 0xAC } - - { offsetInCU: 0x19DE, offset: 0x8711B, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x10E8, symBinAddr: 0x15BB0, symSize: 0xBC } - - { offsetInCU: 0x1AC0, offset: 0x871FD, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x1258, symBinAddr: 0x15C6C, symSize: 0xB4 } - - { offsetInCU: 0x1BCC, offset: 0x87309, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x1478, symBinAddr: 0x15E0C, symSize: 0x84 } - - { offsetInCU: 0x1CC5, offset: 0x87402, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x16D8, symBinAddr: 0x1606C, symSize: 0x360 } - - { offsetInCU: 0x4F, offset: 0x87840, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x980, symBinAddr: 0x1056E00, symSize: 0x0 } - - { offsetInCU: 0x5D, offset: 0x8784E, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x165B8, symSize: 0x2C } - - { offsetInCU: 0x75, offset: 0x87866, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x2C, symBinAddr: 0x165E4, symSize: 0x10C } - - { offsetInCU: 0xBC, offset: 0x878AD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x13C, symBinAddr: 0x166F4, symSize: 0x44 } - - { offsetInCU: 0x132, offset: 0x87923, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3E4, symBinAddr: 0x1699C, symSize: 0x80 } - - { offsetInCU: 0x191, offset: 0x87982, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x4B4, symBinAddr: 0x16A6C, symSize: 0x3C } - - { offsetInCU: 0x1E2, offset: 0x879D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x524, symBinAddr: 0x16ADC, symSize: 0x214 } - - { offsetInCU: 0x261, offset: 0x87A52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x520, symBinAddr: 0x16AD8, symSize: 0x4 } - - { offsetInCU: 0x29D, offset: 0x87A8E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x738, symBinAddr: 0x16CF0, symSize: 0x20 } - - { offsetInCU: 0x2BC, offset: 0x87AAD, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x77C, symBinAddr: 0x16D34, symSize: 0x14 } - - { offsetInCU: 0x2E5, offset: 0x87AD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x7BC, symBinAddr: 0x16D74, symSize: 0xC } - - { offsetInCU: 0x2F9, offset: 0x87AEA, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x7C8, symBinAddr: 0x16D80, symSize: 0x10 } - - { offsetInCU: 0x30D, offset: 0x87AFE, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x7D8, symBinAddr: 0x16D90, symSize: 0x8 } - - { offsetInCU: 0x321, offset: 0x87B12, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGMa', symObjAddr: 0x860, symBinAddr: 0x16DD8, symSize: 0x54 } - - { offsetInCU: 0x335, offset: 0x87B26, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8F0, symBinAddr: 0x16E2C, symSize: 0x24 } - - { offsetInCU: 0x369, offset: 0x87B5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x938, symBinAddr: 0x16E74, symSize: 0x24 } - - { offsetInCU: 0x4FE, offset: 0x87CEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x166F0, symSize: 0x4 } - - { offsetInCU: 0x52C, offset: 0x87D1D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x166F0, symSize: 0x4 } - - { offsetInCU: 0x58B, offset: 0x87D7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x180, symBinAddr: 0x16738, symSize: 0x4 } - - { offsetInCU: 0x59F, offset: 0x87D90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x184, symBinAddr: 0x1673C, symSize: 0x260 } - - { offsetInCU: 0x678, offset: 0x87E69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x464, symBinAddr: 0x16A1C, symSize: 0x20 } - - { offsetInCU: 0x68C, offset: 0x87E7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x484, symBinAddr: 0x16A3C, symSize: 0x30 } - - { offsetInCU: 0x6C2, offset: 0x87EB3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4F0, symBinAddr: 0x16AA8, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x87F59, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x16EAC, symSize: 0x20 } - - { offsetInCU: 0x77, offset: 0x87FA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x16F1C, symSize: 0x3C } - - { offsetInCU: 0xC9, offset: 0x87FFB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x16EFC, symSize: 0x20 } - - { offsetInCU: 0x214, offset: 0x88146, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x16EAC, symSize: 0x20 } - - { offsetInCU: 0x228, offset: 0x8815A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x16ECC, symSize: 0x30 } - - { offsetInCU: 0x264, offset: 0x88196, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xAC, symBinAddr: 0x16F58, symSize: 0x30 } - - { offsetInCU: 0x26, offset: 0x881DF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x24D68C, symSize: 0x265C } - - { offsetInCU: 0x40, offset: 0x881F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9DE0, symBinAddr: 0x92C350, symSize: 0x0 } - - { offsetInCU: 0x92, offset: 0x8824B, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFDE0, symBinAddr: 0x932350, symSize: 0x0 } - - { offsetInCU: 0xF6, offset: 0x882AF, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE08, symBinAddr: 0x932378, symSize: 0x0 } - - { offsetInCU: 0x10C, offset: 0x882C5, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10210, symBinAddr: 0x932780, symSize: 0x0 } - - { offsetInCU: 0x123, offset: 0x882DC, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE50, symBinAddr: 0x9323C0, symSize: 0x0 } - - { offsetInCU: 0x9C2, offset: 0x88B7B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x24D68C, symSize: 0x265C } - - { offsetInCU: 0x45CD, offset: 0x8C786, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x24FCE8, symSize: 0x134 } - - { offsetInCU: 0x46F3, offset: 0x8C8AC, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9918, symBinAddr: 0x256FA4, symSize: 0x21C } - - { offsetInCU: 0x4922, offset: 0x8CADB, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FDC, symBinAddr: 0x252668, symSize: 0x1B8 } - - { offsetInCU: 0x530F, offset: 0x8D4C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x24FE1C, symSize: 0x5BC } - - { offsetInCU: 0x5F72, offset: 0x8E12B, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x2503D8, symSize: 0x7F8 } - - { offsetInCU: 0x642A, offset: 0x8E5E3, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x250BD0, symSize: 0x208 } - - { offsetInCU: 0x69F8, offset: 0x8EBB1, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x250DD8, symSize: 0x7B0 } - - { offsetInCU: 0x77D8, offset: 0x8F991, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3EFC, symBinAddr: 0x251588, symSize: 0x634 } - - { offsetInCU: 0x8199, offset: 0x90352, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4530, symBinAddr: 0x251BBC, symSize: 0xAAC } - - { offsetInCU: 0x956A, offset: 0x91723, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x5298, symBinAddr: 0x252924, symSize: 0x23F8 } - - { offsetInCU: 0xCABB, offset: 0x94C74, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5194, symBinAddr: 0x252820, symSize: 0x104 } - - { offsetInCU: 0xCD03, offset: 0x94EBC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7690, symBinAddr: 0x254D1C, symSize: 0x30 } - - { offsetInCU: 0xCDF4, offset: 0x94FAD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C0, symBinAddr: 0x254D4C, symSize: 0x58 } - - { offsetInCU: 0xCE69, offset: 0x95022, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x254DA4, symSize: 0x4 } - - { offsetInCU: 0xCEB1, offset: 0x9506A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x254DA4, symSize: 0x4 } - - { offsetInCU: 0xCEE0, offset: 0x95099, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x254DA4, symSize: 0x4 } - - { offsetInCU: 0xCF04, offset: 0x950BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x771C, symBinAddr: 0x254DA8, symSize: 0x8C } - - { offsetInCU: 0xD039, offset: 0x951F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x254E34, symSize: 0x4 } - - { offsetInCU: 0xD072, offset: 0x9522B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x254E34, symSize: 0x4 } - - { offsetInCU: 0xD30B, offset: 0x954C4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77AC, symBinAddr: 0x254E38, symSize: 0x1598 } - - { offsetInCU: 0x10654, offset: 0x9880D, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B34, symBinAddr: 0x2571C0, symSize: 0x218 } - - { offsetInCU: 0x10C86, offset: 0x98E3F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D44, symBinAddr: 0x2563D0, symSize: 0x20 } - - { offsetInCU: 0x11123, offset: 0x992DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8D64, symBinAddr: 0x2563F0, symSize: 0xBB4 } - - { offsetInCU: 0x26, offset: 0x9A0BF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2573D8, symSize: 0x1F4 } - - { offsetInCU: 0x1D2, offset: 0x9A26B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2573D8, symSize: 0x1F4 } - - { offsetInCU: 0x26, offset: 0x9A506, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2575CC, symSize: 0x3C } - - { offsetInCU: 0x34, offset: 0x9A514, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2575CC, symSize: 0x3C } - - { offsetInCU: 0x26, offset: 0x9A624, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x257608, symSize: 0x98 } - - { offsetInCU: 0x34, offset: 0x9A632, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x257608, symSize: 0x98 } - - { offsetInCU: 0x86, offset: 0x9A795, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x932830, symSize: 0x0 } - - { offsetInCU: 0xB8, offset: 0x9A7C7, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x9327C0, symSize: 0x0 } - - { offsetInCU: 0xDA, offset: 0x9A7E9, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x9327F0, symSize: 0x0 } - - { offsetInCU: 0xF0, offset: 0x9A7FF, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x932820, symSize: 0x0 } - - { offsetInCU: 0x3B7, offset: 0x9AAC6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2576A0, symSize: 0x18 } - - { offsetInCU: 0x3FB, offset: 0x9AB0A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2576A0, symSize: 0x18 } - - { offsetInCU: 0x594, offset: 0x9ACA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x2576B8, symSize: 0x18 } - - { offsetInCU: 0x63F, offset: 0x9AD4E, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x2576D0, symSize: 0x320 } - - { offsetInCU: 0x1199, offset: 0x9B8A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x2579F0, symSize: 0xAC } - - { offsetInCU: 0x148F, offset: 0x9BB9E, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x257A9C, symSize: 0x500 } - - { offsetInCU: 0x268C, offset: 0x9CD9B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x257F9C, symSize: 0x2C8 } - - { offsetInCU: 0x2CDB, offset: 0x9D3EA, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x258264, symSize: 0xF4 } - - { offsetInCU: 0x2EED, offset: 0x9D5FC, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x258358, symSize: 0x168 } - - { offsetInCU: 0x26, offset: 0x9D961, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2584C0, symSize: 0x38 } - - { offsetInCU: 0xFA, offset: 0x9DA35, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2584C0, symSize: 0x38 } - - { offsetInCU: 0x12C, offset: 0x9DA67, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2584C0, symSize: 0x38 } - - { offsetInCU: 0x199, offset: 0x9DAD4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2584F8, symSize: 0x3C } - - { offsetInCU: 0x1F3, offset: 0x9DB2E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2584F8, symSize: 0x3C } - - { offsetInCU: 0x31B, offset: 0x9DC56, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x258534, symSize: 0x5C } - - { offsetInCU: 0x517, offset: 0x9DE52, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x258590, symSize: 0x1C } - - { offsetInCU: 0x636, offset: 0x9DF71, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x2585AC, symSize: 0x54 } - - { offsetInCU: 0x6D9, offset: 0x9E014, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x258600, symSize: 0x4C } - - { offsetInCU: 0x8A7, offset: 0x9E1E2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x25864C, symSize: 0xA8 } - - { offsetInCU: 0x90B, offset: 0x9E246, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x25864C, symSize: 0xA8 } - - { offsetInCU: 0xBAA, offset: 0x9E4E5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2586F4, symSize: 0x110 } - - { offsetInCU: 0xC4C, offset: 0x9E587, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2586F4, symSize: 0x110 } - - { offsetInCU: 0xEDE, offset: 0x9E819, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x258804, symSize: 0xB0 } - - { offsetInCU: 0xF5E, offset: 0x9E899, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x258804, symSize: 0xB0 } - - { offsetInCU: 0x10E1, offset: 0x9EA1C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x2588B4, symSize: 0x178 } - - { offsetInCU: 0x13AB, offset: 0x9ECE6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x56C, symBinAddr: 0x258A2C, symSize: 0x1F4 } - - { offsetInCU: 0x1500, offset: 0x9EE3B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x760, symBinAddr: 0x258C20, symSize: 0x18 } - - { offsetInCU: 0x1567, offset: 0x9EEA2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x778, symBinAddr: 0x258C38, symSize: 0xC } - - { offsetInCU: 0x15A0, offset: 0x9EEDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x784, symBinAddr: 0x258C44, symSize: 0x8 } - - { offsetInCU: 0x1624, offset: 0x9EF5F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x78C, symBinAddr: 0x258C4C, symSize: 0x3C } - - { offsetInCU: 0x26, offset: 0x9F112, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x258C88, symSize: 0x170 } - - { offsetInCU: 0x34, offset: 0x9F120, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x258C88, symSize: 0x170 } - - { offsetInCU: 0x34, offset: 0x9F226, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x374, symBinAddr: 0x105DC10, symSize: 0x0 } - - { offsetInCU: 0x26, offset: 0x9F268, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x258DF8, symSize: 0x388 } - - { offsetInCU: 0x76, offset: 0x9F2B8, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x933000, symSize: 0x0 } - - { offsetInCU: 0xFA, offset: 0x9F33C, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x958000, symSize: 0x0 } - - { offsetInCU: 0x35B, offset: 0x9F59D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x258DF8, symSize: 0x388 } - - { offsetInCU: 0xC66, offset: 0x9FEA8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x259180, symSize: 0x204 } - - { offsetInCU: 0x1171, offset: 0xA03B3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x259384, symSize: 0x1BC } - - { offsetInCU: 0x10, offset: 0xA0788, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x259540, symSize: 0x1A0 } - - { offsetInCU: 0x50, offset: 0xA07C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x259540, symSize: 0x1A0 } - - { offsetInCU: 0x5E, offset: 0xA07D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x2596E0, symSize: 0x60 } - - { offsetInCU: 0x81, offset: 0xA07F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x259740, symSize: 0x288 } - - { offsetInCU: 0x10, offset: 0xA07EA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2599D0, symSize: 0x130 } - - { offsetInCU: 0x48, offset: 0xA0822, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2599D0, symSize: 0x130 } - - { offsetInCU: 0x5F, offset: 0xA0839, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x259B00, symSize: 0x70 } - - { offsetInCU: 0x75, offset: 0xA084F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x259B70, symSize: 0x160 } - - { offsetInCU: 0x7A, offset: 0xA0854, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x259CD0, symSize: 0x378 } - - { offsetInCU: 0x10, offset: 0xA0862, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x25A060, symSize: 0x3A0 } - - { offsetInCU: 0x48, offset: 0xA089A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x25A060, symSize: 0x3A0 } - - { offsetInCU: 0x4C, offset: 0xA089E, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x25A400, symSize: 0x6C0 } - - { offsetInCU: 0x66, offset: 0xA08B8, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x25AAC0, symSize: 0x1138 } - - { offsetInCU: 0x50, offset: 0xA0904, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0x25BD40, symSize: 0x1180 } - - { offsetInCU: 0x66, offset: 0xA091A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0x25CEC0, symSize: 0x1410 } - - { offsetInCU: 0x10, offset: 0xA0910, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x25E2E0, symSize: 0x240 } - - { offsetInCU: 0x45, offset: 0xA0945, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x25E2E0, symSize: 0x240 } - - { offsetInCU: 0x4D, offset: 0xA094D, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0x25E520, symSize: 0x9E0 } - - { offsetInCU: 0x63, offset: 0xA0963, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0x25EF00, symSize: 0x650 } - - { offsetInCU: 0x10, offset: 0xA0972, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x25F560, symSize: 0x40 } - - { offsetInCU: 0x47, offset: 0xA09A9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x25F560, symSize: 0x40 } - - { offsetInCU: 0x5D, offset: 0xA09BF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0x25F5A0, symSize: 0x40 } - - { offsetInCU: 0x76, offset: 0xA09D8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0x25F5E0, symSize: 0x40 } - - { offsetInCU: 0x81, offset: 0xA09E3, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0x25F620, symSize: 0x1E0 } - - { offsetInCU: 0x97, offset: 0xA09F9, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0x25F800, symSize: 0x170 } - - { offsetInCU: 0xAB, offset: 0xA0A0D, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0x25F970, symSize: 0x50 } - - { offsetInCU: 0xC3, offset: 0xA0A25, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0x25F9C0, symSize: 0x50 } - - { offsetInCU: 0xD9, offset: 0xA0A3B, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0x25FA10, symSize: 0x50 } - - { offsetInCU: 0xEF, offset: 0xA0A51, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0x25FA60, symSize: 0x60 } - - { offsetInCU: 0x111, offset: 0xA0A73, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0x25FAC0, symSize: 0x1E0 } - - { offsetInCU: 0x124, offset: 0xA0A86, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0x25FCA0, symSize: 0x360 } - - { offsetInCU: 0x141, offset: 0xA0AA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0x260000, symSize: 0x2D0 } - - { offsetInCU: 0x156, offset: 0xA0AB8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0x2602D0, symSize: 0x2B0 } - - { offsetInCU: 0x170, offset: 0xA0AD2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0x260580, symSize: 0x250 } - - { offsetInCU: 0x184, offset: 0xA0AE6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0x2607D0, symSize: 0x60 } - - { offsetInCU: 0x19A, offset: 0xA0AFC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0x260830, symSize: 0x44 } - - { offsetInCU: 0x10, offset: 0xA0AF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x260880, symSize: 0xB90 } - - { offsetInCU: 0x4C, offset: 0xA0B2E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x260880, symSize: 0xB90 } - - { offsetInCU: 0x62, offset: 0xA0B44, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0x261410, symSize: 0xB98 } - - { offsetInCU: 0x10, offset: 0xA0B3E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x261FC0, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA0B7F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x261FC0, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA0B7F, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x262E00, symSize: 0x7E0 } - - { offsetInCU: 0x10, offset: 0xA0B8A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x263600, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA0BCB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x263600, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA0BCB, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x264440, symSize: 0x1F0 } + - { offsetInCU: 0x34, offset: 0x7718F, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x8EC000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x771C4, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x8EC038, symSize: 0x0 } + - { offsetInCU: 0x3F, offset: 0x77219, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x28, symBinAddr: 0x8028, symSize: 0xC } + - { offsetInCU: 0x53, offset: 0x7722D, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x34, symBinAddr: 0x8034, symSize: 0x4 } + - { offsetInCU: 0x67, offset: 0x77241, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x38, symBinAddr: 0x8038, symSize: 0x20 } + - { offsetInCU: 0x7B, offset: 0x77255, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x58, symBinAddr: 0x8058, symSize: 0x28 } + - { offsetInCU: 0x8F, offset: 0x77269, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0x94, symBinAddr: 0x8094, symSize: 0x30 } + - { offsetInCU: 0xA3, offset: 0x7727D, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0xC4, symBinAddr: 0x80C4, symSize: 0xC } + - { offsetInCU: 0xB7, offset: 0x77291, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0xD0, symBinAddr: 0x80D0, symSize: 0x20 } + - { offsetInCU: 0xCB, offset: 0x772A5, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0xF0, symBinAddr: 0x80F0, symSize: 0x2C } + - { offsetInCU: 0x4F, offset: 0x7748E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AE8, symBinAddr: 0x10D39A0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x774A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AF0, symBinAddr: 0x10D39A8, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x774DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x4, symBinAddr: 0x8194, symSize: 0x38 } + - { offsetInCU: 0xF3, offset: 0x77532, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x40, symBinAddr: 0x81D0, symSize: 0x70 } + - { offsetInCU: 0x144, offset: 0x77583, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xB4, symBinAddr: 0x8244, symSize: 0x44 } + - { offsetInCU: 0x19F, offset: 0x775DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0xFC, symBinAddr: 0x828C, symSize: 0x50 } + - { offsetInCU: 0x204, offset: 0x77643, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x150, symBinAddr: 0x82E0, symSize: 0x68 } + - { offsetInCU: 0x27D, offset: 0x776BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1BC, symBinAddr: 0x834C, symSize: 0x98 } + - { offsetInCU: 0x2DA, offset: 0x77719, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x258, symBinAddr: 0x83E8, symSize: 0x14 } + - { offsetInCU: 0x35C, offset: 0x7779B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x270, symBinAddr: 0x8400, symSize: 0x14 } + - { offsetInCU: 0x40B, offset: 0x7784A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x2C8, symBinAddr: 0x8458, symSize: 0x50 } + - { offsetInCU: 0x4DC, offset: 0x7791B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x364, symBinAddr: 0x84F4, symSize: 0x58 } + - { offsetInCU: 0x5B6, offset: 0x779F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x404, symBinAddr: 0x8594, symSize: 0x58 } + - { offsetInCU: 0x695, offset: 0x77AD4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x4AC, symBinAddr: 0x863C, symSize: 0x60 } + - { offsetInCU: 0x741, offset: 0x77B80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x510, symBinAddr: 0x86A0, symSize: 0x8 } + - { offsetInCU: 0x7AA, offset: 0x77BE9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x51C, symBinAddr: 0x86AC, symSize: 0x8 } + - { offsetInCU: 0x801, offset: 0x77C40, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x538, symBinAddr: 0x86C8, symSize: 0x8 } + - { offsetInCU: 0x858, offset: 0x77C97, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x544, symBinAddr: 0x86D4, symSize: 0x8 } + - { offsetInCU: 0x8AF, offset: 0x77CEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x550, symBinAddr: 0x86E0, symSize: 0x8 } + - { offsetInCU: 0x906, offset: 0x77D45, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x55C, symBinAddr: 0x86EC, symSize: 0x8 } + - { offsetInCU: 0x985, offset: 0x77DC4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x56C, symBinAddr: 0x86FC, symSize: 0x24 } + - { offsetInCU: 0xA36, offset: 0x77E75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x594, symBinAddr: 0x8724, symSize: 0x14 } + - { offsetInCU: 0xAA9, offset: 0x77EE8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x5AC, symBinAddr: 0x873C, symSize: 0x8 } + - { offsetInCU: 0xB00, offset: 0x77F3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x60C, symBinAddr: 0x879C, symSize: 0x74 } + - { offsetInCU: 0xB8B, offset: 0x77FCA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0x814, symBinAddr: 0x89A4, symSize: 0xA0 } + - { offsetInCU: 0xBDC, offset: 0x7801B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xB1C, symBinAddr: 0x8CAC, symSize: 0x98 } + - { offsetInCU: 0xC2D, offset: 0x7806C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0xE70, symBinAddr: 0x9000, symSize: 0x98 } + - { offsetInCU: 0xC89, offset: 0x780C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1298, symBinAddr: 0x9428, symSize: 0xD8 } + - { offsetInCU: 0xCD1, offset: 0x78110, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x1374, symBinAddr: 0x9504, symSize: 0x34 } + - { offsetInCU: 0xD31, offset: 0x78170, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x13F8, symBinAddr: 0x9588, symSize: 0x3C } + - { offsetInCU: 0xD82, offset: 0x781C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1468, symBinAddr: 0x95F8, symSize: 0x2AC } + - { offsetInCU: 0xFB6, offset: 0x783F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x1714, symBinAddr: 0x98A4, symSize: 0x264 } + - { offsetInCU: 0x11B0, offset: 0x785EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1978, symBinAddr: 0x9B08, symSize: 0xEC } + - { offsetInCU: 0x12AD, offset: 0x786EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1A64, symBinAddr: 0x9BF4, symSize: 0x1B4 } + - { offsetInCU: 0x1422, offset: 0x78861, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1C18, symBinAddr: 0x9DA8, symSize: 0x1CC } + - { offsetInCU: 0x15B7, offset: 0x789F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x1DE4, symBinAddr: 0x9F74, symSize: 0x1E0 } + - { offsetInCU: 0x17A3, offset: 0x78BE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x1FC4, symBinAddr: 0xA154, symSize: 0x1B4 } + - { offsetInCU: 0x186D, offset: 0x78CAC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x231C, symBinAddr: 0xA4AC, symSize: 0x1D4 } + - { offsetInCU: 0x194E, offset: 0x78D8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x24F0, symBinAddr: 0xA680, symSize: 0x114 } + - { offsetInCU: 0x19F9, offset: 0x78E38, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0x8B4, symBinAddr: 0x8A44, symSize: 0x78 } + - { offsetInCU: 0x1A11, offset: 0x78E50, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xBB4, symBinAddr: 0x8D44, symSize: 0x54 } + - { offsetInCU: 0x1A7E, offset: 0x78EBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x1464, symBinAddr: 0x95F4, symSize: 0x4 } + - { offsetInCU: 0x1B09, offset: 0x78F48, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x2604, symBinAddr: 0xA794, symSize: 0x20 } + - { offsetInCU: 0x1B1D, offset: 0x78F5C, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2648, symBinAddr: 0xA7D8, symSize: 0x8 } + - { offsetInCU: 0x1B3C, offset: 0x78F7B, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2650, symBinAddr: 0xA7E0, symSize: 0x18 } + - { offsetInCU: 0x1B65, offset: 0x78FA4, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x2668, symBinAddr: 0xA7F8, symSize: 0x8 } + - { offsetInCU: 0x1B79, offset: 0x78FB8, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x2670, symBinAddr: 0xA800, symSize: 0x3C } + - { offsetInCU: 0x1B8D, offset: 0x78FCC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x26F0, symBinAddr: 0xA880, symSize: 0x34 } + - { offsetInCU: 0x1BA1, offset: 0x78FE0, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2724, symBinAddr: 0xA8B4, symSize: 0x10 } + - { offsetInCU: 0x1BB5, offset: 0x78FF4, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2734, symBinAddr: 0xA8C4, symSize: 0x8 } + - { offsetInCU: 0x1BC9, offset: 0x79008, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2760, symBinAddr: 0xA8F0, symSize: 0x40 } + - { offsetInCU: 0x1BFD, offset: 0x7903C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x27E4, symBinAddr: 0xA974, symSize: 0x40 } + - { offsetInCU: 0x1C3B, offset: 0x7907A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2824, symBinAddr: 0xA9B4, symSize: 0x28 } + - { offsetInCU: 0x1C6F, offset: 0x790AE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x28A4, symBinAddr: 0xAA34, symSize: 0x3C } + - { offsetInCU: 0x1CA3, offset: 0x790E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x290C, symBinAddr: 0xAA9C, symSize: 0x30 } + - { offsetInCU: 0x1CDF, offset: 0x7911E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2978, symBinAddr: 0xAB08, symSize: 0x10 } + - { offsetInCU: 0x1CF3, offset: 0x79132, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2988, symBinAddr: 0xAB18, symSize: 0x40 } + - { offsetInCU: 0x21C0, offset: 0x795FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x8190, symSize: 0x4 } + - { offsetInCU: 0x21DB, offset: 0x7961A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x3C, symBinAddr: 0x81CC, symSize: 0x4 } + - { offsetInCU: 0x21F6, offset: 0x79635, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xB0, symBinAddr: 0x8240, symSize: 0x4 } + - { offsetInCU: 0x2217, offset: 0x79656, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0xF8, symBinAddr: 0x8288, symSize: 0x4 } + - { offsetInCU: 0x2232, offset: 0x79671, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x14C, symBinAddr: 0x82DC, symSize: 0x4 } + - { offsetInCU: 0x224D, offset: 0x7968C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1B8, symBinAddr: 0x8348, symSize: 0x4 } + - { offsetInCU: 0x2268, offset: 0x796A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x254, symBinAddr: 0x83E4, symSize: 0x4 } + - { offsetInCU: 0x22F6, offset: 0x79735, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x26C, symBinAddr: 0x83FC, symSize: 0x4 } + - { offsetInCU: 0x2375, offset: 0x797B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x284, symBinAddr: 0x8414, symSize: 0x44 } + - { offsetInCU: 0x24B3, offset: 0x798F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x318, symBinAddr: 0x84A8, symSize: 0x4C } + - { offsetInCU: 0x25FC, offset: 0x79A3B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x3BC, symBinAddr: 0x854C, symSize: 0x48 } + - { offsetInCU: 0x2744, offset: 0x79B83, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x45C, symBinAddr: 0x85EC, symSize: 0x50 } + - { offsetInCU: 0x28A1, offset: 0x79CE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x50C, symBinAddr: 0x869C, symSize: 0x4 } + - { offsetInCU: 0x2913, offset: 0x79D52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x518, symBinAddr: 0x86A8, symSize: 0x4 } + - { offsetInCU: 0x2956, offset: 0x79D95, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x524, symBinAddr: 0x86B4, symSize: 0x14 } + - { offsetInCU: 0x299B, offset: 0x79DDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x540, symBinAddr: 0x86D0, symSize: 0x4 } + - { offsetInCU: 0x29DE, offset: 0x79E1D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x54C, symBinAddr: 0x86DC, symSize: 0x4 } + - { offsetInCU: 0x2A21, offset: 0x79E60, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x558, symBinAddr: 0x86E8, symSize: 0x4 } + - { offsetInCU: 0x2A64, offset: 0x79EA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x564, symBinAddr: 0x86F4, symSize: 0x8 } + - { offsetInCU: 0x2B4B, offset: 0x79F8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x590, symBinAddr: 0x8720, symSize: 0x4 } + - { offsetInCU: 0x2BCA, offset: 0x7A009, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x5A8, symBinAddr: 0x8738, symSize: 0x4 } + - { offsetInCU: 0x2C0D, offset: 0x7A04C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x5B4, symBinAddr: 0x8744, symSize: 0x58 } + - { offsetInCU: 0x2CCE, offset: 0x7A10D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x680, symBinAddr: 0x8810, symSize: 0x4 } + - { offsetInCU: 0x2CE2, offset: 0x7A121, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x684, symBinAddr: 0x8814, symSize: 0x190 } + - { offsetInCU: 0x2D82, offset: 0x7A1C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0x92C, symBinAddr: 0x8ABC, symSize: 0x2C } + - { offsetInCU: 0x2D96, offset: 0x7A1D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0x958, symBinAddr: 0x8AE8, symSize: 0x1C4 } + - { offsetInCU: 0x2E80, offset: 0x7A2BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xC08, symBinAddr: 0x8D98, symSize: 0x2C } + - { offsetInCU: 0x2E94, offset: 0x7A2D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xC34, symBinAddr: 0x8DC4, symSize: 0x23C } + - { offsetInCU: 0x2F48, offset: 0x7A387, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0xF08, symBinAddr: 0x9098, symSize: 0x4 } + - { offsetInCU: 0x2F5C, offset: 0x7A39B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0xF0C, symBinAddr: 0x909C, symSize: 0x38C } + - { offsetInCU: 0x31F3, offset: 0x7A632, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1370, symBinAddr: 0x9500, symSize: 0x4 } + - { offsetInCU: 0x320E, offset: 0x7A64D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x13A8, symBinAddr: 0x9538, symSize: 0x20 } + - { offsetInCU: 0x3222, offset: 0x7A661, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x13C8, symBinAddr: 0x9558, symSize: 0x30 } + - { offsetInCU: 0x3258, offset: 0x7A697, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x1434, symBinAddr: 0x95C4, symSize: 0x30 } + - { offsetInCU: 0x4F, offset: 0x7A8CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x55E0, symBinAddr: 0x10D39E0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x7A8E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x55E8, symBinAddr: 0x10D39E8, symSize: 0x0 } + - { offsetInCU: 0x83, offset: 0x7A903, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x55F0, symBinAddr: 0x10D39F0, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x7A91D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x55F8, symBinAddr: 0x10D39F8, symSize: 0x0 } + - { offsetInCU: 0xAB, offset: 0x7A92B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0xAC40, symSize: 0x40 } + - { offsetInCU: 0xF0, offset: 0x7A970, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x40, symBinAddr: 0xAC80, symSize: 0x30 } + - { offsetInCU: 0x135, offset: 0x7A9B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xA8, symBinAddr: 0xACE8, symSize: 0x40 } + - { offsetInCU: 0x187, offset: 0x7AA07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0xADD4, symSize: 0x10 } + - { offsetInCU: 0x1A7, offset: 0x7AA27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0xADD4, symSize: 0x10 } + - { offsetInCU: 0x1DD, offset: 0x7AA5D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0xADE4, symSize: 0x10 } + - { offsetInCU: 0x1FD, offset: 0x7AA7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0xADE4, symSize: 0x10 } + - { offsetInCU: 0x236, offset: 0x7AAB6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0xADF4, symSize: 0x10 } + - { offsetInCU: 0x256, offset: 0x7AAD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0xADF4, symSize: 0x10 } + - { offsetInCU: 0x28C, offset: 0x7AB0C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0xAE04, symSize: 0x10 } + - { offsetInCU: 0x2AC, offset: 0x7AB2C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0xAE04, symSize: 0x10 } + - { offsetInCU: 0x2E5, offset: 0x7AB65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x29C, symBinAddr: 0xAEDC, symSize: 0x44 } + - { offsetInCU: 0x322, offset: 0x7ABA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x324, symBinAddr: 0xAF64, symSize: 0x30 } + - { offsetInCU: 0x3B1, offset: 0x7AC31, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x578, symBinAddr: 0xB1B8, symSize: 0x44 } + - { offsetInCU: 0x409, offset: 0x7AC89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x600, symBinAddr: 0xB240, symSize: 0x48 } + - { offsetInCU: 0x464, offset: 0x7ACE4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x648, symBinAddr: 0xB288, symSize: 0x44 } + - { offsetInCU: 0x4BC, offset: 0x7AD3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x6D0, symBinAddr: 0xB310, symSize: 0x48 } + - { offsetInCU: 0x517, offset: 0x7AD97, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x718, symBinAddr: 0xB358, symSize: 0x10 } + - { offsetInCU: 0x537, offset: 0x7ADB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x718, symBinAddr: 0xB358, symSize: 0x10 } + - { offsetInCU: 0x56D, offset: 0x7ADED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x728, symBinAddr: 0xB368, symSize: 0x10 } + - { offsetInCU: 0x58D, offset: 0x7AE0D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x728, symBinAddr: 0xB368, symSize: 0x10 } + - { offsetInCU: 0x5C6, offset: 0x7AE46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x738, symBinAddr: 0xB378, symSize: 0x10 } + - { offsetInCU: 0x5E6, offset: 0x7AE66, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x738, symBinAddr: 0xB378, symSize: 0x10 } + - { offsetInCU: 0x61E, offset: 0x7AE9E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x748, symBinAddr: 0xB388, symSize: 0x34 } + - { offsetInCU: 0x677, offset: 0x7AEF7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x77C, symBinAddr: 0xB3BC, symSize: 0x10 } + - { offsetInCU: 0x697, offset: 0x7AF17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x77C, symBinAddr: 0xB3BC, symSize: 0x10 } + - { offsetInCU: 0x6CF, offset: 0x7AF4F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x78C, symBinAddr: 0xB3CC, symSize: 0x34 } + - { offsetInCU: 0x728, offset: 0x7AFA8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x7C0, symBinAddr: 0xB400, symSize: 0x10 } + - { offsetInCU: 0x748, offset: 0x7AFC8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x7C0, symBinAddr: 0xB400, symSize: 0x10 } + - { offsetInCU: 0x77E, offset: 0x7AFFE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x7D0, symBinAddr: 0xB410, symSize: 0x10 } + - { offsetInCU: 0x79E, offset: 0x7B01E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x7D0, symBinAddr: 0xB410, symSize: 0x10 } + - { offsetInCU: 0x7D7, offset: 0x7B057, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x7E0, symBinAddr: 0xB420, symSize: 0x10 } + - { offsetInCU: 0x7F7, offset: 0x7B077, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x7E0, symBinAddr: 0xB420, symSize: 0x10 } + - { offsetInCU: 0x82D, offset: 0x7B0AD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x7F0, symBinAddr: 0xB430, symSize: 0x10 } + - { offsetInCU: 0x84D, offset: 0x7B0CD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x7F0, symBinAddr: 0xB430, symSize: 0x10 } + - { offsetInCU: 0x870, offset: 0x7B0F0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x800, symBinAddr: 0xB440, symSize: 0x34 } + - { offsetInCU: 0x8A2, offset: 0x7B122, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x904, symBinAddr: 0xB544, symSize: 0x34 } + - { offsetInCU: 0x8EA, offset: 0x7B16A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA08, symBinAddr: 0xB648, symSize: 0x20 } + - { offsetInCU: 0x952, offset: 0x7B1D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xA4C, symBinAddr: 0xB68C, symSize: 0x20 } + - { offsetInCU: 0x9F1, offset: 0x7B271, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xAB4, symBinAddr: 0xB6F4, symSize: 0xC4 } + - { offsetInCU: 0xAB4, offset: 0x7B334, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xD10, symBinAddr: 0xB950, symSize: 0x30 } + - { offsetInCU: 0xB64, offset: 0x7B3E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x15C8, symBinAddr: 0xC208, symSize: 0xC4 } + - { offsetInCU: 0xBCE, offset: 0x7B44E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x18E4, symBinAddr: 0xC524, symSize: 0xB0 } + - { offsetInCU: 0xC0B, offset: 0x7B48B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1A54, symBinAddr: 0xC694, symSize: 0xB8 } + - { offsetInCU: 0xC83, offset: 0x7B503, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1BF0, symBinAddr: 0xC830, symSize: 0x3C } + - { offsetInCU: 0xCB6, offset: 0x7B536, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C2C, symBinAddr: 0xC86C, symSize: 0x10 } + - { offsetInCU: 0xCD6, offset: 0x7B556, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C2C, symBinAddr: 0xC86C, symSize: 0x10 } + - { offsetInCU: 0xD10, offset: 0x7B590, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1C3C, symBinAddr: 0xC87C, symSize: 0x34 } + - { offsetInCU: 0xD6B, offset: 0x7B5EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1CB8, symBinAddr: 0xC8F8, symSize: 0x48 } + - { offsetInCU: 0xE05, offset: 0x7B685, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1D4C, symBinAddr: 0xC98C, symSize: 0x64 } + - { offsetInCU: 0xECA, offset: 0x7B74A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1E08, symBinAddr: 0xCA48, symSize: 0x94 } + - { offsetInCU: 0xF57, offset: 0x7B7D7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x1EDC, symBinAddr: 0xCB1C, symSize: 0x6C } + - { offsetInCU: 0xFB9, offset: 0x7B839, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x1FEC, symBinAddr: 0xCC2C, symSize: 0x6C } + - { offsetInCU: 0x1016, offset: 0x7B896, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2058, symBinAddr: 0xCC98, symSize: 0xB0 } + - { offsetInCU: 0x1068, offset: 0x7B8E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x21D8, symBinAddr: 0xCE18, symSize: 0x94 } + - { offsetInCU: 0x10FA, offset: 0x7B97A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x2EC4, symBinAddr: 0xDB04, symSize: 0x28 } + - { offsetInCU: 0x114F, offset: 0x7B9CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x3944, symBinAddr: 0xE584, symSize: 0x20 } + - { offsetInCU: 0x1182, offset: 0x7BA02, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3964, symBinAddr: 0xE5A4, symSize: 0x10 } + - { offsetInCU: 0x11A2, offset: 0x7BA22, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3964, symBinAddr: 0xE5A4, symSize: 0x10 } + - { offsetInCU: 0x11DA, offset: 0x7BA5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x3974, symBinAddr: 0xE5B4, symSize: 0x34 } + - { offsetInCU: 0x1248, offset: 0x7BAC8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x3A28, symBinAddr: 0xE668, symSize: 0x20 } + - { offsetInCU: 0x12A2, offset: 0x7BB22, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3A48, symBinAddr: 0xE688, symSize: 0x34 } + - { offsetInCU: 0x1302, offset: 0x7BB82, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3AAC, symBinAddr: 0xE6EC, symSize: 0x34 } + - { offsetInCU: 0x1446, offset: 0x7BCC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x3DF8, symBinAddr: 0xEA38, symSize: 0x28 } + - { offsetInCU: 0x1479, offset: 0x7BCF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x4124, symBinAddr: 0xED64, symSize: 0x24 } + - { offsetInCU: 0x14B4, offset: 0x7BD34, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x4210, symBinAddr: 0xEE50, symSize: 0x34 } + - { offsetInCU: 0x14E7, offset: 0x7BD67, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4BAC, symBinAddr: 0xF7EC, symSize: 0x2A8 } + - { offsetInCU: 0x1664, offset: 0x7BEE4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x4F18, symBinAddr: 0xFB58, symSize: 0xA0 } + - { offsetInCU: 0x18E0, offset: 0x7C160, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1EB0, symBinAddr: 0xCAF0, symSize: 0x2C } + - { offsetInCU: 0x18F8, offset: 0x7C178, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2160, symBinAddr: 0xCDA0, symSize: 0x78 } + - { offsetInCU: 0x1910, offset: 0x7C190, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x22C8, symBinAddr: 0xCF08, symSize: 0x94 } + - { offsetInCU: 0x1948, offset: 0x7C1C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x235C, symBinAddr: 0xCF9C, symSize: 0xB8 } + - { offsetInCU: 0x198A, offset: 0x7C20A, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x2414, symBinAddr: 0xD054, symSize: 0x6C } + - { offsetInCU: 0x1A3A, offset: 0x7C2BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x4148, symBinAddr: 0xED88, symSize: 0xC4 } + - { offsetInCU: 0x1A6A, offset: 0x7C2EA, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x4244, symBinAddr: 0xEE84, symSize: 0x10 } + - { offsetInCU: 0x1A7E, offset: 0x7C2FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x4254, symBinAddr: 0xEE94, symSize: 0x20 } + - { offsetInCU: 0x1A92, offset: 0x7C312, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x4274, symBinAddr: 0xEEB4, symSize: 0x64 } + - { offsetInCU: 0x1C99, offset: 0x7C519, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x4E54, symBinAddr: 0xFA94, symSize: 0x40 } + - { offsetInCU: 0x1CAD, offset: 0x7C52D, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x4E94, symBinAddr: 0xFAD4, symSize: 0x40 } + - { offsetInCU: 0x1CC1, offset: 0x7C541, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x4ED4, symBinAddr: 0xFB14, symSize: 0x24 } + - { offsetInCU: 0x1CD5, offset: 0x7C555, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x4EF8, symBinAddr: 0xFB38, symSize: 0x20 } + - { offsetInCU: 0x1CF4, offset: 0x7C574, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x53E4, symBinAddr: 0x10024, symSize: 0x48 } + - { offsetInCU: 0x1D1D, offset: 0x7C59D, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x542C, symBinAddr: 0x1006C, symSize: 0x10 } + - { offsetInCU: 0x1D31, offset: 0x7C5B1, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x543C, symBinAddr: 0x1007C, symSize: 0x8 } + - { offsetInCU: 0x1D45, offset: 0x7C5C5, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5444, symBinAddr: 0x10084, symSize: 0x10 } + - { offsetInCU: 0x1D64, offset: 0x7C5E4, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5454, symBinAddr: 0x10094, symSize: 0xC } + - { offsetInCU: 0x1D8D, offset: 0x7C60D, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5484, symBinAddr: 0x100C4, symSize: 0x8 } + - { offsetInCU: 0x1DAC, offset: 0x7C62C, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x548C, symBinAddr: 0x100CC, symSize: 0x30 } + - { offsetInCU: 0x1DD5, offset: 0x7C655, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x54BC, symBinAddr: 0x100FC, symSize: 0x10 } + - { offsetInCU: 0x1DE9, offset: 0x7C669, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x5504, symBinAddr: 0x10144, symSize: 0x3C } + - { offsetInCU: 0x206E, offset: 0x7C8EE, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4A94, symBinAddr: 0xF6D4, symSize: 0x118 } + - { offsetInCU: 0x2514, offset: 0x7CD94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x2E0, symBinAddr: 0xAF20, symSize: 0x44 } + - { offsetInCU: 0x2547, offset: 0x7CDC7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x354, symBinAddr: 0xAF94, symSize: 0xEC } + - { offsetInCU: 0x2593, offset: 0x7CE13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x440, symBinAddr: 0xB080, symSize: 0x58 } + - { offsetInCU: 0x25B8, offset: 0x7CE38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x498, symBinAddr: 0xB0D8, symSize: 0xE0 } + - { offsetInCU: 0x25F9, offset: 0x7CE79, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x5BC, symBinAddr: 0xB1FC, symSize: 0x44 } + - { offsetInCU: 0x2651, offset: 0x7CED1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x68C, symBinAddr: 0xB2CC, symSize: 0x44 } + - { offsetInCU: 0x27BF, offset: 0x7D03F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x834, symBinAddr: 0xB474, symSize: 0xD0 } + - { offsetInCU: 0x28E4, offset: 0x7D164, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x938, symBinAddr: 0xB578, symSize: 0xD0 } + - { offsetInCU: 0x2A2A, offset: 0x7D2AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xA28, symBinAddr: 0xB668, symSize: 0x24 } + - { offsetInCU: 0x2A72, offset: 0x7D2F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xA6C, symBinAddr: 0xB6AC, symSize: 0x24 } + - { offsetInCU: 0x2AA6, offset: 0x7D326, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xA90, symBinAddr: 0xB6D0, symSize: 0x24 } + - { offsetInCU: 0x2C34, offset: 0x7D4B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xB78, symBinAddr: 0xB7B8, symSize: 0x198 } + - { offsetInCU: 0x3027, offset: 0x7D8A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xD40, symBinAddr: 0xB980, symSize: 0x888 } + - { offsetInCU: 0x382A, offset: 0x7E0AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x168C, symBinAddr: 0xC2CC, symSize: 0x258 } + - { offsetInCU: 0x3C5C, offset: 0x7E4DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x1994, symBinAddr: 0xC5D4, symSize: 0xC0 } + - { offsetInCU: 0x3CED, offset: 0x7E56D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1B0C, symBinAddr: 0xC74C, symSize: 0xE4 } + - { offsetInCU: 0x3E48, offset: 0x7E6C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1C70, symBinAddr: 0xC8B0, symSize: 0x48 } + - { offsetInCU: 0x3ECE, offset: 0x7E74E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1D00, symBinAddr: 0xC940, symSize: 0x4C } + - { offsetInCU: 0x3FEF, offset: 0x7E86F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1DB0, symBinAddr: 0xC9F0, symSize: 0x58 } + - { offsetInCU: 0x40E5, offset: 0x7E965, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x2108, symBinAddr: 0xCD48, symSize: 0x58 } + - { offsetInCU: 0x4131, offset: 0x7E9B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x226C, symBinAddr: 0xCEAC, symSize: 0x5C } + - { offsetInCU: 0x415A, offset: 0x7E9DA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x2480, symBinAddr: 0xD0C0, symSize: 0x44 } + - { offsetInCU: 0x4180, offset: 0x7EA00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x24C4, symBinAddr: 0xD104, symSize: 0x4 } + - { offsetInCU: 0x4242, offset: 0x7EAC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x24C8, symBinAddr: 0xD108, symSize: 0x9FC } + - { offsetInCU: 0x4465, offset: 0x7ECE5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x2EEC, symBinAddr: 0xDB2C, symSize: 0x50 } + - { offsetInCU: 0x448E, offset: 0x7ED0E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x2F3C, symBinAddr: 0xDB7C, symSize: 0xA08 } + - { offsetInCU: 0x46D2, offset: 0x7EF52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x39A8, symBinAddr: 0xE5E8, symSize: 0x80 } + - { offsetInCU: 0x47C8, offset: 0x7F048, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3A7C, symBinAddr: 0xE6BC, symSize: 0x30 } + - { offsetInCU: 0x4866, offset: 0x7F0E6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3AE0, symBinAddr: 0xE720, symSize: 0x144 } + - { offsetInCU: 0x4A67, offset: 0x7F2E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3C24, symBinAddr: 0xE864, symSize: 0x1D4 } + - { offsetInCU: 0x4CE4, offset: 0x7F564, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x3E20, symBinAddr: 0xEA60, symSize: 0x304 } + - { offsetInCU: 0x4D74, offset: 0x7F5F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x420C, symBinAddr: 0xEE4C, symSize: 0x4 } + - { offsetInCU: 0x4D9C, offset: 0x7F61C, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x42D8, symBinAddr: 0xEF18, symSize: 0x64 } + - { offsetInCU: 0x4DF6, offset: 0x7F676, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x433C, symBinAddr: 0xEF7C, symSize: 0x6C } + - { offsetInCU: 0x4E76, offset: 0x7F6F6, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x43A8, symBinAddr: 0xEFE8, symSize: 0xD8 } + - { offsetInCU: 0x4EB3, offset: 0x7F733, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4480, symBinAddr: 0xF0C0, symSize: 0xE0 } + - { offsetInCU: 0x4F2E, offset: 0x7F7AE, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4560, symBinAddr: 0xF1A0, symSize: 0x1F4 } + - { offsetInCU: 0x4FEA, offset: 0x7F86A, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x4754, symBinAddr: 0xF394, symSize: 0x340 } + - { offsetInCU: 0x27, offset: 0x7FAD2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0x101E4, symSize: 0x10 } + - { offsetInCU: 0x62, offset: 0x7FB0D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x10, symBinAddr: 0x101F4, symSize: 0x20 } + - { offsetInCU: 0x1AF, offset: 0x7FC5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0x101E4, symSize: 0x10 } + - { offsetInCU: 0x65, offset: 0x7FCE9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0x10214, symSize: 0x10 } + - { offsetInCU: 0x85, offset: 0x7FD09, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0x10214, symSize: 0x10 } + - { offsetInCU: 0xBB, offset: 0x7FD3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0x10224, symSize: 0x10 } + - { offsetInCU: 0xDB, offset: 0x7FD5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0x10224, symSize: 0x10 } + - { offsetInCU: 0x114, offset: 0x7FD98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0x10234, symSize: 0x44 } + - { offsetInCU: 0x16C, offset: 0x7FDF0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x64, symBinAddr: 0x10278, symSize: 0x48 } + - { offsetInCU: 0x1C7, offset: 0x7FE4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xAC, symBinAddr: 0x102C0, symSize: 0x44 } + - { offsetInCU: 0x21F, offset: 0x7FEA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xF0, symBinAddr: 0x10304, symSize: 0x48 } + - { offsetInCU: 0x27A, offset: 0x7FEFE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0x1034C, symSize: 0x10 } + - { offsetInCU: 0x29A, offset: 0x7FF1E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0x1034C, symSize: 0x10 } + - { offsetInCU: 0x2D0, offset: 0x7FF54, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0x1035C, symSize: 0x10 } + - { offsetInCU: 0x2F0, offset: 0x7FF74, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0x1035C, symSize: 0x10 } + - { offsetInCU: 0x329, offset: 0x7FFAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0x1036C, symSize: 0x10 } + - { offsetInCU: 0x349, offset: 0x7FFCD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0x1036C, symSize: 0x10 } + - { offsetInCU: 0x37F, offset: 0x80003, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0x1037C, symSize: 0x10 } + - { offsetInCU: 0x39F, offset: 0x80023, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0x1037C, symSize: 0x10 } + - { offsetInCU: 0x3D8, offset: 0x8005C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x178, symBinAddr: 0x1038C, symSize: 0x44 } + - { offsetInCU: 0x430, offset: 0x800B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1BC, symBinAddr: 0x103D0, symSize: 0x48 } + - { offsetInCU: 0x48B, offset: 0x8010F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0x10418, symSize: 0x10 } + - { offsetInCU: 0x4AB, offset: 0x8012F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0x10418, symSize: 0x10 } + - { offsetInCU: 0x4E1, offset: 0x80165, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0x10428, symSize: 0x10 } + - { offsetInCU: 0x501, offset: 0x80185, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0x10428, symSize: 0x10 } + - { offsetInCU: 0x53A, offset: 0x801BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0x10438, symSize: 0x10 } + - { offsetInCU: 0x55A, offset: 0x801DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0x10438, symSize: 0x10 } + - { offsetInCU: 0x590, offset: 0x80214, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0x10448, symSize: 0x10 } + - { offsetInCU: 0x5B0, offset: 0x80234, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0x10448, symSize: 0x10 } + - { offsetInCU: 0x5E9, offset: 0x8026D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x244, symBinAddr: 0x10458, symSize: 0x48 } + - { offsetInCU: 0x63F, offset: 0x802C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x28C, symBinAddr: 0x104A0, symSize: 0x40 } + - { offsetInCU: 0x682, offset: 0x80306, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2CC, symBinAddr: 0x104E0, symSize: 0x8 } + - { offsetInCU: 0x69E, offset: 0x80322, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2D4, symBinAddr: 0x104E8, symSize: 0x2C } + - { offsetInCU: 0x6D0, offset: 0x80354, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0x10514, symSize: 0x10 } + - { offsetInCU: 0x6F0, offset: 0x80374, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0x10514, symSize: 0x10 } + - { offsetInCU: 0x728, offset: 0x803AC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x310, symBinAddr: 0x10524, symSize: 0x34 } + - { offsetInCU: 0x781, offset: 0x80405, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0x1062C, symSize: 0x10 } + - { offsetInCU: 0x7A1, offset: 0x80425, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0x1062C, symSize: 0x10 } + - { offsetInCU: 0x7D7, offset: 0x8045B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0x1063C, symSize: 0x10 } + - { offsetInCU: 0x7F7, offset: 0x8047B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0x1063C, symSize: 0x10 } + - { offsetInCU: 0x846, offset: 0x804CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x5BC, symBinAddr: 0x10790, symSize: 0x20 } + - { offsetInCU: 0x878, offset: 0x804FC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x720, symBinAddr: 0x108F4, symSize: 0x28 } + - { offsetInCU: 0x8D0, offset: 0x80554, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x75C, symBinAddr: 0x10930, symSize: 0x88 } + - { offsetInCU: 0x934, offset: 0x805B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x7E4, symBinAddr: 0x109B8, symSize: 0x7C } + - { offsetInCU: 0x9D6, offset: 0x8065A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xC0C, symBinAddr: 0x10DE0, symSize: 0x28 } + - { offsetInCU: 0xAC0, offset: 0x80744, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x59C, symBinAddr: 0x10770, symSize: 0x20 } + - { offsetInCU: 0xB34, offset: 0x807B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xC64, symBinAddr: 0x10E38, symSize: 0x58 } + - { offsetInCU: 0x123B, offset: 0x80EBF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x438, symBinAddr: 0x1064C, symSize: 0x20 } + - { offsetInCU: 0x1255, offset: 0x80ED9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x458, symBinAddr: 0x1066C, symSize: 0x104 } + - { offsetInCU: 0x1287, offset: 0x80F0B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x5DC, symBinAddr: 0x107B0, symSize: 0x144 } + - { offsetInCU: 0x1442, offset: 0x810C6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x748, symBinAddr: 0x1091C, symSize: 0x14 } + - { offsetInCU: 0x14F3, offset: 0x81177, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x860, symBinAddr: 0x10A34, symSize: 0x3AC } + - { offsetInCU: 0x1863, offset: 0x814E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xC34, symBinAddr: 0x10E08, symSize: 0x30 } + - { offsetInCU: 0x194E, offset: 0x815D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xCBC, symBinAddr: 0x10E90, symSize: 0x65C } + - { offsetInCU: 0x214C, offset: 0x81DD0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x135C, symBinAddr: 0x11530, symSize: 0x6C8 } + - { offsetInCU: 0x10C, offset: 0x82790, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0xED4, symBinAddr: 0x12AA4, symSize: 0x68 } + - { offsetInCU: 0x19C, offset: 0x82820, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0xF48, symBinAddr: 0x12B18, symSize: 0x10 } + - { offsetInCU: 0x1CB, offset: 0x8284F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0xF58, symBinAddr: 0x12B28, symSize: 0x4 } + - { offsetInCU: 0x368, offset: 0x829EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x16DC, symBinAddr: 0x132AC, symSize: 0x2C } + - { offsetInCU: 0x5D4, offset: 0x82C58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1744, symBinAddr: 0x13314, symSize: 0x68 } + - { offsetInCU: 0x603, offset: 0x82C87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x17AC, symBinAddr: 0x1337C, symSize: 0x20 } + - { offsetInCU: 0x617, offset: 0x82C9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x17CC, symBinAddr: 0x1339C, symSize: 0x20 } + - { offsetInCU: 0x62B, offset: 0x82CAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x17EC, symBinAddr: 0x133BC, symSize: 0x30 } + - { offsetInCU: 0x63F, offset: 0x82CC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x181C, symBinAddr: 0x133EC, symSize: 0x8 } + - { offsetInCU: 0x653, offset: 0x82CD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1824, symBinAddr: 0x133F4, symSize: 0x3C } + - { offsetInCU: 0x667, offset: 0x82CEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1860, symBinAddr: 0x13430, symSize: 0x50 } + - { offsetInCU: 0x67B, offset: 0x82CFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x18BC, symBinAddr: 0x13480, symSize: 0x40 } + - { offsetInCU: 0x68F, offset: 0x82D13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x18FC, symBinAddr: 0x134C0, symSize: 0x48 } + - { offsetInCU: 0x6A3, offset: 0x82D27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1944, symBinAddr: 0x13508, symSize: 0x40 } + - { offsetInCU: 0x6B7, offset: 0x82D3B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1984, symBinAddr: 0x13548, symSize: 0x10 } + - { offsetInCU: 0x6CB, offset: 0x82D4F, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1994, symBinAddr: 0x13558, symSize: 0x48 } + - { offsetInCU: 0x6DF, offset: 0x82D63, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1AA0, symBinAddr: 0x135A0, symSize: 0x58 } + - { offsetInCU: 0x6F3, offset: 0x82D77, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1AF8, symBinAddr: 0x135F8, symSize: 0x8 } + - { offsetInCU: 0x761, offset: 0x82DE5, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x1DEC, symBinAddr: 0x138EC, symSize: 0x10 } + - { offsetInCU: 0xCBB, offset: 0x8333F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0x11BF8, symSize: 0x540 } + - { offsetInCU: 0xF57, offset: 0x835DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x54C, symBinAddr: 0x12144, symSize: 0xE0 } + - { offsetInCU: 0xFD6, offset: 0x8365A, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0x122D4, symSize: 0x9C } + - { offsetInCU: 0x1069, offset: 0x836ED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0xDCC, symBinAddr: 0x1299C, symSize: 0x108 } + - { offsetInCU: 0x11B3, offset: 0x83837, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x12D0, symBinAddr: 0x12EA0, symSize: 0x40C } + - { offsetInCU: 0x18C9, offset: 0x83F4D, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1B00, symBinAddr: 0x13600, symSize: 0x14 } + - { offsetInCU: 0x1968, offset: 0x83FEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1B14, symBinAddr: 0x13614, symSize: 0x1E4 } + - { offsetInCU: 0x27, offset: 0x841C9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x138FC, symSize: 0x2C } + - { offsetInCU: 0x4B, offset: 0x841ED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2D8, symBinAddr: 0x10D3D08, symSize: 0x0 } + - { offsetInCU: 0x65, offset: 0x84207, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x138FC, symSize: 0x2C } + - { offsetInCU: 0x98, offset: 0x8423A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x178, symBinAddr: 0x13A74, symSize: 0x40 } + - { offsetInCU: 0x104, offset: 0x842A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x228, symBinAddr: 0x13B24, symSize: 0x3C } + - { offsetInCU: 0x156, offset: 0x842F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x2C, symBinAddr: 0x13928, symSize: 0x10C } + - { offsetInCU: 0x181, offset: 0x84323, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x208, symBinAddr: 0x13B04, symSize: 0x20 } + - { offsetInCU: 0x195, offset: 0x84337, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x294, symBinAddr: 0x13B90, symSize: 0x4 } + - { offsetInCU: 0x1C0, offset: 0x84362, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x298, symBinAddr: 0x13B94, symSize: 0x3C } + - { offsetInCU: 0x348, offset: 0x844EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x138, symBinAddr: 0x13A34, symSize: 0x40 } + - { offsetInCU: 0x388, offset: 0x8452A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x1B8, symBinAddr: 0x13AB4, symSize: 0x20 } + - { offsetInCU: 0x39C, offset: 0x8453E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1D8, symBinAddr: 0x13AD4, symSize: 0x30 } + - { offsetInCU: 0x3D8, offset: 0x8457A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x264, symBinAddr: 0x13B60, symSize: 0x30 } + - { offsetInCU: 0x2B, offset: 0x845C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x13BD0, symSize: 0xA4 } + - { offsetInCU: 0x66, offset: 0x84603, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA4, symBinAddr: 0x13C74, symSize: 0xA4 } + - { offsetInCU: 0xF9, offset: 0x84696, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D8, symBinAddr: 0x13DA8, symSize: 0x110 } + - { offsetInCU: 0x1A2, offset: 0x8473F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x30C, symBinAddr: 0x13EDC, symSize: 0x28 } + - { offsetInCU: 0x222, offset: 0x847BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x338, symBinAddr: 0x13F08, symSize: 0xA0 } + - { offsetInCU: 0x29B, offset: 0x84838, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4D0, symBinAddr: 0x140A0, symSize: 0x15C } + - { offsetInCU: 0x330, offset: 0x848CD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x67C, symBinAddr: 0x1424C, symSize: 0x3C } + - { offsetInCU: 0x381, offset: 0x8491E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6E8, symBinAddr: 0x142B8, symSize: 0x160 } + - { offsetInCU: 0x4DF, offset: 0x84A7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x848, symBinAddr: 0x14418, symSize: 0x2E4 } + - { offsetInCU: 0x5AE, offset: 0x84B4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB2C, symBinAddr: 0x146FC, symSize: 0x20 } + - { offsetInCU: 0x5C2, offset: 0x84B5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB4C, symBinAddr: 0x1471C, symSize: 0x44 } + - { offsetInCU: 0x5D6, offset: 0x84B73, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xB90, symBinAddr: 0x14760, symSize: 0x2C } + - { offsetInCU: 0x5EA, offset: 0x84B87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBBC, symBinAddr: 0x1478C, symSize: 0x8 } + - { offsetInCU: 0x5FE, offset: 0x84B9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBC4, symBinAddr: 0x14794, symSize: 0x40 } + - { offsetInCU: 0x612, offset: 0x84BAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC10, symBinAddr: 0x147D4, symSize: 0x30 } + - { offsetInCU: 0x626, offset: 0x84BC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC40, symBinAddr: 0x14804, symSize: 0x48 } + - { offsetInCU: 0x63A, offset: 0x84BD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xC88, symBinAddr: 0x1484C, symSize: 0x3C } + - { offsetInCU: 0x64E, offset: 0x84BEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCC4, symBinAddr: 0x14888, symSize: 0x8 } + - { offsetInCU: 0x662, offset: 0x84BFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCCC, symBinAddr: 0x14890, symSize: 0x4 } + - { offsetInCU: 0x676, offset: 0x84C13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xCD0, symBinAddr: 0x14894, symSize: 0x4 } + - { offsetInCU: 0x68A, offset: 0x84C27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xCD4, symBinAddr: 0x14898, symSize: 0x10 } + - { offsetInCU: 0x712, offset: 0x84CAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D8, symBinAddr: 0x13FA8, symSize: 0x4 } + - { offsetInCU: 0x72E, offset: 0x84CCB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3DC, symBinAddr: 0x13FAC, symSize: 0x4 } + - { offsetInCU: 0x74A, offset: 0x84CE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3E0, symBinAddr: 0x13FB0, symSize: 0x4 } + - { offsetInCU: 0x766, offset: 0x84D03, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x3E4, symBinAddr: 0x13FB4, symSize: 0x4 } + - { offsetInCU: 0xA14, offset: 0x84FB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x13BD0, symSize: 0xA4 } + - { offsetInCU: 0xAAA, offset: 0x85047, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x148, symBinAddr: 0x13D18, symSize: 0x90 } + - { offsetInCU: 0xC31, offset: 0x851CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2E8, symBinAddr: 0x13EB8, symSize: 0x24 } + - { offsetInCU: 0xC7B, offset: 0x85218, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x334, symBinAddr: 0x13F04, symSize: 0x4 } + - { offsetInCU: 0xC9D, offset: 0x8523A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x3E8, symBinAddr: 0x13FB8, symSize: 0xE8 } + - { offsetInCU: 0xD4D, offset: 0x852EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x62C, symBinAddr: 0x141FC, symSize: 0x20 } + - { offsetInCU: 0xD61, offset: 0x852FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x64C, symBinAddr: 0x1421C, symSize: 0x30 } + - { offsetInCU: 0xD97, offset: 0x85334, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6B8, symBinAddr: 0x14288, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x8544D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x148AC, symSize: 0x4 } + - { offsetInCU: 0x71, offset: 0x85497, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x4, symBinAddr: 0x148B0, symSize: 0x70 } + - { offsetInCU: 0xF6, offset: 0x8551C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x78, symBinAddr: 0x14924, symSize: 0x50 } + - { offsetInCU: 0x191, offset: 0x855B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xCC, symBinAddr: 0x14978, symSize: 0x68 } + - { offsetInCU: 0x254, offset: 0x8567A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x138, symBinAddr: 0x149E4, symSize: 0x98 } + - { offsetInCU: 0x323, offset: 0x85749, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x220, symBinAddr: 0x14ACC, symSize: 0x3C } + - { offsetInCU: 0x375, offset: 0x8579B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x28C, symBinAddr: 0x14B38, symSize: 0x20 } + - { offsetInCU: 0x4E5, offset: 0x8590B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x148AC, symSize: 0x4 } + - { offsetInCU: 0x51D, offset: 0x85943, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x148AC, symSize: 0x4 } + - { offsetInCU: 0x588, offset: 0x859AE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x14920, symSize: 0x4 } + - { offsetInCU: 0x5C8, offset: 0x859EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x14920, symSize: 0x4 } + - { offsetInCU: 0x62A, offset: 0x85A50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x14974, symSize: 0x4 } + - { offsetInCU: 0x67C, offset: 0x85AA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x14974, symSize: 0x4 } + - { offsetInCU: 0x6F1, offset: 0x85B17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x149E0, symSize: 0x4 } + - { offsetInCU: 0x767, offset: 0x85B8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x149E0, symSize: 0x4 } + - { offsetInCU: 0x805, offset: 0x85C2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1D0, symBinAddr: 0x14A7C, symSize: 0x20 } + - { offsetInCU: 0x819, offset: 0x85C3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x1F0, symBinAddr: 0x14A9C, symSize: 0x30 } + - { offsetInCU: 0x84F, offset: 0x85C75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x25C, symBinAddr: 0x14B08, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x85CBF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x14B58, symSize: 0x14 } + - { offsetInCU: 0xA9, offset: 0x85D41, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x14, symBinAddr: 0x14B6C, symSize: 0x38 } + - { offsetInCU: 0x1A2, offset: 0x85E3A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x68, symBinAddr: 0x14BC0, symSize: 0x40 } + - { offsetInCU: 0x284, offset: 0x85F1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x118, symBinAddr: 0x14C70, symSize: 0x3C } + - { offsetInCU: 0x2D6, offset: 0x85F6E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0xF8, symBinAddr: 0x14C50, symSize: 0x20 } + - { offsetInCU: 0x480, offset: 0x86118, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x14B58, symSize: 0x14 } + - { offsetInCU: 0x5C4, offset: 0x8625C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x4C, symBinAddr: 0x14BA4, symSize: 0x1C } + - { offsetInCU: 0x6FA, offset: 0x86392, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0xA8, symBinAddr: 0x14C00, symSize: 0x20 } + - { offsetInCU: 0x70E, offset: 0x863A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0xC8, symBinAddr: 0x14C20, symSize: 0x30 } + - { offsetInCU: 0x744, offset: 0x863DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x154, symBinAddr: 0x14CAC, symSize: 0x30 } + - { offsetInCU: 0x61, offset: 0x86460, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x14CE0, symSize: 0x10 } + - { offsetInCU: 0x81, offset: 0x86480, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x14CE0, symSize: 0x10 } + - { offsetInCU: 0xB7, offset: 0x864B6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x14CF0, symSize: 0x10 } + - { offsetInCU: 0xD7, offset: 0x864D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x14CF0, symSize: 0x10 } + - { offsetInCU: 0x110, offset: 0x8650F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x24, symBinAddr: 0x14D00, symSize: 0x48 } + - { offsetInCU: 0x168, offset: 0x86567, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xB4, symBinAddr: 0x14D90, symSize: 0x50 } + - { offsetInCU: 0x1C3, offset: 0x865C2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x14DE0, symSize: 0x10 } + - { offsetInCU: 0x1E3, offset: 0x865E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x14DE0, symSize: 0x10 } + - { offsetInCU: 0x219, offset: 0x86618, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x14DF0, symSize: 0x10 } + - { offsetInCU: 0x239, offset: 0x86638, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x14DF0, symSize: 0x10 } + - { offsetInCU: 0x272, offset: 0x86671, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1B0, symBinAddr: 0x14E8C, symSize: 0x78 } + - { offsetInCU: 0x2C8, offset: 0x866C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x2D4, symBinAddr: 0x14FB0, symSize: 0xB0 } + - { offsetInCU: 0x32A, offset: 0x86729, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x43C, symBinAddr: 0x15118, symSize: 0x28 } + - { offsetInCU: 0x35C, offset: 0x8675B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x4E0, symBinAddr: 0x15140, symSize: 0xA0 } + - { offsetInCU: 0x3DD, offset: 0x867DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x5BC, symBinAddr: 0x151E0, symSize: 0x60 } + - { offsetInCU: 0x44D, offset: 0x8684C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x620, symBinAddr: 0x15244, symSize: 0x4C } + - { offsetInCU: 0x4BF, offset: 0x868BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x70C, symBinAddr: 0x15330, symSize: 0x34 } + - { offsetInCU: 0x533, offset: 0x86932, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x190, symBinAddr: 0x14E6C, symSize: 0x20 } + - { offsetInCU: 0x55D, offset: 0x8695C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x74C, symBinAddr: 0x15370, symSize: 0x10 } + - { offsetInCU: 0x65B, offset: 0x86A5A, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xA08, symBinAddr: 0x1562C, symSize: 0x74 } + - { offsetInCU: 0x699, offset: 0x86A98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x156A0, symSize: 0x10 } + - { offsetInCU: 0x6B9, offset: 0x86AB8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x156A0, symSize: 0x10 } + - { offsetInCU: 0x6EF, offset: 0x86AEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x156B0, symSize: 0x10 } + - { offsetInCU: 0x70F, offset: 0x86B0E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x156B0, symSize: 0x10 } + - { offsetInCU: 0x748, offset: 0x86B47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xA9C, symBinAddr: 0x156C0, symSize: 0x20 } + - { offsetInCU: 0x7A0, offset: 0x86B9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xABC, symBinAddr: 0x156E0, symSize: 0x14 } + - { offsetInCU: 0x7FB, offset: 0x86BFA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xAD0, symBinAddr: 0x156F4, symSize: 0x44 } + - { offsetInCU: 0x853, offset: 0x86C52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xB58, symBinAddr: 0x1577C, symSize: 0x48 } + - { offsetInCU: 0x8E8, offset: 0x86CE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xCBC, symBinAddr: 0x158E0, symSize: 0x78 } + - { offsetInCU: 0x93E, offset: 0x86D3D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xE34, symBinAddr: 0x15A58, symSize: 0xB0 } + - { offsetInCU: 0x9A0, offset: 0x86D9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x15BB4, symSize: 0x28 } + - { offsetInCU: 0x9D2, offset: 0x86DD1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0xFB8, symBinAddr: 0x15BDC, symSize: 0xB8 } + - { offsetInCU: 0xA53, offset: 0x86E52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x1074, symBinAddr: 0x15C94, symSize: 0x28 } + - { offsetInCU: 0xAB1, offset: 0x86EB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x10D8, symBinAddr: 0x15CF8, symSize: 0x10 } + - { offsetInCU: 0xC63, offset: 0x87062, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfC12CanvasNative15NSCTouchHandlerC7PointerV_Tgm5', symObjAddr: 0x130C, symBinAddr: 0x15E78, symSize: 0x80 } + - { offsetInCU: 0xCE6, offset: 0x870E5, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgm5', symObjAddr: 0x140C, symBinAddr: 0x15EF8, symSize: 0x6C } + - { offsetInCU: 0xD6A, offset: 0x87169, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x1630, symBinAddr: 0x1611C, symSize: 0x44 } + - { offsetInCU: 0xD7E, offset: 0x8717D, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x1674, symBinAddr: 0x16160, symSize: 0x44 } + - { offsetInCU: 0xD92, offset: 0x87191, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x16B8, symBinAddr: 0x161A4, symSize: 0x20 } + - { offsetInCU: 0xE6C, offset: 0x8726B, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x14FC, symBinAddr: 0x15FE8, symSize: 0x124 } + - { offsetInCU: 0x112B, offset: 0x8752A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x6C, symBinAddr: 0x14D48, symSize: 0x48 } + - { offsetInCU: 0x11A8, offset: 0x875A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x124, symBinAddr: 0x14E00, symSize: 0x6C } + - { offsetInCU: 0x11EF, offset: 0x875EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x228, symBinAddr: 0x14F04, symSize: 0xAC } + - { offsetInCU: 0x1253, offset: 0x87652, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x384, symBinAddr: 0x15060, symSize: 0xB8 } + - { offsetInCU: 0x12DE, offset: 0x876DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x61C, symBinAddr: 0x15240, symSize: 0x4 } + - { offsetInCU: 0x12FF, offset: 0x876FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x66C, symBinAddr: 0x15290, symSize: 0x74 } + - { offsetInCU: 0x1313, offset: 0x87712, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x6E0, symBinAddr: 0x15304, symSize: 0x2C } + - { offsetInCU: 0x142C, offset: 0x8782B, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x75C, symBinAddr: 0x15380, symSize: 0x2AC } + - { offsetInCU: 0x17D6, offset: 0x87BD5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xB14, symBinAddr: 0x15738, symSize: 0x44 } + - { offsetInCU: 0x1815, offset: 0x87C14, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xBA0, symBinAddr: 0x157C4, symSize: 0x48 } + - { offsetInCU: 0x183A, offset: 0x87C39, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xBE8, symBinAddr: 0x1580C, symSize: 0x44 } + - { offsetInCU: 0x185F, offset: 0x87C5E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xC2C, symBinAddr: 0x15850, symSize: 0x4 } + - { offsetInCU: 0x1886, offset: 0x87C85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xC30, symBinAddr: 0x15854, symSize: 0x20 } + - { offsetInCU: 0x189A, offset: 0x87C99, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xC50, symBinAddr: 0x15874, symSize: 0x6C } + - { offsetInCU: 0x18E1, offset: 0x87CE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xD88, symBinAddr: 0x159AC, symSize: 0xAC } + - { offsetInCU: 0x1940, offset: 0x87D3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0xEE4, symBinAddr: 0x15B08, symSize: 0xAC } + - { offsetInCU: 0x19DE, offset: 0x87DDD, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x10E8, symBinAddr: 0x15D08, symSize: 0xBC } + - { offsetInCU: 0x1AC0, offset: 0x87EBF, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x1258, symBinAddr: 0x15DC4, symSize: 0xB4 } + - { offsetInCU: 0x1BCC, offset: 0x87FCB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x1478, symBinAddr: 0x15F64, symSize: 0x84 } + - { offsetInCU: 0x1CC5, offset: 0x880C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x16D8, symBinAddr: 0x161C4, symSize: 0x360 } + - { offsetInCU: 0x4F, offset: 0x88502, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x980, symBinAddr: 0x10D3E50, symSize: 0x0 } + - { offsetInCU: 0x5D, offset: 0x88510, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x16710, symSize: 0x2C } + - { offsetInCU: 0x75, offset: 0x88528, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x2C, symBinAddr: 0x1673C, symSize: 0x10C } + - { offsetInCU: 0xBC, offset: 0x8856F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x13C, symBinAddr: 0x1684C, symSize: 0x44 } + - { offsetInCU: 0x132, offset: 0x885E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3E4, symBinAddr: 0x16AF4, symSize: 0x80 } + - { offsetInCU: 0x191, offset: 0x88644, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x4B4, symBinAddr: 0x16BC4, symSize: 0x3C } + - { offsetInCU: 0x1E2, offset: 0x88695, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x524, symBinAddr: 0x16C34, symSize: 0x214 } + - { offsetInCU: 0x261, offset: 0x88714, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x520, symBinAddr: 0x16C30, symSize: 0x4 } + - { offsetInCU: 0x29D, offset: 0x88750, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x738, symBinAddr: 0x16E48, symSize: 0x20 } + - { offsetInCU: 0x2BC, offset: 0x8876F, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x77C, symBinAddr: 0x16E8C, symSize: 0x14 } + - { offsetInCU: 0x2E5, offset: 0x88798, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x7BC, symBinAddr: 0x16ECC, symSize: 0xC } + - { offsetInCU: 0x2F9, offset: 0x887AC, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x7C8, symBinAddr: 0x16ED8, symSize: 0x10 } + - { offsetInCU: 0x30D, offset: 0x887C0, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x7D8, symBinAddr: 0x16EE8, symSize: 0x8 } + - { offsetInCU: 0x321, offset: 0x887D4, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGMa', symObjAddr: 0x860, symBinAddr: 0x16F30, symSize: 0x54 } + - { offsetInCU: 0x335, offset: 0x887E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8F0, symBinAddr: 0x16F84, symSize: 0x24 } + - { offsetInCU: 0x369, offset: 0x8881C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x938, symBinAddr: 0x16FCC, symSize: 0x24 } + - { offsetInCU: 0x4FE, offset: 0x889B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x16848, symSize: 0x4 } + - { offsetInCU: 0x52C, offset: 0x889DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x16848, symSize: 0x4 } + - { offsetInCU: 0x58B, offset: 0x88A3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x180, symBinAddr: 0x16890, symSize: 0x4 } + - { offsetInCU: 0x59F, offset: 0x88A52, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x184, symBinAddr: 0x16894, symSize: 0x260 } + - { offsetInCU: 0x678, offset: 0x88B2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x464, symBinAddr: 0x16B74, symSize: 0x20 } + - { offsetInCU: 0x68C, offset: 0x88B3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x484, symBinAddr: 0x16B94, symSize: 0x30 } + - { offsetInCU: 0x6C2, offset: 0x88B75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4F0, symBinAddr: 0x16C00, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x88C1B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x17004, symSize: 0x20 } + - { offsetInCU: 0x77, offset: 0x88C6B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x17074, symSize: 0x3C } + - { offsetInCU: 0xC9, offset: 0x88CBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x17054, symSize: 0x20 } + - { offsetInCU: 0x214, offset: 0x88E08, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x17004, symSize: 0x20 } + - { offsetInCU: 0x228, offset: 0x88E1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x17024, symSize: 0x30 } + - { offsetInCU: 0x264, offset: 0x88E58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xAC, symBinAddr: 0x170B0, symSize: 0x30 } + - { offsetInCU: 0x26, offset: 0x88EA1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2B8E40, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0x88EBB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9DE0, symBinAddr: 0x9A41C0, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0x88F0D, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFDE0, symBinAddr: 0x9AA1C0, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0x88F71, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE08, symBinAddr: 0x9AA1E8, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0x88F87, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10210, symBinAddr: 0x9AA5F0, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0x88F9E, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE50, symBinAddr: 0x9AA230, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0x8983D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2B8E40, symSize: 0x265C } + - { offsetInCU: 0x45CD, offset: 0x8D448, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x2BB49C, symSize: 0x134 } + - { offsetInCU: 0x46F3, offset: 0x8D56E, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9918, symBinAddr: 0x2C2758, symSize: 0x21C } + - { offsetInCU: 0x4922, offset: 0x8D79D, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FDC, symBinAddr: 0x2BDE1C, symSize: 0x1B8 } + - { offsetInCU: 0x530F, offset: 0x8E18A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x2BB5D0, symSize: 0x5BC } + - { offsetInCU: 0x5F72, offset: 0x8EDED, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x2BBB8C, symSize: 0x7F8 } + - { offsetInCU: 0x642A, offset: 0x8F2A5, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x2BC384, symSize: 0x208 } + - { offsetInCU: 0x69F8, offset: 0x8F873, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x2BC58C, symSize: 0x7B0 } + - { offsetInCU: 0x77D8, offset: 0x90653, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3EFC, symBinAddr: 0x2BCD3C, symSize: 0x634 } + - { offsetInCU: 0x8199, offset: 0x91014, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4530, symBinAddr: 0x2BD370, symSize: 0xAAC } + - { offsetInCU: 0x956A, offset: 0x923E5, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x5298, symBinAddr: 0x2BE0D8, symSize: 0x23F8 } + - { offsetInCU: 0xCABB, offset: 0x95936, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5194, symBinAddr: 0x2BDFD4, symSize: 0x104 } + - { offsetInCU: 0xCD03, offset: 0x95B7E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7690, symBinAddr: 0x2C04D0, symSize: 0x30 } + - { offsetInCU: 0xCDF4, offset: 0x95C6F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C0, symBinAddr: 0x2C0500, symSize: 0x58 } + - { offsetInCU: 0xCE69, offset: 0x95CE4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x2C0558, symSize: 0x4 } + - { offsetInCU: 0xCEB1, offset: 0x95D2C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x2C0558, symSize: 0x4 } + - { offsetInCU: 0xCEE0, offset: 0x95D5B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x7718, symBinAddr: 0x2C0558, symSize: 0x4 } + - { offsetInCU: 0xCF04, offset: 0x95D7F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x771C, symBinAddr: 0x2C055C, symSize: 0x8C } + - { offsetInCU: 0xD039, offset: 0x95EB4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x2C05E8, symSize: 0x4 } + - { offsetInCU: 0xD072, offset: 0x95EED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77A8, symBinAddr: 0x2C05E8, symSize: 0x4 } + - { offsetInCU: 0xD30B, offset: 0x96186, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77AC, symBinAddr: 0x2C05EC, symSize: 0x1598 } + - { offsetInCU: 0x10654, offset: 0x994CF, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B34, symBinAddr: 0x2C2974, symSize: 0x218 } + - { offsetInCU: 0x10C86, offset: 0x99B01, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D44, symBinAddr: 0x2C1B84, symSize: 0x20 } + - { offsetInCU: 0x11123, offset: 0x99F9E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8D64, symBinAddr: 0x2C1BA4, symSize: 0xBB4 } + - { offsetInCU: 0x26, offset: 0x9AD81, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2C2B8C, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0x9AF2D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2C2B8C, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0x9B1C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2C2D80, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0x9B1D6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2C2D80, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0x9B2E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2C2DBC, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0x9B2F4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2C2DBC, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0x9B457, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x9AA6A0, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0x9B489, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x9AA630, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0x9B4AB, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x9AA660, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0x9B4C1, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x9AA690, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0x9B788, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2C2E54, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0x9B7CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2C2E54, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0x9B965, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x2C2E6C, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0x9BA10, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x2C2E84, symSize: 0x320 } + - { offsetInCU: 0x1199, offset: 0x9C56A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x2C31A4, symSize: 0xAC } + - { offsetInCU: 0x148F, offset: 0x9C860, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x2C3250, symSize: 0x500 } + - { offsetInCU: 0x268C, offset: 0x9DA5D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x2C3750, symSize: 0x2C8 } + - { offsetInCU: 0x2CDB, offset: 0x9E0AC, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x2C3A18, symSize: 0xF4 } + - { offsetInCU: 0x2EED, offset: 0x9E2BE, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x2C3B0C, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0x9E623, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2C3C74, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0x9E6F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2C3C74, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0x9E729, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2C3C74, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0x9E796, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2C3CAC, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0x9E7F0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2C3CAC, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0x9E918, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x2C3CE8, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0x9EB14, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x2C3D44, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0x9EC33, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x2C3D60, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0x9ECD6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x2C3DB4, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0x9EEA4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x2C3E00, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0x9EF08, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x2C3E00, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0x9F1A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2C3EA8, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0x9F249, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2C3EA8, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0x9F4DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x2C3FB8, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0x9F55B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x2C3FB8, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0x9F6DE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x2C4068, symSize: 0x178 } + - { offsetInCU: 0x13AB, offset: 0x9F9A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x56C, symBinAddr: 0x2C41E0, symSize: 0x1F4 } + - { offsetInCU: 0x1500, offset: 0x9FAFD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x760, symBinAddr: 0x2C43D4, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0x9FB64, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x778, symBinAddr: 0x2C43EC, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0x9FB9D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x784, symBinAddr: 0x2C43F8, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0x9FC21, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x78C, symBinAddr: 0x2C4400, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0x9FDD4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2C443C, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0x9FDE2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2C443C, symSize: 0x170 } + - { offsetInCU: 0x34, offset: 0x9FEE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x374, symBinAddr: 0x10DAFE0, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0x9FF2A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2C45AC, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0x9FF7A, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x9AB000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0x9FFFE, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x9D0000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xA025F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2C45AC, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xA0B6A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x2C4934, symSize: 0x204 } + - { offsetInCU: 0x1171, offset: 0xA1075, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x2C4B38, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xA144A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2C4D00, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xA148A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2C4D00, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xA1498, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x2C4EA0, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xA14BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x2C4F00, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xA14AC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2C5190, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xA14E4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2C5190, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xA14FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x2C52C0, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xA1511, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x2C5330, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xA1516, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x2C5490, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xA1524, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2C5820, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xA155C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2C5820, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xA1560, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x2C5BC0, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xA157A, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x2C6280, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xA15C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0x2C7500, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xA15DC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0x2C8680, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xA15D2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C9AA0, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xA1607, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C9AA0, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xA160F, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0x2C9CE0, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xA1625, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0x2CA6C0, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xA1634, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2CAD20, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xA166B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2CAD20, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xA1681, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0x2CAD60, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xA169A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0x2CADA0, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xA16A5, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0x2CADE0, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xA16BB, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0x2CAFC0, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xA16CF, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0x2CB130, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xA16E7, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0x2CB180, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xA16FD, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0x2CB1D0, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xA1713, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0x2CB220, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xA1735, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0x2CB280, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xA1748, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0x2CB460, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xA1765, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0x2CB7C0, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xA177A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0x2CBA90, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xA1794, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0x2CBD40, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xA17A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0x2CBF90, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xA17BE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0x2CBFF0, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xA17B4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2CC040, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xA17F0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2CC040, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xA1806, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0x2CCBD0, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xA1800, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2CD780, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1841, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2CD780, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1841, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x2CE5C0, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xA184C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2CEDC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA188D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2CEDC0, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA188D, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x2CFC00, symSize: 0x1F0 } ... diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative index 237779620..6d66cfdc1 100755 Binary files a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative and b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative differ diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h index 4bed6cba0..4ea7f78e9 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h @@ -345,6 +345,7 @@ SWIFT_CLASS_NAMED("CanvasHelpers") + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image sx:(float)sx sy:(float)sy sw:(float)sw sh:(float)sh dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; ++ (int64_t)initWebGPUWithViewLayer:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initWebGPUWithView:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initSharedGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas :(int64_t)shared_context SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; @@ -829,6 +830,7 @@ SWIFT_CLASS_NAMED("CanvasHelpers") + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; + (void)drawImageWithContext:(int64_t)context image:(UIImage * _Nonnull)image sx:(float)sx sy:(float)sy sw:(float)sw sh:(float)sh dx:(float)dx dy:(float)dy dw:(float)dw dh:(float)dh; ++ (int64_t)initWebGPUWithViewLayer:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initWebGPUWithView:(int64_t)instance :(int64_t)view :(uint32_t)width :(uint32_t)height SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; + (int64_t)initSharedGLWithView:(int64_t)view :(BOOL)alpha :(BOOL)antialias :(BOOL)depth :(BOOL)fail_if_major_performance_caveat :(int32_t)power_preference :(BOOL)premultiplied_alpha :(BOOL)preserve_drawing_buffer :(BOOL)stencil :(BOOL)desynchronized :(BOOL)xr_compatible :(int32_t)version :(BOOL)is_canvas :(int64_t)shared_context SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT; diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h index a0a6d50ff..05b87959f 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h @@ -13,6 +13,13 @@ long long canvas_native_init_ios_webgpu(int64_t instance, uint32_t width, uint32_t height); +#if defined(TARGET_OS_IOS) +long long canvas_native_init_ios_webgpu_uiview(int64_t instance, + int64_t view, + uint32_t width, + uint32_t height); +#endif + long long canvas_native_init_ios_gl(int64_t view, bool alpha, bool antialias, diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h index 278620801..b299e05f8 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h @@ -15,59 +15,59 @@ typedef enum CanvasAstcBlock { /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). */ - B4x4, + CanvasAstcBlockB4x4, /** * 5x4 block compressed texture. 16 bytes per block (6.4 bit/px). */ - B5x4, + CanvasAstcBlockB5x4, /** * 5x5 block compressed texture. 16 bytes per block (5.12 bit/px). */ - B5x5, + CanvasAstcBlockB5x5, /** * 6x5 block compressed texture. 16 bytes per block (4.27 bit/px). */ - B6x5, + CanvasAstcBlockB6x5, /** * 6x6 block compressed texture. 16 bytes per block (3.56 bit/px). */ - B6x6, + CanvasAstcBlockB6x6, /** * 8x5 block compressed texture. 16 bytes per block (3.2 bit/px). */ - B8x5, + CanvasAstcBlockB8x5, /** * 8x6 block compressed texture. 16 bytes per block (2.67 bit/px). */ - B8x6, + CanvasAstcBlockB8x6, /** * 8x8 block compressed texture. 16 bytes per block (2 bit/px). */ - B8x8, + CanvasAstcBlockB8x8, /** * 10x5 block compressed texture. 16 bytes per block (2.56 bit/px). */ - B10x5, + CanvasAstcBlockB10x5, /** * 10x6 block compressed texture. 16 bytes per block (2.13 bit/px). */ - B10x6, + CanvasAstcBlockB10x6, /** * 10x8 block compressed texture. 16 bytes per block (1.6 bit/px). */ - B10x8, + CanvasAstcBlockB10x8, /** * 10x10 block compressed texture. 16 bytes per block (1.28 bit/px). */ - B10x10, + CanvasAstcBlockB10x10, /** * 12x10 block compressed texture. 16 bytes per block (1.07 bit/px). */ - B12x10, + CanvasAstcBlockB12x10, /** * 12x12 block compressed texture. 16 bytes per block (0.89 bit/px). */ - B12x12, + CanvasAstcBlockB12x12, } CanvasAstcBlock; /** @@ -79,86 +79,299 @@ typedef enum CanvasAstcChannel { * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - Unorm, + CanvasAstcChannelUnorm, /** * 8 bit integer RGBA, Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ASTC`] must be enabled to use this channel. */ - UnormSrgb, + CanvasAstcChannelUnormSrgb, /** * floating-point RGBA, linear-color float can be outside of the [0, 1] range. * * [`Features::TEXTURE_COMPRESSION_ASTC_HDR`] must be enabled to use this channel. */ - Hdr, + CanvasAstcChannelHdr, } CanvasAstcChannel; +typedef enum CanvasBlendFactor { + /** + * 0.0 + */ + CanvasBlendFactorZero = 0, + /** + * 1.0 + */ + CanvasBlendFactorOne = 1, + /** + * S.component + */ + CanvasBlendFactorSrc = 2, + /** + * 1.0 - S.component + */ + CanvasBlendFactorOneMinusSrc = 3, + /** + * S.alpha + */ + CanvasBlendFactorSrcAlpha = 4, + /** + * 1.0 - S.alpha + */ + CanvasBlendFactorOneMinusSrcAlpha = 5, + /** + * D.component + */ + CanvasBlendFactorDst = 6, + /** + * 1.0 - D.component + */ + CanvasBlendFactorOneMinusDst = 7, + /** + * D.alpha + */ + CanvasBlendFactorDstAlpha = 8, + /** + * 1.0 - D.alpha + */ + CanvasBlendFactorOneMinusDstAlpha = 9, + /** + * min(S.alpha, 1.0 - D.alpha) + */ + CanvasBlendFactorSrcAlphaSaturated = 10, + /** + * Constant + */ + CanvasBlendFactorConstant = 11, + /** + * 1.0 - Constant + */ + CanvasBlendFactorOneMinusConstant = 12, + /** + * S1.component + */ + CanvasBlendFactorSrc1 = 13, + /** + * 1.0 - S1.component + */ + CanvasBlendFactorOneMinusSrc1 = 14, + /** + * S1.alpha + */ + CanvasBlendFactorSrc1Alpha = 15, + /** + * 1.0 - S1.alpha + */ + CanvasBlendFactorOneMinusSrc1Alpha = 16, +} CanvasBlendFactor; + +typedef enum CanvasBlendOperation { + /** + * Src + Dst + */ + CanvasBlendOperationAdd = 0, + /** + * Src - Dst + */ + CanvasBlendOperationSubtract = 1, + /** + * Dst - Src + */ + CanvasBlendOperationReverseSubtract = 2, + /** + * min(Src, Dst) + */ + CanvasBlendOperationMin = 3, + /** + * max(Src, Dst) + */ + CanvasBlendOperationMax = 4, +} CanvasBlendOperation; + +typedef enum CanvasCompareFunction { + CanvasCompareFunctionNever = 1, + CanvasCompareFunctionLess = 2, + CanvasCompareFunctionEqual = 3, + CanvasCompareFunctionLessEqual = 4, + CanvasCompareFunctionGreater = 5, + CanvasCompareFunctionNotEqual = 6, + CanvasCompareFunctionGreaterEqual = 7, + CanvasCompareFunctionAlways = 8, +} CanvasCompareFunction; + +typedef enum CanvasCullMode { + CanvasCullModeNone, + CanvasCullModeFront, + CanvasCullModeBack, +} CanvasCullMode; + +typedef enum CanvasFrontFace { + CanvasFrontFaceCcw = 0, + CanvasFrontFaceCw = 1, +} CanvasFrontFace; + +typedef enum CanvasGPUAutoLayoutMode { + CanvasGPUAutoLayoutModeAuto, +} CanvasGPUAutoLayoutMode; + typedef enum CanvasGPUPowerPreference { - None, - LowPower, - HighPerformance, + CanvasGPUPowerPreferenceNone, + CanvasGPUPowerPreferenceLowPower, + CanvasGPUPowerPreferenceHighPerformance, } CanvasGPUPowerPreference; typedef enum CanvasGPUPresentMode { - AutoVsync = 0, - AutoNoVsync = 1, - Fifo = 2, - FifoRelaxed = 3, - Immediate = 4, - Mailbox = 5, + CanvasGPUPresentModeAutoVsync = 0, + CanvasGPUPresentModeAutoNoVsync = 1, + CanvasGPUPresentModeFifo = 2, + CanvasGPUPresentModeFifoRelaxed = 3, + CanvasGPUPresentModeImmediate = 4, + CanvasGPUPresentModeMailbox = 5, } CanvasGPUPresentMode; typedef enum CanvasGPUSurfaceAlphaMode { - Auto = 0, - Opaque = 1, - PreMultiplied = 2, - PostMultiplied = 3, - Inherit = 4, + CanvasGPUSurfaceAlphaModeAuto = 0, + CanvasGPUSurfaceAlphaModeOpaque = 1, + CanvasGPUSurfaceAlphaModePreMultiplied = 2, + CanvasGPUSurfaceAlphaModePostMultiplied = 3, + CanvasGPUSurfaceAlphaModeInherit = 4, } CanvasGPUSurfaceAlphaMode; +typedef enum CanvasIndexFormat { + /** + * Indices are 16 bit unsigned integers. + */ + CanvasIndexFormatUint16 = 0, + /** + * Indices are 32 bit unsigned integers. + */ + CanvasIndexFormatUint32 = 1, +} CanvasIndexFormat; + +typedef enum CanvasLoadOp { + CanvasLoadOpClear = 0, + CanvasLoadOpLoad = 1, +} CanvasLoadOp; + +typedef enum CanvasOptionalTextureViewDimension { + CanvasOptionalTextureViewDimensionNone, + CanvasOptionalTextureViewDimensionD1, + CanvasOptionalTextureViewDimensionD2, + CanvasOptionalTextureViewDimensionD2Array, + CanvasOptionalTextureViewDimensionCube, + CanvasOptionalTextureViewDimensionCubeArray, + CanvasOptionalTextureViewDimensionD3, +} CanvasOptionalTextureViewDimension; + +typedef enum CanvasPrimitiveTopology { + CanvasPrimitiveTopologyPointList = 0, + CanvasPrimitiveTopologyLineList = 1, + CanvasPrimitiveTopologyLineStrip = 2, + CanvasPrimitiveTopologyTriangleList = 3, + CanvasPrimitiveTopologyTriangleStrip = 4, +} CanvasPrimitiveTopology; + +typedef enum CanvasStencilOperation { + CanvasStencilOperationKeep = 0, + CanvasStencilOperationZero = 1, + CanvasStencilOperationReplace = 2, + CanvasStencilOperationInvert = 3, + CanvasStencilOperationIncrementClamp = 4, + CanvasStencilOperationDecrementClamp = 5, + CanvasStencilOperationIncrementWrap = 6, + CanvasStencilOperationDecrementWrap = 7, +} CanvasStencilOperation; + +typedef enum CanvasStoreOp { + CanvasStoreOpDiscard = 0, + CanvasStoreOpStore = 1, +} CanvasStoreOp; + typedef enum CanvasTextureAspect { /** * Depth, Stencil, and Color. */ - All, + CanvasTextureAspectAll, /** * Stencil. */ - StencilOnly, + CanvasTextureAspectStencilOnly, /** * Depth. */ - DepthOnly, + CanvasTextureAspectDepthOnly, /** * Plane 0. */ - Plane0, + CanvasTextureAspectPlane0, /** * Plane 1. */ - Plane1, + CanvasTextureAspectPlane1, /** * Plane 2. */ - Plane2, + CanvasTextureAspectPlane2, } CanvasTextureAspect; typedef enum CanvasTextureDimension { - D1, - D2, - D3, + CanvasTextureDimensionD1, + CanvasTextureDimensionD2, + CanvasTextureDimensionD3, } CanvasTextureDimension; +typedef enum CanvasVertexFormat { + CanvasVertexFormatUint8x2 = 0, + CanvasVertexFormatUint8x4 = 1, + CanvasVertexFormatSint8x2 = 2, + CanvasVertexFormatSint8x4 = 3, + CanvasVertexFormatUnorm8x2 = 4, + CanvasVertexFormatUnorm8x4 = 5, + CanvasVertexFormatSnorm8x2 = 6, + CanvasVertexFormatSnorm8x4 = 7, + CanvasVertexFormatUint16x2 = 8, + CanvasVertexFormatUint16x4 = 9, + CanvasVertexFormatSint16x2 = 10, + CanvasVertexFormatSint16x4 = 11, + CanvasVertexFormatUnorm16x2 = 12, + CanvasVertexFormatUnorm16x4 = 13, + CanvasVertexFormatSnorm16x2 = 14, + CanvasVertexFormatSnorm16x4 = 15, + CanvasVertexFormatFloat16x2 = 16, + CanvasVertexFormatFloat16x4 = 17, + CanvasVertexFormatFloat32 = 18, + CanvasVertexFormatFloat32x2 = 19, + CanvasVertexFormatFloat32x3 = 20, + CanvasVertexFormatFloat32x4 = 21, + CanvasVertexFormatUint32 = 22, + CanvasVertexFormatUint32x2 = 23, + CanvasVertexFormatUint32x3 = 24, + CanvasVertexFormatUint32x4 = 25, + CanvasVertexFormatSint32 = 26, + CanvasVertexFormatSint32x2 = 27, + CanvasVertexFormatSint32x3 = 28, + CanvasVertexFormatSint32x4 = 29, + CanvasVertexFormatFloat64 = 30, + CanvasVertexFormatFloat64x2 = 31, + CanvasVertexFormatFloat64x3 = 32, + CanvasVertexFormatFloat64x4 = 33, + CanvasVertexFormatUnorm10_10_10_2 = 34, +} CanvasVertexFormat; + +typedef enum CanvasVertexStepMode { + CanvasVertexStepModeVertex = 0, + CanvasVertexStepModeInstance = 1, +} CanvasVertexStepMode; + typedef enum GLConstants { - UNPACK_FLIP_Y_WEBGL = 37440, - UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441, - UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443, + GLConstantsUnPackFlipYWebGL = 37440, + GLConstantsUnpackPremultiplyAlphaWebGL = 37441, + GLConstantsUnpackColorSpaceConversionWebGL = 37443, } GLConstants; typedef enum GPUMapMode { - Read, - Write, + GPUMapModeRead, + GPUMapModeWrite, } GPUMapMode; typedef enum ImageBitmapColorSpaceConversion { @@ -169,7 +382,7 @@ typedef enum ImageBitmapColorSpaceConversion { typedef enum ImageBitmapPremultiplyAlpha { ImageBitmapPremultiplyAlphaDefault, ImageBitmapPremultiplyAlphaPremultiply, - ImageBitmapPremultiplyAlphaNone, + ImageBitmapPremultiplyAlphaAlphaNone, } ImageBitmapPremultiplyAlpha; typedef enum ImageBitmapResizeQuality { @@ -193,41 +406,41 @@ typedef enum PaintStyleType { } PaintStyleType; typedef enum TextBaseLine { - TOP = 0, - HANGING = 1, - MIDDLE = 2, - ALPHABETIC = 3, - IDEOGRAPHIC = 4, - BOTTOM = 5, + TextBaseLineTOP = 0, + TextBaseLineHANGING = 1, + TextBaseLineMIDDLE = 2, + TextBaseLineALPHABETIC = 3, + TextBaseLineIDEOGRAPHIC = 4, + TextBaseLineBOTTOM = 5, } TextBaseLine; typedef enum WebGLExtensionType { - WebGLExtensionTypeEXT_blend_minmax, - WebGLExtensionTypeEXT_color_buffer_half_float, - WebGLExtensionTypeEXT_disjoint_timer_query, - WebGLExtensionTypeEXT_sRGB, - WebGLExtensionTypeEXT_shader_texture_lod, - WebGLExtensionTypeEXT_texture_filter_anisotropic, - WebGLExtensionTypeOES_element_index_uint, - WebGLExtensionTypeOES_standard_derivatives, - WebGLExtensionTypeOES_texture_float, - WebGLExtensionTypeOES_texture_float_linear, - WebGLExtensionTypeOES_texture_half_float, - WebGLExtensionTypeOES_texture_half_float_linear, - WebGLExtensionTypeOES_vertex_array_object, - WebGLExtensionTypeWEBGL_color_buffer_float, - WebGLExtensionTypeWEBGL_compressed_texture_atc, - WebGLExtensionTypeWEBGL_compressed_texture_etc1, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc, - WebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, - WebGLExtensionTypeWEBGL_compressed_texture_etc, - WebGLExtensionTypeWEBGL_compressed_texture_pvrtc, - WebGLExtensionTypeWEBGL_lose_context, - WebGLExtensionTypeANGLE_instanced_arrays, - WebGLExtensionTypeWEBGL_depth_texture, - WebGLExtensionTypeWEBGL_draw_buffers, - WebGLExtensionTypeOES_fbo_render_mipmap, - WebGLExtensionTypeNone, + WebGLExtensionTypeWebGLExtensionTypeEXT_blend_minmax, + WebGLExtensionTypeWebGLExtensionTypeEXT_color_buffer_half_float, + WebGLExtensionTypeWebGLExtensionTypeEXT_disjoint_timer_query, + WebGLExtensionTypeWebGLExtensionTypeEXT_sRGB, + WebGLExtensionTypeWebGLExtensionTypeEXT_shader_texture_lod, + WebGLExtensionTypeWebGLExtensionTypeEXT_texture_filter_anisotropic, + WebGLExtensionTypeWebGLExtensionTypeOES_element_index_uint, + WebGLExtensionTypeWebGLExtensionTypeOES_standard_derivatives, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float, + WebGLExtensionTypeWebGLExtensionTypeOES_texture_half_float_linear, + WebGLExtensionTypeWebGLExtensionTypeOES_vertex_array_object, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_color_buffer_float, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_atc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc1, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_s3tc_srgb, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_etc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_compressed_texture_pvrtc, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_lose_context, + WebGLExtensionTypeWebGLExtensionTypeANGLE_instanced_arrays, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_depth_texture, + WebGLExtensionTypeWebGLExtensionTypeWEBGL_draw_buffers, + WebGLExtensionTypeWebGLExtensionTypeOES_fbo_render_mipmap, + WebGLExtensionTypeWebGLExtensionTypeNone, } WebGLExtensionType; typedef enum WebGLResultType { @@ -247,10 +460,16 @@ typedef struct ANGLE_instanced_arrays ANGLE_instanced_arrays; typedef struct CCow CCow; +typedef struct CanvasConstants CanvasConstants; + typedef struct CanvasGPUAdapter CanvasGPUAdapter; typedef struct CanvasGPUAdapterInfo CanvasGPUAdapterInfo; +typedef struct CanvasGPUBindGroup CanvasGPUBindGroup; + +typedef struct CanvasGPUBindGroupLayout CanvasGPUBindGroupLayout; + typedef struct CanvasGPUBuffer CanvasGPUBuffer; typedef struct CanvasGPUCanvasContext CanvasGPUCanvasContext; @@ -263,14 +482,28 @@ typedef struct CanvasGPUComputePass CanvasGPUComputePass; typedef struct CanvasGPUDevice CanvasGPUDevice; +typedef struct CanvasGPUPipelineLayout CanvasGPUPipelineLayout; + typedef struct CanvasGPUQuerySet CanvasGPUQuerySet; typedef struct CanvasGPUQueue CanvasGPUQueue; +typedef struct CanvasGPURenderBundle CanvasGPURenderBundle; + +typedef struct CanvasGPURenderPass CanvasGPURenderPass; + +typedef struct CanvasGPURenderPipeline CanvasGPURenderPipeline; + typedef struct CanvasGPUShaderModule CanvasGPUShaderModule; typedef struct CanvasGPUTexture CanvasGPUTexture; +typedef struct CanvasGPUTextureView CanvasGPUTextureView; + +typedef struct CanvasImageDataLayout CanvasImageDataLayout; + +typedef struct CanvasRenderPassDepthStencilAttachment CanvasRenderPassDepthStencilAttachment; + typedef struct CanvasRenderingContext2D CanvasRenderingContext2D; typedef struct CanvasWebGPUInstance CanvasWebGPUInstance; @@ -423,6 +656,32 @@ typedef struct CanvasGPUSupportedLimits { uint32_t max_non_sampler_bindings; } CanvasGPUSupportedLimits; +typedef struct CanvasColor { + double r; + double g; + double b; + double a; +} CanvasColor; +#define CanvasColor_TRANSPARENT (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 0.0 } +#define CanvasColor_BLACK (CanvasColor){ .r = 0.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_WHITE (CanvasColor){ .r = 1.0, .g = 1.0, .b = 1.0, .a = 1.0 } +#define CanvasColor_RED (CanvasColor){ .r = 1.0, .g = 0.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_GREEN (CanvasColor){ .r = 0.0, .g = 1.0, .b = 0.0, .a = 1.0 } +#define CanvasColor_BLUE (CanvasColor){ .r = 0.0, .g = 0.0, .b = 1.0, .a = 1.0 } + +typedef struct CanvasPassChannelColor { + enum CanvasLoadOp load_op; + enum CanvasStoreOp store_op; + struct CanvasColor clear_value; + bool read_only; +} CanvasPassChannelColor; + +typedef struct CanvasRenderPassColorAttachment { + const struct CanvasGPUTextureView *view; + const struct CanvasGPUTextureView *resolve_target; + struct CanvasPassChannelColor channel; +} CanvasRenderPassColorAttachment; + typedef struct CanvasImageCopyBuffer { const struct CanvasGPUBuffer *buffer; uint64_t offset; @@ -467,217 +726,277 @@ typedef struct CanvasExtent3d { uint32_t depth_or_array_layers; } CanvasExtent3d; +typedef enum CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag { + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeLayout, + CanvasGPUPipelineLayoutOrGPUAutoLayoutModeAuto, +} CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag; + +typedef struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode { + CanvasGPUPipelineLayoutOrGPUAutoLayoutMode_Tag tag; + union { + struct { + const struct CanvasGPUPipelineLayout *layout; + }; + struct { + enum CanvasGPUAutoLayoutMode auto_; + }; + }; +} CanvasGPUPipelineLayoutOrGPUAutoLayoutMode; + +typedef struct CanvasVertexAttribute { + enum CanvasVertexFormat format; + uint64_t offset; + uint32_t shader_location; +} CanvasVertexAttribute; + +typedef struct CanvasVertexBufferLayout { + uint64_t array_stride; + enum CanvasVertexStepMode step_mode; + const struct CanvasVertexAttribute *attributes; + uintptr_t attributes_size; +} CanvasVertexBufferLayout; + +typedef struct CanvasVertexState { + const struct CanvasGPUShaderModule *module; + const char *entry_point; + const struct CanvasConstants *constants; + const struct CanvasVertexBufferLayout *buffers; + uintptr_t buffers_size; +} CanvasVertexState; + +typedef enum CanvasOptionalIndexFormat_Tag { + CanvasOptionalIndexFormatNone, + CanvasOptionalIndexFormatSome, +} CanvasOptionalIndexFormat_Tag; + +typedef struct CanvasOptionalIndexFormat { + CanvasOptionalIndexFormat_Tag tag; + union { + struct { + enum CanvasIndexFormat some; + }; + }; +} CanvasOptionalIndexFormat; + +typedef struct CanvasPrimitiveState { + enum CanvasPrimitiveTopology topology; + struct CanvasOptionalIndexFormat strip_index_format; + enum CanvasFrontFace front_face; + enum CanvasCullMode cull_mode; + bool unclipped_depth; +} CanvasPrimitiveState; + typedef enum CanvasGPUTextureFormat_Tag { /** * Red channel only. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - R8Unorm, + CanvasGPUTextureFormatR8Unorm, /** * Red channel only. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - R8Snorm, + CanvasGPUTextureFormatR8Snorm, /** * Red channel only. 8 bit integer per channel. Unsigned in shader. */ - R8Uint, + CanvasGPUTextureFormatR8Uint, /** * Red channel only. 8 bit integer per channel. Signed in shader. */ - R8Sint, + CanvasGPUTextureFormatR8Sint, /** * Red channel only. 16 bit integer per channel. Unsigned in shader. */ - R16Uint, + CanvasGPUTextureFormatR16Uint, /** * Red channel only. 16 bit integer per channel. Signed in shader. */ - R16Sint, + CanvasGPUTextureFormatR16Sint, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Unorm, + CanvasGPUTextureFormatR16Unorm, /** * Red channel only. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - R16Snorm, + CanvasGPUTextureFormatR16Snorm, /** * Red channel only. 16 bit float per channel. Float in shader. */ - R16Float, + CanvasGPUTextureFormatR16Float, /** * Red and green channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rg8Unorm, + CanvasGPUTextureFormatRg8Unorm, /** * Red and green channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rg8Snorm, + CanvasGPUTextureFormatRg8Snorm, /** * Red and green channels. 8 bit integer per channel. Unsigned in shader. */ - Rg8Uint, + CanvasGPUTextureFormatRg8Uint, /** * Red and green channels. 8 bit integer per channel. Signed in shader. */ - Rg8Sint, + CanvasGPUTextureFormatRg8Sint, /** * Red channel only. 32 bit integer per channel. Unsigned in shader. */ - R32Uint, + CanvasGPUTextureFormatR32Uint, /** * Red channel only. 32 bit integer per channel. Signed in shader. */ - R32Sint, + CanvasGPUTextureFormatR32Sint, /** * Red channel only. 32 bit float per channel. Float in shader. */ - R32Float, + CanvasGPUTextureFormatR32Float, /** * Red and green channels. 16 bit integer per channel. Unsigned in shader. */ - Rg16Uint, + CanvasGPUTextureFormatRg16Uint, /** * Red and green channels. 16 bit integer per channel. Signed in shader. */ - Rg16Sint, + CanvasGPUTextureFormatRg16Sint, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Unorm, + CanvasGPUTextureFormatRg16Unorm, /** * Red and green channels. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rg16Snorm, + CanvasGPUTextureFormatRg16Snorm, /** * Red and green channels. 16 bit float per channel. Float in shader. */ - Rg16Float, + CanvasGPUTextureFormatRg16Float, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Rgba8Unorm, + CanvasGPUTextureFormatRgba8Unorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Rgba8UnormSrgb, + CanvasGPUTextureFormatRgba8UnormSrgb, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. [-127, 127] converted to/from float [-1, 1] in shader. */ - Rgba8Snorm, + CanvasGPUTextureFormatRgba8Snorm, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Unsigned in shader. */ - Rgba8Uint, + CanvasGPUTextureFormatRgba8Uint, /** * Red, green, blue, and alpha channels. 8 bit integer per channel. Signed in shader. */ - Rgba8Sint, + CanvasGPUTextureFormatRgba8Sint, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. [0, 255] converted to/from float [0, 1] in shader. */ - Bgra8Unorm, + CanvasGPUTextureFormatBgra8Unorm, /** * Blue, green, red, and alpha channels. 8 bit integer per channel. Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. */ - Bgra8UnormSrgb, + CanvasGPUTextureFormatBgra8UnormSrgb, /** * Packed unsigned float with 9 bits mantisa for each RGB component, then a common 5 bits exponent */ - Rgb9e5Ufloat, + CanvasGPUTextureFormatRgb9e5Ufloat, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. Unsigned in shader. */ - Rgb10a2Uint, + CanvasGPUTextureFormatRgb10a2Uint, /** * Red, green, blue, and alpha channels. 10 bit integer for RGB channels, 2 bit integer for alpha channel. [0, 1023] ([0, 3] for alpha) converted to/from float [0, 1] in shader. */ - Rgb10a2Unorm, + CanvasGPUTextureFormatRgb10a2Unorm, /** * Red, green, and blue channels. 11 bit float with no sign bit for RG channels. 10 bit float with no sign bit for blue channel. Float in shader. */ - Rg11b10Float, + CanvasGPUTextureFormatRg11b10Float, /** * Red and green channels. 32 bit integer per channel. Unsigned in shader. */ - Rg32Uint, + CanvasGPUTextureFormatRg32Uint, /** * Red and green channels. 32 bit integer per channel. Signed in shader. */ - Rg32Sint, + CanvasGPUTextureFormatRg32Sint, /** * Red and green channels. 32 bit float per channel. Float in shader. */ - Rg32Float, + CanvasGPUTextureFormatRg32Float, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Unsigned in shader. */ - Rgba16Uint, + CanvasGPUTextureFormatRgba16Uint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. Signed in shader. */ - Rgba16Sint, + CanvasGPUTextureFormatRgba16Sint, /** * Red, green, blue, and alpha channels. 16 bit integer per channel. [0, 65535] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Unorm, + CanvasGPUTextureFormatRgba16Unorm, /** * Red, green, blue, and alpha. 16 bit integer per channel. [0, 65535] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_FORMAT_16BIT_NORM`] must be enabled to use this texture format. */ - Rgba16Snorm, + CanvasGPUTextureFormatRgba16Snorm, /** * Red, green, blue, and alpha channels. 16 bit float per channel. Float in shader. */ - Rgba16Float, + CanvasGPUTextureFormatRgba16Float, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Unsigned in shader. */ - Rgba32Uint, + CanvasGPUTextureFormatRgba32Uint, /** * Red, green, blue, and alpha channels. 32 bit integer per channel. Signed in shader. */ - Rgba32Sint, + CanvasGPUTextureFormatRgba32Sint, /** * Red, green, blue, and alpha channels. 32 bit float per channel. Float in shader. */ - Rgba32Float, + CanvasGPUTextureFormatRgba32Float, /** * Stencil format with 8 bit integer stencil. */ - Stencil8, + CanvasGPUTextureFormatStencil8, /** * Special depth format with 16 bit integer depth. */ - Depth16Unorm, + CanvasGPUTextureFormatDepth16Unorm, /** * Special depth format with at least 24 bit integer depth. */ - Depth24Plus, + CanvasGPUTextureFormatDepth24Plus, /** * Special depth/stencil format with at least 24 bit integer depth and 8 bits integer stencil. */ - Depth24PlusStencil8, + CanvasGPUTextureFormatDepth24PlusStencil8, /** * Special depth format with 32 bit floating point depth. */ - Depth32Float, + CanvasGPUTextureFormatDepth32Float, /** * Special depth/stencil format with 32 bit floating point depth and 8 bits integer stencil. * * [`Features::DEPTH32FLOAT_STENCIL8`] must be enabled to use this texture format. */ - Depth32FloatStencil8, + CanvasGPUTextureFormatDepth32FloatStencil8, /** * YUV 4:2:0 chroma subsampled format. * @@ -693,7 +1012,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_FORMAT_NV12`] must be enabled to use this texture format. */ - NV12, + CanvasGPUTextureFormatNV12, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * [0, 63] ([0, 1] for alpha) converted to/from float [0, 1] in shader. @@ -702,7 +1021,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnorm, + CanvasGPUTextureFormatBc1RgbaUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 4 color + alpha pallet. 5 bit R + 6 bit G + 5 bit B + 1 bit alpha. * Srgb-color [0, 63] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -711,7 +1030,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc1RgbaUnormSrgb, + CanvasGPUTextureFormatBc1RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * [0, 63] ([0, 15] for alpha) converted to/from float [0, 1] in shader. @@ -720,7 +1039,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnorm, + CanvasGPUTextureFormatBc2RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet. 5 bit R + 6 bit G + 5 bit B + 4 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -729,7 +1048,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc2RgbaUnormSrgb, + CanvasGPUTextureFormatBc2RgbaUnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * [0, 63] ([0, 255] for alpha) converted to/from float [0, 1] in shader. @@ -738,7 +1057,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnorm, + CanvasGPUTextureFormatBc3RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 4 color pallet + 8 alpha pallet. 5 bit R + 6 bit G + 5 bit B + 8 bit alpha. * Srgb-color [0, 63] ([0, 255] for alpha) converted to/from linear-color float [0, 1] in shader. @@ -747,7 +1066,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc3RgbaUnormSrgb, + CanvasGPUTextureFormatBc3RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [0, 255] converted to/from float [0, 1] in shader. @@ -756,7 +1075,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RUnorm, + CanvasGPUTextureFormatBc4RUnorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). 8 color pallet. 8 bit R. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -765,7 +1084,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc4RSnorm, + CanvasGPUTextureFormatBc4RSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [0, 255] converted to/from float [0, 1] in shader. @@ -774,7 +1093,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgUnorm, + CanvasGPUTextureFormatBc5RgUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). 8 color red pallet + 8 color green pallet. 8 bit RG. * [-127, 127] converted to/from float [-1, 1] in shader. @@ -783,7 +1102,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc5RgSnorm, + CanvasGPUTextureFormatBc5RgSnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit unsigned float RGB. Float in shader. * @@ -791,7 +1110,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbUfloat, + CanvasGPUTextureFormatBc6hRgbUfloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 16 bit signed float RGB. Float in shader. * @@ -799,7 +1118,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc6hRgbFloat, + CanvasGPUTextureFormatBc6hRgbFloat, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * [0, 255] converted to/from float [0, 1] in shader. @@ -808,7 +1127,7 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnorm, + CanvasGPUTextureFormatBc7RgbaUnorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Variable sized pallet. 8 bit integer RGBA. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. @@ -817,77 +1136,77 @@ typedef enum CanvasGPUTextureFormat_Tag { * * [`Features::TEXTURE_COMPRESSION_BC`] must be enabled to use this texture format. */ - Bc7RgbaUnormSrgb, + CanvasGPUTextureFormatBc7RgbaUnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8Unorm, + CanvasGPUTextureFormatEtc2Rgb8Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * [0, 255] ([0, 1] for alpha) converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1Unorm, + CanvasGPUTextureFormatEtc2Rgb8A1Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 8 bit integer RGB + 1 bit alpha. * Srgb-color [0, 255] ([0, 1] for alpha) converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgb8A1UnormSrgb, + CanvasGPUTextureFormatEtc2Rgb8A1UnormSrgb, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8Unorm, + CanvasGPUTextureFormatEtc2Rgba8Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 8 bit integer RGB + 8 bit alpha. * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - Etc2Rgba8UnormSrgb, + CanvasGPUTextureFormatEtc2Rgba8UnormSrgb, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Unorm, + CanvasGPUTextureFormatEacR11Unorm, /** * 4x4 block compressed texture. 8 bytes per block (4 bit/px). Complex pallet. 11 bit integer R. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacR11Snorm, + CanvasGPUTextureFormatEacR11Snorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [0, 255] converted to/from float [0, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Unorm, + CanvasGPUTextureFormatEacRg11Unorm, /** * 4x4 block compressed texture. 16 bytes per block (8 bit/px). Complex pallet. 11 bit integer R + 11 bit integer G. * [-127, 127] converted to/from float [-1, 1] in shader. * * [`Features::TEXTURE_COMPRESSION_ETC2`] must be enabled to use this texture format. */ - EacRg11Snorm, + CanvasGPUTextureFormatEacRg11Snorm, /** * block compressed texture. 16 bytes per block. * @@ -897,10 +1216,10 @@ typedef enum CanvasGPUTextureFormat_Tag { * [`TEXTURE_COMPRESSION_ASTC`]: Features::TEXTURE_COMPRESSION_ASTC * [`TEXTURE_COMPRESSION_ASTC_HDR`]: Features::TEXTURE_COMPRESSION_ASTC_HDR */ - Astc, + CanvasGPUTextureFormatAstc, } CanvasGPUTextureFormat_Tag; -typedef struct Astc_Body { +typedef struct CanvasGPUTextureFormatAstc_Body { /** * compressed block dimensions */ @@ -909,15 +1228,120 @@ typedef struct Astc_Body { * ASTC RGBA channel */ enum CanvasAstcChannel channel; -} Astc_Body; +} CanvasGPUTextureFormatAstc_Body; typedef struct CanvasGPUTextureFormat { CanvasGPUTextureFormat_Tag tag; union { - Astc_Body astc; + CanvasGPUTextureFormatAstc_Body astc; }; } CanvasGPUTextureFormat; +typedef struct CanvasStencilFaceState { + enum CanvasCompareFunction compare; + enum CanvasStencilOperation fail_op; + enum CanvasStencilOperation depth_fail_op; + enum CanvasStencilOperation pass_op; +} CanvasStencilFaceState; +/** + * Ignore the stencil state for the face. + */ +#define CanvasStencilFaceState_IGNORE (CanvasStencilFaceState){ .compare = CanvasCompareFunction_Always, .fail_op = CanvasStencilOperation_Keep, .depth_fail_op = CanvasStencilOperation_Keep, .pass_op = CanvasStencilOperation_Keep } + +typedef struct CanvasDepthStencilState { + struct CanvasGPUTextureFormat format; + bool depth_write_enabled; + enum CanvasCompareFunction depth_compare; + struct CanvasStencilFaceState stencil_front; + struct CanvasStencilFaceState stencil_back; + uint32_t stencil_read_mask; + uint32_t stencil_write_mask; + int32_t depth_bias; + float depth_bias_slope_scale; + float depth_bias_clamp; +} CanvasDepthStencilState; + +typedef struct CanvasMultisampleState { + uint32_t count; + uint64_t mask; + bool alpha_to_coverage_enabled; +} CanvasMultisampleState; + +typedef struct CanvasBlendComponent { + enum CanvasBlendFactor src_factor; + enum CanvasBlendFactor dst_factor; + enum CanvasBlendOperation operation; +} CanvasBlendComponent; +/** + * Default blending state that replaces destination with the source. + */ +#define CanvasBlendComponent_REPLACE (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_One, .dst_factor = CanvasBlendFactor_Zero, .operation = CanvasBlendOperation_Add } +/** + * Blend state of (1 * src) + ((1 - src_alpha) * dst) + */ +#define CanvasBlendComponent_OVER (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_One, .dst_factor = CanvasBlendFactor_OneMinusSrcAlpha, .operation = CanvasBlendOperation_Add } + +typedef struct CanvasBlendState { + /** + * Color equation. + */ + struct CanvasBlendComponent color; + /** + * Alpha equation. + */ + struct CanvasBlendComponent alpha; +} CanvasBlendState; +/** + * Blend mode that does no color blending, just overwrites the output with the contents of the shader. + */ +#define CanvasBlendState_REPLACE (CanvasBlendState){ .color = CanvasBlendComponent_REPLACE, .alpha = CanvasBlendComponent_REPLACE } +/** + * Blend mode that does standard alpha blending with non-premultiplied alpha. + */ +#define CanvasBlendState_ALPHA_BLENDING (CanvasBlendState){ .color = (CanvasBlendComponent){ .src_factor = CanvasBlendFactor_SrcAlpha, .dst_factor = CanvasBlendFactor_OneMinusSrcAlpha, .operation = CanvasBlendOperation_Add }, .alpha = CanvasBlendComponent_OVER } +/** + * Blend mode that does standard alpha blending with premultiplied alpha. + */ +#define CanvasBlendState_PREMULTIPLIED_ALPHA_BLENDING (CanvasBlendState){ .color = CanvasBlendComponent_OVER, .alpha = CanvasBlendComponent_OVER } + +typedef enum CanvasOptionalBlendState_Tag { + CanvasOptionalBlendStateNone, + CanvasOptionalBlendStateSome, +} CanvasOptionalBlendState_Tag; + +typedef struct CanvasOptionalBlendState { + CanvasOptionalBlendState_Tag tag; + union { + struct { + struct CanvasBlendState some; + }; + }; +} CanvasOptionalBlendState; + +typedef struct CanvasColorTargetState { + struct CanvasGPUTextureFormat format; + struct CanvasOptionalBlendState blend; + uint32_t write_mask; +} CanvasColorTargetState; + +typedef struct CanvasFragmentState { + const struct CanvasColorTargetState *targets; + uintptr_t targets_size; + const struct CanvasGPUShaderModule *module; + const char *entry_point; + const struct CanvasConstants *constants; +} CanvasFragmentState; + +typedef struct CanvasCreateRenderPipelineDescriptor { + const char *label; + struct CanvasGPUPipelineLayoutOrGPUAutoLayoutMode layout; + const struct CanvasVertexState *vertex; + const struct CanvasPrimitiveState *primitive; + const struct CanvasDepthStencilState *depth_stencil; + const struct CanvasMultisampleState *multisample; + const struct CanvasFragmentState *fragment; +} CanvasCreateRenderPipelineDescriptor; + typedef struct CanvasCreateTextureDescriptor { const char *label; enum CanvasTextureDimension dimension; @@ -932,6 +1356,43 @@ typedef struct CanvasCreateTextureDescriptor { uintptr_t view_formats_size; } CanvasCreateTextureDescriptor; +typedef struct CanvasOrigin2d { + /** + * + */ + uint32_t x; + /** + * + */ + uint32_t y; +} CanvasOrigin2d; + +typedef struct CanvasImageCopyExternalImage { + /** + * The texture to be copied from. The copy source data is captured at the moment + * the copy is issued. + */ + const uint8_t *source; + uintptr_t source_size; + /** + * The base texel used for copying from the external image. Together + * with the `copy_size` argument to copy functions, defines the + * sub-region of the image to copy. + * + * Relative to the top left of the image. + * + * Must be [`Origin2d::ZERO`] if [`DownlevelFlags::UNRESTRICTED_EXTERNAL_TEXTURE_COPIES`] is not supported. + */ + struct CanvasOrigin2d origin; + /** + * If the Y coordinate of the image should be flipped. Even if this is + * true, `origin` is still relative to the top left. + */ + bool flip_y; + uint32_t width; + uint32_t height; +} CanvasImageCopyExternalImage; + typedef struct CanvasGPUSurfaceConfiguration { enum CanvasGPUSurfaceAlphaMode alphaMode; uint32_t usage; @@ -940,6 +1401,50 @@ typedef struct CanvasGPUSurfaceConfiguration { uintptr_t view_formats_size; } CanvasGPUSurfaceConfiguration; +typedef enum CanvasOptionalGPUTextureFormat_Tag { + CanvasOptionalGPUTextureFormatNone, + CanvasOptionalGPUTextureFormatSome, +} CanvasOptionalGPUTextureFormat_Tag; + +typedef struct CanvasOptionalGPUTextureFormat { + CanvasOptionalGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionalGPUTextureFormat; + +typedef enum CanvasOptionsGPUTextureFormat_Tag { + CanvasOptionsGPUTextureFormatNone, + CanvasOptionsGPUTextureFormatSome, +} CanvasOptionsGPUTextureFormat_Tag; + +typedef struct CanvasOptionsGPUTextureFormat { + CanvasOptionsGPUTextureFormat_Tag tag; + union { + struct { + struct CanvasGPUTextureFormat some; + }; + }; +} CanvasOptionsGPUTextureFormat; + +typedef struct CanvasImageSubresourceRange { + enum CanvasTextureAspect aspect; + uint32_t base_mip_level; + int32_t mip_level_count; + uint32_t base_array_layer; + int32_t array_layer_count; +} CanvasImageSubresourceRange; + +typedef struct CanvasCreateTextureViewDescriptor { + const struct CanvasGPUTexture *texture; + const char *label; + struct CanvasOptionsGPUTextureFormat format; + enum CanvasOptionalTextureViewDimension dimension; + const struct CanvasImageSubresourceRange *range; +} CanvasCreateTextureViewDescriptor; + void canvas_native_image_filter_destroy(struct ImageFilter *value); void canvas_native_font_add_family(const char *alias, @@ -3642,6 +4147,16 @@ struct CanvasGPUComputePass *canvas_native_webgpu_command_encoder_begin_compute_ int32_t beginning_of_pass_write_index, int32_t end_of_pass_write_index); +struct CanvasGPURenderPass *canvas_native_webgpu_command_encoder_begin_render_pass(struct CanvasGPUCommandEncoder *command_encoder, + const char *label, + const struct CanvasRenderPassColorAttachment *color_attachments, + uintptr_t color_attachments_size, + const struct CanvasRenderPassDepthStencilAttachment *depth_stencil_attachment, + const struct CanvasGPUQuerySet *occlusion_query_set, + const struct CanvasGPUQuerySet *query_set, + int32_t beginning_of_pass_write_index, + int32_t end_of_pass_write_index); + void canvas_native_webgpu_command_encoder_clear_buffer(struct CanvasGPUCommandEncoder *command_encoder, const struct CanvasGPUBuffer *buffer, int64_t offset, @@ -3716,18 +4231,163 @@ struct CanvasGPUBuffer *canvas_native_webgpu_device_create_buffer(const struct C bool mapped_at_creation, char *error); +struct CanvasConstants *canvas_native_webgpu_constants_create(void); + +void canvas_native_webgpu_constants_insert(struct CanvasConstants *constants, + const char *key, + double value); + +void canvas_native_webgpu_constants_destroy(struct CanvasConstants *constants); + +struct CanvasGPURenderPipeline *canvas_native_webgpu_device_create_render_pipeline(const struct CanvasGPUDevice *device, + const struct CanvasCreateRenderPipelineDescriptor *descriptor); + struct CanvasGPUTexture *canvas_native_webgpu_device_create_texture(const struct CanvasGPUDevice *device, const struct CanvasCreateTextureDescriptor *descriptor, char *error); +void canvas_native_webgpu_queue_copy_external_image_to_texture(struct CanvasGPUQueue *queue, + const struct CanvasImageCopyExternalImage *source, + const struct CanvasImageCopyTexture *destination, + const struct CanvasExtent3d *size); + +void canvas_native_webgpu_queue_on_submitted_work_done(struct CanvasGPUQueue *queue, + void (*callback)(char*, void*), + void *callback_data); + +void canvas_native_webgpu_queue_submit(struct CanvasGPUQueue *queue, + const struct CanvasGPUCommandBuffer *const *command_buffers, + uintptr_t command_buffers_size); + +void canvas_native_webgpu_queue_write_buffer(struct CanvasGPUQueue *queue, + struct CanvasGPUBuffer *buffer, + uint64_t buffer_offset, + const uint8_t *data, + uintptr_t data_size, + uintptr_t data_offset, + intptr_t size); + +void canvas_native_webgpu_queue_write_texture(struct CanvasGPUQueue *queue, + const struct CanvasImageCopyTexture *destination, + const struct CanvasImageDataLayout *data_layout, + const struct CanvasExtent3d *size, + const uint8_t *buf, + uintptr_t buf_size); + struct CanvasGPUSupportedLimits *canvas_native_webgpu_create_limits(void); void canvas_native_webgpu_limits_destroy(struct CanvasGPUSupportedLimits *limits); +void canvas_native_webgpu_render_pass_begin_occlusion_query(struct CanvasGPURenderPass *render_pass, + uint32_t query_index); + +void canvas_native_webgpu_render_pass_encoder_draw(struct CanvasGPURenderPass *render_pass, + uint32_t vertex_count, + uint32_t instance_count, + uint32_t first_vertex, + uint32_t first_instance); + +void canvas_native_webgpu_render_pass_draw_indexed(struct CanvasGPURenderPass *render_pass, + uint32_t index_count, + uint32_t instance_count, + uint32_t first_index, + int32_t base_vertex, + uint32_t first_instance); + +void canvas_native_webgpu_render_pass_draw_indexed_indirect(struct CanvasGPURenderPass *render_pass, + struct CanvasGPUBuffer *indirect_buffer, + uint64_t indirect_offset); + +void canvas_native_webgpu_render_pass_draw_indirect(struct CanvasGPURenderPass *render_pass, + struct CanvasGPUBuffer *indirect_buffer, + uint64_t indirect_offset); + +void canvas_native_webgpu_render_pass_end(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_end_occlusion_query(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_execute_bundles(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPURenderBundle *bundles, + uintptr_t bundles_size); + +void canvas_native_webgpu_render_pass_insert_debug_marker(struct CanvasGPURenderPass *render_pass, + const char *label); + +void canvas_native_webgpu_render_pass_pop_debug_group(struct CanvasGPURenderPass *render_pass); + +void canvas_native_webgpu_render_pass_push_debug_group(struct CanvasGPURenderPass *render_pass, + const char *label); + +void canvas_native_webgpu_render_pass_set_bind_group(struct CanvasGPURenderPass *render_pass, + uint32_t index, + const struct CanvasGPUBindGroup *bind_group, + const uint32_t *dynamic_offsets, + uintptr_t dynamic_offsets_size, + uintptr_t dynamic_offsets_start, + uintptr_t dynamic_offsets_length); + +void canvas_native_webgpu_render_pass_set_blend_constant(struct CanvasGPURenderPass *render_pass, + const struct CanvasColor *color); + +void canvas_native_webgpu_render_pass_set_index_buffer(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPUBuffer *buffer, + enum CanvasIndexFormat index_format, + int64_t offset, + int64_t size); + +void canvas_native_webgpu_render_pass_set_pipeline(struct CanvasGPURenderPass *render_pass, + const struct CanvasGPURenderPipeline *pipeline); + +void canvas_native_webgpu_render_pass_set_scissor_rect(struct CanvasGPURenderPass *render_pass, + uint32_t x, + uint32_t y, + uint32_t width, + uint32_t height); + +void canvas_native_webgpu_render_pass_set_stencil_reference(struct CanvasGPURenderPass *render_pass, + uint32_t reference); + +void canvas_native_webgpu_render_pass_set_vertex_buffer(struct CanvasGPURenderPass *render_pass, + uint32_t slot, + struct CanvasGPUBuffer *buffer, + int64_t offset, + int64_t size); + +void canvas_native_webgpu_render_pass_set_viewport(struct CanvasGPURenderPass *render_pass, + float x, + float y, + float width, + float height, + float depth_min, + float depth_max); + +#if defined(TARGET_OS_ANDROID) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, + void *window, + uint32_t width, + uint32_t height); +#endif + +#if (defined(TARGET_OS_IOS) || defined(TARGET_OS_MACOS)) struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create(struct CanvasWebGPUInstance *instance, void *view, uint32_t width, uint32_t height); +#endif + +#if defined(TARGET_OS_IOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_uiview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif + +#if defined(TARGET_OS_MACOS) +struct CanvasGPUCanvasContext *canvas_native_webgpu_context_create_nsview(struct CanvasWebGPUInstance *instance, + void *view, + uint32_t width, + uint32_t height); +#endif void canvas_native_webgpu_context_configure(struct CanvasGPUCanvasContext *context, struct CanvasGPUDevice *device, @@ -3741,6 +4401,11 @@ struct CanvasGPUTexture *canvas_native_webgpu_context_get_current_texture(struct char *canvas_native_webgpu_enum_gpu_texture_to_string(struct CanvasGPUTextureFormat value); +struct CanvasOptionalGPUTextureFormat canvas_native_webgpu_string_to_gpu_texture_enum(const char *format); + +struct CanvasGPUTextureView *canvas_native_webgpu_texture_create_texture_view(struct CanvasGPUTexture *texture, + const struct CanvasCreateTextureViewDescriptor *descriptor); + uint32_t canvas_native_webgpu_texture_get_depth_or_array_layers(struct CanvasGPUTexture *texture); uint32_t canvas_native_webgpu_texture_get_width(struct CanvasGPUTexture *texture); @@ -3761,6 +4426,9 @@ uint32_t canvas_native_webgpu_texture_get_sample_count(struct CanvasGPUTexture * char *canvas_native_webgpu_texture_destroy(struct CanvasGPUTexture *texture); +struct CanvasGPUBindGroupLayout *canvas_native_webgpu_render_pipeline_get_bind_group_layout(const struct CanvasGPURenderPipeline *pipeline, + uint32_t index); + const uint8_t *canvas_native_u8_buffer_get_bytes(const struct U8Buffer *buffer); uint8_t *canvas_native_u8_buffer_get_bytes_mut(struct U8Buffer *buffer); diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo index 5383757dd..fc3190fdc 100644 Binary files a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo and b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo differ diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo index 0973fff63..42f2ec4f2 100644 Binary files a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo and b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo differ diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json index 71838557a..ea5ca3953 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json @@ -375,6 +375,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "initWebGPUWithViewLayer", + "printedName": "initWebGPUWithViewLayer(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "c:@M@CanvasNative@objc(cs)NSSCanvasHelpers(cm)initWebGPUWithViewLayer::::", + "mangledName": "$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ", + "moduleName": "CanvasNative", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "initWebGPUWithView", @@ -5577,147 +5625,147 @@ { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2412, + "offset": 2396, "length": 1, "value": "1" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2315, + "offset": 2299, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2591, + "offset": 2575, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2649, + "offset": 2633, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2702, + "offset": 2686, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2807, + "offset": 2791, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2840, + "offset": 2824, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3499, + "offset": 3483, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3533, + "offset": 3517, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3563, + "offset": 3547, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3616, + "offset": 3600, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 3658, + "offset": 3642, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3698, + "offset": 3682, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3744, + "offset": 3728, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3777, + "offset": 3761, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3817, + "offset": 3801, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3855, + "offset": 3839, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15100, + "offset": 16303, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15581, + "offset": 16784, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16124, + "offset": 17327, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16156, + "offset": 17359, "length": 5, "value": "false" }, diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface index 471baa2c1..cb1784451 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface index 471baa2c1..cb1784451 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json index 71838557a..ea5ca3953 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -375,6 +375,54 @@ ], "funcSelfKind": "NonMutating" }, + { + "kind": "Function", + "name": "initWebGPUWithViewLayer", + "printedName": "initWebGPUWithViewLayer(_:_:_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "c:@M@CanvasNative@objc(cs)NSSCanvasHelpers(cm)initWebGPUWithViewLayer::::", + "mangledName": "$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ", + "moduleName": "CanvasNative", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "ObjC" + ], + "funcSelfKind": "NonMutating" + }, { "kind": "Function", "name": "initWebGPUWithView", @@ -5577,147 +5625,147 @@ { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2412, + "offset": 2396, "length": 1, "value": "1" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2315, + "offset": 2299, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2591, + "offset": 2575, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2649, + "offset": 2633, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 2702, + "offset": 2686, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2807, + "offset": 2791, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 2840, + "offset": 2824, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3499, + "offset": 3483, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3533, + "offset": 3517, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3563, + "offset": 3547, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3616, + "offset": 3600, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "IntegerLiteral", - "offset": 3658, + "offset": 3642, "length": 1, "value": "0" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3698, + "offset": 3682, "length": 4, "value": "true" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3744, + "offset": 3728, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3777, + "offset": 3761, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3817, + "offset": 3801, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 3855, + "offset": 3839, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15100, + "offset": 16303, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 15581, + "offset": 16784, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16124, + "offset": 17327, "length": 5, "value": "false" }, { "filePath": "\/Users\/triniwiz\/Documents\/GitHub\/canvas\/packages\/canvas\/src-native\/canvas-ios\/CanvasNative\/Source\/NSCCanvas.swift", "kind": "BooleanLiteral", - "offset": 16156, + "offset": 17359, "length": 5, "value": "false" }, diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface index 39c411e52..ca7dbf2f2 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 39c411e52..ca7dbf2f2 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -24,6 +24,7 @@ import _SwiftConcurrencyShims @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) @objc public static func drawImage(context: Swift.Int64, image: UIKit.UIImage, sx: Swift.Float, sy: Swift.Float, sw: Swift.Float, sh: Swift.Float, dx: Swift.Float, dy: Swift.Float, dw: Swift.Float, dh: Swift.Float) + @objc public static func initWebGPUWithViewLayer(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initWebGPUWithView(_ instance: Swift.Int64, _ view: Swift.Int64, _ width: Swift.UInt32, _ height: Swift.UInt32) -> Swift.Int64 @objc public static func initGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool) -> Swift.Int64 @objc public static func initSharedGLWithView(_ view: Swift.Int64, _ alpha: Swift.Bool, _ antialias: Swift.Bool, _ depth: Swift.Bool, _ fail_if_major_performance_caveat: Swift.Bool, _ power_preference: Swift.Int32, _ premultiplied_alpha: Swift.Bool, _ preserve_drawing_buffer: Swift.Bool, _ stencil: Swift.Bool, _ desynchronized: Swift.Bool, _ xr_compatible: Swift.Bool, _ version: Swift.Int32, _ is_canvas: Swift.Bool, _ shared_context: Swift.Int64) -> Swift.Int64 diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources index 442df2740..8fd98f5f3 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources @@ -6,7 +6,7 @@ Headers/CanvasNative-Swift.h - KQEqLWajxad+NsMR97QgaK9NAB8= + C68zRtPW4xvtlskugBKLPGnrtnw= Headers/CanvasNative.h @@ -14,11 +14,11 @@ Headers/canvas_ios.h - tpvRt6ap0o+Ki9xEdR1L6+rm+Ts= + AxjlF8Y16ITHCMbsMITb7ZH2EBY= Headers/canvas_native.h - +1zKIVPkNQrpFxv8ryYy1qhCmhQ= + TgmoImH8H+2vDVVqe5bZeCt257c= Info.plist @@ -26,19 +26,19 @@ Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo - u7yANk27hhYaGJ/l3r0BlXkB4os= + F6/IVKKbfgxx9RDJsVO0F++MeU0= Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo - dS/NPiI6BtS0ckrjKMaa5rC3KhA= + ShM1DyLmX7WQidisl8eb0Ey1no8= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json - qMgpjATR5wyLm3DRbpO62FbIVY0= + /aW9slqgUumHOwEoOkHR9G5dfbs= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - LQPifhRXeEXsxxLpaNSS7WLBjmg= + AE6hqsCqw+KiR+SJ13Wu+dC1/VE= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc @@ -46,19 +46,19 @@ Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface - LQPifhRXeEXsxxLpaNSS7WLBjmg= + AE6hqsCqw+KiR+SJ13Wu+dC1/VE= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftmodule - gaIY317x2WOMQX7YwpysD6m0zj0= + sNPEhoKvVoDTevK/JnB0rOUhGnA= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json - qMgpjATR5wyLm3DRbpO62FbIVY0= + /aW9slqgUumHOwEoOkHR9G5dfbs= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - 4v2qUuecetL5hzR4/ImbGeng7Yc= + 0OnEHSdT0+cOYKTBbvMESTGmJMk= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc @@ -66,11 +66,11 @@ Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - 4v2qUuecetL5hzR4/ImbGeng7Yc= + 0OnEHSdT0+cOYKTBbvMESTGmJMk= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - igW1jFl6ZWATG4XCrhB65/PFRaE= + 1hwXRy6i2ykgRxo9PPYy6YBqHrY= Modules/module.modulemap @@ -87,7 +87,7 @@ hash2 - HolmQhyyK+55I5nkbCpKC4Q+rFShshI9PH4SLXv2y+E= + zWVqEjKewGd6eJ1sy56phYv5dBdNsGWFAccs09Owu7w= Headers/CanvasNative.h @@ -101,42 +101,42 @@ hash2 - Ozn+oUOwYO09Awh6cWoQt64YMC3t05r4fPyxbk5SCc8= + 05uo7RvFA2tfAOoTvR7dY5y0/1TjNWBRvLnmy0Ikq2s= Headers/canvas_native.h hash2 - PfLiOKmhlb6q5Og5d5W2uvW3Kx5Kxje1POSTtfSQZCA= + FkM9f7fdufB6qW4q5CKhNyucqWULq3Zrsp4r2SmSsQg= Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo hash2 - T9Rf09KJGfUw/4dofL3nrjvP2+m9cHYgL2DLwy0jStY= + +l0kG1HAI4ieRkLWj8Jya+TD8/r+81gZ8E9EGSF2SIY= Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo hash2 - mupxiYEnHhDGPeh8mRZSt5+7lwCdkSfVPuduVjvLx7M= + uLmyjVCfOZZnOCNVpxLB/6cUUYDgGFTSdOArUILwVAY= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json hash2 - rcvfX4UEXIKVn7UMmmN8DcpTB/QiOfflb6TgwPsDsLM= + kMY/qJMCJG+2FNpYXV8952WTM9Os6AaC/OOEX8q91kY= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface hash2 - t8gesQ1RAaDakLSQk3FERj7aS9JQXA5+7PWNkGWzsaY= + kceTZOCh/YVLCrj4uVBl7ZgNYYSbREdRwmAh/UrRdVo= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc @@ -150,28 +150,28 @@ hash2 - t8gesQ1RAaDakLSQk3FERj7aS9JQXA5+7PWNkGWzsaY= + kceTZOCh/YVLCrj4uVBl7ZgNYYSbREdRwmAh/UrRdVo= Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftmodule hash2 - doc7VuaeaL4ygweyJWFM2QCBiaiGeRJyT5tUaM76lLQ= + kgkvJo0urucOv7gqVRoQ8F70VIV2s7JGqPl2No6/zJ8= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json hash2 - rcvfX4UEXIKVn7UMmmN8DcpTB/QiOfflb6TgwPsDsLM= + kMY/qJMCJG+2FNpYXV8952WTM9Os6AaC/OOEX8q91kY= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface hash2 - 9cbkAcmgmT8f2/1AgwlHKl7QPpc6lR54zFVhT2sQ230= + RyjXJT7YUNRv5w0rr+wAnZv4nF3dtYdBDHv0TPBlwT4= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc @@ -185,14 +185,14 @@ hash2 - 9cbkAcmgmT8f2/1AgwlHKl7QPpc6lR54zFVhT2sQ230= + RyjXJT7YUNRv5w0rr+wAnZv4nF3dtYdBDHv0TPBlwT4= Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftmodule hash2 - SHtjKWgxAgUk9p4W/HuXoHGPvvCFuhQn+gIXddsyL9A= + W+kSjjXfC/FcehVJ+Gt//X+L4tohx/Al3t8ZB2IO30g= Modules/module.modulemap diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative index f118b728b..ee02dc918 100644 Binary files a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative and b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative differ diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml index c3e4284a2..b58a94329 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml @@ -2,610 +2,608 @@ triple: 'arm64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas/src-native/canvas-ios/dist/Release-iphonesimulator/CanvasNative.framework/CanvasNative' relocations: - - { offsetInCU: 0x34, offset: 0x76928, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x86C000, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x7695D, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x86C038, symSize: 0x0 } - - { offsetInCU: 0x3F, offset: 0x769B2, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x28, symBinAddr: 0x3DA8, symSize: 0xC } - - { offsetInCU: 0x53, offset: 0x769C6, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x34, symBinAddr: 0x3DB4, symSize: 0x4 } - - { offsetInCU: 0x67, offset: 0x769DA, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x38, symBinAddr: 0x3DB8, symSize: 0x20 } - - { offsetInCU: 0x7B, offset: 0x769EE, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x58, symBinAddr: 0x3DD8, symSize: 0x28 } - - { offsetInCU: 0x8F, offset: 0x76A02, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0x94, symBinAddr: 0x3E14, symSize: 0x30 } - - { offsetInCU: 0xA3, offset: 0x76A16, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0xC4, symBinAddr: 0x3E44, symSize: 0xC } - - { offsetInCU: 0xB7, offset: 0x76A2A, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0xD0, symBinAddr: 0x3E50, symSize: 0x20 } - - { offsetInCU: 0xCB, offset: 0x76A3E, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0xF0, symBinAddr: 0x3E70, symSize: 0x2C } - - { offsetInCU: 0x4F, offset: 0x76C27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AD0, symBinAddr: 0x1047CE0, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x76C41, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AD8, symBinAddr: 0x1047CE8, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x76C75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x4, symBinAddr: 0x3F14, symSize: 0x38 } - - { offsetInCU: 0xF3, offset: 0x76CCB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x40, symBinAddr: 0x3F50, symSize: 0x70 } - - { offsetInCU: 0x144, offset: 0x76D1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xB4, symBinAddr: 0x3FC4, symSize: 0x44 } - - { offsetInCU: 0x19F, offset: 0x76D77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0xFC, symBinAddr: 0x400C, symSize: 0x50 } - - { offsetInCU: 0x204, offset: 0x76DDC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x150, symBinAddr: 0x4060, symSize: 0x68 } - - { offsetInCU: 0x27D, offset: 0x76E55, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1BC, symBinAddr: 0x40CC, symSize: 0x98 } - - { offsetInCU: 0x2DA, offset: 0x76EB2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x258, symBinAddr: 0x4168, symSize: 0x14 } - - { offsetInCU: 0x389, offset: 0x76F61, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x2B0, symBinAddr: 0x41C0, symSize: 0x50 } - - { offsetInCU: 0x45A, offset: 0x77032, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x34C, symBinAddr: 0x425C, symSize: 0x58 } - - { offsetInCU: 0x534, offset: 0x7710C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x3EC, symBinAddr: 0x42FC, symSize: 0x58 } - - { offsetInCU: 0x613, offset: 0x771EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x494, symBinAddr: 0x43A4, symSize: 0x60 } - - { offsetInCU: 0x6BF, offset: 0x77297, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x4F8, symBinAddr: 0x4408, symSize: 0x8 } - - { offsetInCU: 0x728, offset: 0x77300, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x504, symBinAddr: 0x4414, symSize: 0x8 } - - { offsetInCU: 0x77F, offset: 0x77357, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x520, symBinAddr: 0x4430, symSize: 0x8 } - - { offsetInCU: 0x7D6, offset: 0x773AE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x52C, symBinAddr: 0x443C, symSize: 0x8 } - - { offsetInCU: 0x82D, offset: 0x77405, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x538, symBinAddr: 0x4448, symSize: 0x8 } - - { offsetInCU: 0x884, offset: 0x7745C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x544, symBinAddr: 0x4454, symSize: 0x8 } - - { offsetInCU: 0x903, offset: 0x774DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x554, symBinAddr: 0x4464, symSize: 0x24 } - - { offsetInCU: 0x9B4, offset: 0x7758C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x57C, symBinAddr: 0x448C, symSize: 0x14 } - - { offsetInCU: 0xA27, offset: 0x775FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x594, symBinAddr: 0x44A4, symSize: 0x8 } - - { offsetInCU: 0xA7E, offset: 0x77656, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x5F4, symBinAddr: 0x4504, symSize: 0x74 } - - { offsetInCU: 0xB09, offset: 0x776E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0x7FC, symBinAddr: 0x470C, symSize: 0xA0 } - - { offsetInCU: 0xB5A, offset: 0x77732, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xB04, symBinAddr: 0x4A14, symSize: 0x98 } - - { offsetInCU: 0xBAB, offset: 0x77783, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0xE58, symBinAddr: 0x4D68, symSize: 0x98 } - - { offsetInCU: 0xC07, offset: 0x777DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1280, symBinAddr: 0x5190, symSize: 0xD8 } - - { offsetInCU: 0xC4F, offset: 0x77827, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x135C, symBinAddr: 0x526C, symSize: 0x34 } - - { offsetInCU: 0xCAF, offset: 0x77887, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x13E0, symBinAddr: 0x52F0, symSize: 0x3C } - - { offsetInCU: 0xD00, offset: 0x778D8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1450, symBinAddr: 0x5360, symSize: 0x2AC } - - { offsetInCU: 0xF34, offset: 0x77B0C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x16FC, symBinAddr: 0x560C, symSize: 0x264 } - - { offsetInCU: 0x112E, offset: 0x77D06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1960, symBinAddr: 0x5870, symSize: 0xEC } - - { offsetInCU: 0x122B, offset: 0x77E03, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1A4C, symBinAddr: 0x595C, symSize: 0x1B4 } - - { offsetInCU: 0x13A0, offset: 0x77F78, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1C00, symBinAddr: 0x5B10, symSize: 0x1CC } - - { offsetInCU: 0x1535, offset: 0x7810D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x1DCC, symBinAddr: 0x5CDC, symSize: 0x1E0 } - - { offsetInCU: 0x1721, offset: 0x782F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x1FAC, symBinAddr: 0x5EBC, symSize: 0x1B4 } - - { offsetInCU: 0x17EB, offset: 0x783C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x2304, symBinAddr: 0x6214, symSize: 0x1D4 } - - { offsetInCU: 0x18CC, offset: 0x784A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x24D8, symBinAddr: 0x63E8, symSize: 0x114 } - - { offsetInCU: 0x1977, offset: 0x7854F, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0x89C, symBinAddr: 0x47AC, symSize: 0x78 } - - { offsetInCU: 0x198F, offset: 0x78567, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xB9C, symBinAddr: 0x4AAC, symSize: 0x54 } - - { offsetInCU: 0x19FC, offset: 0x785D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x144C, symBinAddr: 0x535C, symSize: 0x4 } - - { offsetInCU: 0x1A87, offset: 0x7865F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x25EC, symBinAddr: 0x64FC, symSize: 0x20 } - - { offsetInCU: 0x1A9B, offset: 0x78673, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2630, symBinAddr: 0x6540, symSize: 0x8 } - - { offsetInCU: 0x1ABA, offset: 0x78692, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2638, symBinAddr: 0x6548, symSize: 0x18 } - - { offsetInCU: 0x1AE3, offset: 0x786BB, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x2650, symBinAddr: 0x6560, symSize: 0x8 } - - { offsetInCU: 0x1AF7, offset: 0x786CF, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x2658, symBinAddr: 0x6568, symSize: 0x3C } - - { offsetInCU: 0x1B0B, offset: 0x786E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x26D8, symBinAddr: 0x65E8, symSize: 0x34 } - - { offsetInCU: 0x1B1F, offset: 0x786F7, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x270C, symBinAddr: 0x661C, symSize: 0x10 } - - { offsetInCU: 0x1B33, offset: 0x7870B, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x271C, symBinAddr: 0x662C, symSize: 0x8 } - - { offsetInCU: 0x1B47, offset: 0x7871F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2748, symBinAddr: 0x6658, symSize: 0x40 } - - { offsetInCU: 0x1B7B, offset: 0x78753, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x27CC, symBinAddr: 0x66DC, symSize: 0x40 } - - { offsetInCU: 0x1BB9, offset: 0x78791, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x280C, symBinAddr: 0x671C, symSize: 0x28 } - - { offsetInCU: 0x1BED, offset: 0x787C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x288C, symBinAddr: 0x679C, symSize: 0x3C } - - { offsetInCU: 0x1C21, offset: 0x787F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x28F4, symBinAddr: 0x6804, symSize: 0x30 } - - { offsetInCU: 0x1C5D, offset: 0x78835, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2960, symBinAddr: 0x6870, symSize: 0x10 } - - { offsetInCU: 0x1C71, offset: 0x78849, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2970, symBinAddr: 0x6880, symSize: 0x40 } - - { offsetInCU: 0x213E, offset: 0x78D16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x3F10, symSize: 0x4 } - - { offsetInCU: 0x2159, offset: 0x78D31, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x3C, symBinAddr: 0x3F4C, symSize: 0x4 } - - { offsetInCU: 0x2174, offset: 0x78D4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xB0, symBinAddr: 0x3FC0, symSize: 0x4 } - - { offsetInCU: 0x2195, offset: 0x78D6D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0xF8, symBinAddr: 0x4008, symSize: 0x4 } - - { offsetInCU: 0x21B0, offset: 0x78D88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x14C, symBinAddr: 0x405C, symSize: 0x4 } - - { offsetInCU: 0x21CB, offset: 0x78DA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1B8, symBinAddr: 0x40C8, symSize: 0x4 } - - { offsetInCU: 0x21E6, offset: 0x78DBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x254, symBinAddr: 0x4164, symSize: 0x4 } - - { offsetInCU: 0x2274, offset: 0x78E4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x26C, symBinAddr: 0x417C, symSize: 0x44 } - - { offsetInCU: 0x23B2, offset: 0x78F8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x300, symBinAddr: 0x4210, symSize: 0x4C } - - { offsetInCU: 0x24FB, offset: 0x790D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x3A4, symBinAddr: 0x42B4, symSize: 0x48 } - - { offsetInCU: 0x2643, offset: 0x7921B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x444, symBinAddr: 0x4354, symSize: 0x50 } - - { offsetInCU: 0x27A0, offset: 0x79378, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x4F4, symBinAddr: 0x4404, symSize: 0x4 } - - { offsetInCU: 0x2812, offset: 0x793EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x500, symBinAddr: 0x4410, symSize: 0x4 } - - { offsetInCU: 0x2855, offset: 0x7942D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x50C, symBinAddr: 0x441C, symSize: 0x14 } - - { offsetInCU: 0x289A, offset: 0x79472, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x528, symBinAddr: 0x4438, symSize: 0x4 } - - { offsetInCU: 0x28DD, offset: 0x794B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x534, symBinAddr: 0x4444, symSize: 0x4 } - - { offsetInCU: 0x2920, offset: 0x794F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x540, symBinAddr: 0x4450, symSize: 0x4 } - - { offsetInCU: 0x2963, offset: 0x7953B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x54C, symBinAddr: 0x445C, symSize: 0x8 } - - { offsetInCU: 0x2A4A, offset: 0x79622, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x578, symBinAddr: 0x4488, symSize: 0x4 } - - { offsetInCU: 0x2AC9, offset: 0x796A1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x590, symBinAddr: 0x44A0, symSize: 0x4 } - - { offsetInCU: 0x2B0C, offset: 0x796E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x59C, symBinAddr: 0x44AC, symSize: 0x58 } - - { offsetInCU: 0x2BCD, offset: 0x797A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x668, symBinAddr: 0x4578, symSize: 0x4 } - - { offsetInCU: 0x2BE1, offset: 0x797B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x66C, symBinAddr: 0x457C, symSize: 0x190 } - - { offsetInCU: 0x2C81, offset: 0x79859, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0x914, symBinAddr: 0x4824, symSize: 0x2C } - - { offsetInCU: 0x2C95, offset: 0x7986D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0x940, symBinAddr: 0x4850, symSize: 0x1C4 } - - { offsetInCU: 0x2D7A, offset: 0x79952, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xBF0, symBinAddr: 0x4B00, symSize: 0x2C } - - { offsetInCU: 0x2D8E, offset: 0x79966, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xC1C, symBinAddr: 0x4B2C, symSize: 0x23C } - - { offsetInCU: 0x2E42, offset: 0x79A1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0xEF0, symBinAddr: 0x4E00, symSize: 0x4 } - - { offsetInCU: 0x2E56, offset: 0x79A2E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0xEF4, symBinAddr: 0x4E04, symSize: 0x38C } - - { offsetInCU: 0x30ED, offset: 0x79CC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1358, symBinAddr: 0x5268, symSize: 0x4 } - - { offsetInCU: 0x3108, offset: 0x79CE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x1390, symBinAddr: 0x52A0, symSize: 0x20 } - - { offsetInCU: 0x311C, offset: 0x79CF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x13B0, symBinAddr: 0x52C0, symSize: 0x30 } - - { offsetInCU: 0x3152, offset: 0x79D2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x141C, symBinAddr: 0x532C, symSize: 0x30 } - - { offsetInCU: 0x4F, offset: 0x79F62, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x5470, symBinAddr: 0x1047D20, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x79F7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x5478, symBinAddr: 0x1047D28, symSize: 0x0 } - - { offsetInCU: 0x83, offset: 0x79F96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x5480, symBinAddr: 0x1047D30, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x79FB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x5488, symBinAddr: 0x1047D38, symSize: 0x0 } - - { offsetInCU: 0xAB, offset: 0x79FBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0x69A8, symSize: 0x40 } - - { offsetInCU: 0xF0, offset: 0x7A003, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x40, symBinAddr: 0x69E8, symSize: 0x30 } - - { offsetInCU: 0x135, offset: 0x7A048, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xA8, symBinAddr: 0x6A50, symSize: 0x40 } - - { offsetInCU: 0x187, offset: 0x7A09A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0x6B3C, symSize: 0x10 } - - { offsetInCU: 0x1A7, offset: 0x7A0BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0x6B3C, symSize: 0x10 } - - { offsetInCU: 0x1DD, offset: 0x7A0F0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0x6B4C, symSize: 0x10 } - - { offsetInCU: 0x1FD, offset: 0x7A110, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0x6B4C, symSize: 0x10 } - - { offsetInCU: 0x236, offset: 0x7A149, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0x6B5C, symSize: 0x10 } - - { offsetInCU: 0x256, offset: 0x7A169, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0x6B5C, symSize: 0x10 } - - { offsetInCU: 0x28C, offset: 0x7A19F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0x6B6C, symSize: 0x10 } - - { offsetInCU: 0x2AC, offset: 0x7A1BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0x6B6C, symSize: 0x10 } - - { offsetInCU: 0x2FB, offset: 0x7A20E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyFTo', symObjAddr: 0x218, symBinAddr: 0x6BC0, symSize: 0x44 } - - { offsetInCU: 0x3C6, offset: 0x7A2D9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyFTo', symObjAddr: 0x2A8, symBinAddr: 0x6C50, symSize: 0x74 } - - { offsetInCU: 0x473, offset: 0x7A386, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x31C, symBinAddr: 0x6CC4, symSize: 0x44 } - - { offsetInCU: 0x4B0, offset: 0x7A3C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x3A4, symBinAddr: 0x6D4C, symSize: 0x30 } - - { offsetInCU: 0x53F, offset: 0x7A452, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x5F8, symBinAddr: 0x6FA0, symSize: 0x44 } - - { offsetInCU: 0x597, offset: 0x7A4AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x680, symBinAddr: 0x7028, symSize: 0x48 } - - { offsetInCU: 0x5F2, offset: 0x7A505, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x6C8, symBinAddr: 0x7070, symSize: 0x44 } - - { offsetInCU: 0x64A, offset: 0x7A55D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x750, symBinAddr: 0x70F8, symSize: 0x48 } - - { offsetInCU: 0x6A5, offset: 0x7A5B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x798, symBinAddr: 0x7140, symSize: 0x10 } - - { offsetInCU: 0x6C5, offset: 0x7A5D8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x798, symBinAddr: 0x7140, symSize: 0x10 } - - { offsetInCU: 0x6FB, offset: 0x7A60E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A8, symBinAddr: 0x7150, symSize: 0x10 } - - { offsetInCU: 0x71B, offset: 0x7A62E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A8, symBinAddr: 0x7150, symSize: 0x10 } - - { offsetInCU: 0x73E, offset: 0x7A651, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7B8, symBinAddr: 0x7160, symSize: 0x10 } - - { offsetInCU: 0x75E, offset: 0x7A671, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7B8, symBinAddr: 0x7160, symSize: 0x10 } - - { offsetInCU: 0x796, offset: 0x7A6A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x7C8, symBinAddr: 0x7170, symSize: 0x34 } - - { offsetInCU: 0x7D9, offset: 0x7A6EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7FC, symBinAddr: 0x71A4, symSize: 0x10 } - - { offsetInCU: 0x7F9, offset: 0x7A70C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7FC, symBinAddr: 0x71A4, symSize: 0x10 } - - { offsetInCU: 0x831, offset: 0x7A744, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x80C, symBinAddr: 0x71B4, symSize: 0x34 } - - { offsetInCU: 0x88A, offset: 0x7A79D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x840, symBinAddr: 0x71E8, symSize: 0x10 } - - { offsetInCU: 0x8AA, offset: 0x7A7BD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x840, symBinAddr: 0x71E8, symSize: 0x10 } - - { offsetInCU: 0x8E0, offset: 0x7A7F3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x850, symBinAddr: 0x71F8, symSize: 0x10 } - - { offsetInCU: 0x900, offset: 0x7A813, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x850, symBinAddr: 0x71F8, symSize: 0x10 } - - { offsetInCU: 0x939, offset: 0x7A84C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x860, symBinAddr: 0x7208, symSize: 0x10 } - - { offsetInCU: 0x959, offset: 0x7A86C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x860, symBinAddr: 0x7208, symSize: 0x10 } - - { offsetInCU: 0x98F, offset: 0x7A8A2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x870, symBinAddr: 0x7218, symSize: 0x10 } - - { offsetInCU: 0x9AF, offset: 0x7A8C2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x870, symBinAddr: 0x7218, symSize: 0x10 } - - { offsetInCU: 0x9D2, offset: 0x7A8E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x880, symBinAddr: 0x7228, symSize: 0x34 } - - { offsetInCU: 0xA04, offset: 0x7A917, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x984, symBinAddr: 0x732C, symSize: 0x34 } - - { offsetInCU: 0xA4C, offset: 0x7A95F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA88, symBinAddr: 0x7430, symSize: 0x20 } - - { offsetInCU: 0xAB4, offset: 0x7A9C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xACC, symBinAddr: 0x7474, symSize: 0x20 } - - { offsetInCU: 0xB53, offset: 0x7AA66, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xB34, symBinAddr: 0x74DC, symSize: 0xC4 } - - { offsetInCU: 0xC00, offset: 0x7AB13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xD58, symBinAddr: 0x7700, symSize: 0x30 } - - { offsetInCU: 0xC9A, offset: 0x7ABAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x15F8, symBinAddr: 0x7FA0, symSize: 0xC4 } - - { offsetInCU: 0xD04, offset: 0x7AC17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x1914, symBinAddr: 0x82BC, symSize: 0xB0 } - - { offsetInCU: 0xD41, offset: 0x7AC54, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1A84, symBinAddr: 0x842C, symSize: 0xB8 } - - { offsetInCU: 0xDB9, offset: 0x7ACCC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1C20, symBinAddr: 0x85C8, symSize: 0x3C } - - { offsetInCU: 0xDEC, offset: 0x7ACFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C5C, symBinAddr: 0x8604, symSize: 0x10 } - - { offsetInCU: 0xE0C, offset: 0x7AD1F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C5C, symBinAddr: 0x8604, symSize: 0x10 } - - { offsetInCU: 0xE46, offset: 0x7AD59, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1C6C, symBinAddr: 0x8614, symSize: 0x34 } - - { offsetInCU: 0xEA1, offset: 0x7ADB4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1CE8, symBinAddr: 0x8690, symSize: 0x48 } - - { offsetInCU: 0xF3B, offset: 0x7AE4E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1D7C, symBinAddr: 0x8724, symSize: 0x64 } - - { offsetInCU: 0x1000, offset: 0x7AF13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1E38, symBinAddr: 0x87E0, symSize: 0x94 } - - { offsetInCU: 0x108D, offset: 0x7AFA0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x1F0C, symBinAddr: 0x88B4, symSize: 0x6C } - - { offsetInCU: 0x10EF, offset: 0x7B002, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x201C, symBinAddr: 0x89C4, symSize: 0x6C } - - { offsetInCU: 0x114C, offset: 0x7B05F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2088, symBinAddr: 0x8A30, symSize: 0xB0 } - - { offsetInCU: 0x119E, offset: 0x7B0B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x2208, symBinAddr: 0x8BB0, symSize: 0x94 } - - { offsetInCU: 0x1230, offset: 0x7B143, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x2E24, symBinAddr: 0x97CC, symSize: 0x28 } - - { offsetInCU: 0x1285, offset: 0x7B198, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x37EC, symBinAddr: 0xA194, symSize: 0x20 } - - { offsetInCU: 0x12B8, offset: 0x7B1CB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x380C, symBinAddr: 0xA1B4, symSize: 0x10 } - - { offsetInCU: 0x12D8, offset: 0x7B1EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x380C, symBinAddr: 0xA1B4, symSize: 0x10 } - - { offsetInCU: 0x1310, offset: 0x7B223, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x381C, symBinAddr: 0xA1C4, symSize: 0x34 } - - { offsetInCU: 0x137E, offset: 0x7B291, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x38D0, symBinAddr: 0xA278, symSize: 0x20 } - - { offsetInCU: 0x13D8, offset: 0x7B2EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x38F0, symBinAddr: 0xA298, symSize: 0x34 } - - { offsetInCU: 0x1438, offset: 0x7B34B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3954, symBinAddr: 0xA2FC, symSize: 0x34 } - - { offsetInCU: 0x157C, offset: 0x7B48F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x3CA0, symBinAddr: 0xA648, symSize: 0x28 } - - { offsetInCU: 0x15AF, offset: 0x7B4C2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x3FCC, symBinAddr: 0xA974, symSize: 0x24 } - - { offsetInCU: 0x15EA, offset: 0x7B4FD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x40B8, symBinAddr: 0xAA60, symSize: 0x34 } - - { offsetInCU: 0x161D, offset: 0x7B530, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4A4C, symBinAddr: 0xB3F4, symSize: 0x298 } - - { offsetInCU: 0x179A, offset: 0x7B6AD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x4DA8, symBinAddr: 0xB750, symSize: 0xA0 } - - { offsetInCU: 0x1A16, offset: 0x7B929, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1EE0, symBinAddr: 0x8888, symSize: 0x2C } - - { offsetInCU: 0x1A2E, offset: 0x7B941, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2190, symBinAddr: 0x8B38, symSize: 0x78 } - - { offsetInCU: 0x1A46, offset: 0x7B959, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x22F8, symBinAddr: 0x8CA0, symSize: 0x94 } - - { offsetInCU: 0x1A7E, offset: 0x7B991, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x238C, symBinAddr: 0x8D34, symSize: 0xB8 } - - { offsetInCU: 0x1AC0, offset: 0x7B9D3, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x2444, symBinAddr: 0x8DEC, symSize: 0x6C } - - { offsetInCU: 0x1B65, offset: 0x7BA78, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x3FF0, symBinAddr: 0xA998, symSize: 0xC4 } - - { offsetInCU: 0x1B95, offset: 0x7BAA8, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x40EC, symBinAddr: 0xAA94, symSize: 0x10 } - - { offsetInCU: 0x1BA9, offset: 0x7BABC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x40FC, symBinAddr: 0xAAA4, symSize: 0x20 } - - { offsetInCU: 0x1BC8, offset: 0x7BADB, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x411C, symBinAddr: 0xAAC4, symSize: 0x64 } - - { offsetInCU: 0x1DCF, offset: 0x7BCE2, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x4CE4, symBinAddr: 0xB68C, symSize: 0x40 } - - { offsetInCU: 0x1DE3, offset: 0x7BCF6, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x4D24, symBinAddr: 0xB6CC, symSize: 0x40 } - - { offsetInCU: 0x1DF7, offset: 0x7BD0A, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x4D64, symBinAddr: 0xB70C, symSize: 0x24 } - - { offsetInCU: 0x1E0B, offset: 0x7BD1E, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x4D88, symBinAddr: 0xB730, symSize: 0x20 } - - { offsetInCU: 0x1E2A, offset: 0x7BD3D, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x5274, symBinAddr: 0xBC1C, symSize: 0x48 } - - { offsetInCU: 0x1E53, offset: 0x7BD66, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x52BC, symBinAddr: 0xBC64, symSize: 0x10 } - - { offsetInCU: 0x1E67, offset: 0x7BD7A, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x52CC, symBinAddr: 0xBC74, symSize: 0x8 } - - { offsetInCU: 0x1E7B, offset: 0x7BD8E, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x52D4, symBinAddr: 0xBC7C, symSize: 0x10 } - - { offsetInCU: 0x1E9A, offset: 0x7BDAD, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x52E4, symBinAddr: 0xBC8C, symSize: 0xC } - - { offsetInCU: 0x1EC3, offset: 0x7BDD6, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5314, symBinAddr: 0xBCBC, symSize: 0x8 } - - { offsetInCU: 0x1EE2, offset: 0x7BDF5, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x531C, symBinAddr: 0xBCC4, symSize: 0x30 } - - { offsetInCU: 0x1F0B, offset: 0x7BE1E, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x534C, symBinAddr: 0xBCF4, symSize: 0x10 } - - { offsetInCU: 0x1F1F, offset: 0x7BE32, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x5394, symBinAddr: 0xBD3C, symSize: 0x3C } - - { offsetInCU: 0x21A4, offset: 0x7C0B7, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x493C, symBinAddr: 0xB2E4, symSize: 0x110 } - - { offsetInCU: 0x2652, offset: 0x7C565, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyF', symObjAddr: 0x1D4, symBinAddr: 0x6B7C, symSize: 0x44 } - - { offsetInCU: 0x26FB, offset: 0x7C60E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyF', symObjAddr: 0x25C, symBinAddr: 0x6C04, symSize: 0x4C } - - { offsetInCU: 0x27A4, offset: 0x7C6B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x360, symBinAddr: 0x6D08, symSize: 0x44 } - - { offsetInCU: 0x27D7, offset: 0x7C6EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x3D4, symBinAddr: 0x6D7C, symSize: 0xEC } - - { offsetInCU: 0x2823, offset: 0x7C736, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x4C0, symBinAddr: 0x6E68, symSize: 0x58 } - - { offsetInCU: 0x2848, offset: 0x7C75B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x518, symBinAddr: 0x6EC0, symSize: 0xE0 } - - { offsetInCU: 0x2889, offset: 0x7C79C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x63C, symBinAddr: 0x6FE4, symSize: 0x44 } - - { offsetInCU: 0x28E1, offset: 0x7C7F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x70C, symBinAddr: 0x70B4, symSize: 0x44 } - - { offsetInCU: 0x2A27, offset: 0x7C93A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x8B4, symBinAddr: 0x725C, symSize: 0xD0 } - - { offsetInCU: 0x2B4C, offset: 0x7CA5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x9B8, symBinAddr: 0x7360, symSize: 0xD0 } - - { offsetInCU: 0x2C92, offset: 0x7CBA5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xAA8, symBinAddr: 0x7450, symSize: 0x24 } - - { offsetInCU: 0x2CDA, offset: 0x7CBED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xAEC, symBinAddr: 0x7494, symSize: 0x24 } - - { offsetInCU: 0x2D0E, offset: 0x7CC21, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xB10, symBinAddr: 0x74B8, symSize: 0x24 } - - { offsetInCU: 0x2E88, offset: 0x7CD9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xBF8, symBinAddr: 0x75A0, symSize: 0x160 } - - { offsetInCU: 0x325A, offset: 0x7D16D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xD88, symBinAddr: 0x7730, symSize: 0x870 } - - { offsetInCU: 0x3A5D, offset: 0x7D970, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x16BC, symBinAddr: 0x8064, symSize: 0x258 } - - { offsetInCU: 0x3E8F, offset: 0x7DDA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x19C4, symBinAddr: 0x836C, symSize: 0xC0 } - - { offsetInCU: 0x3F20, offset: 0x7DE33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1B3C, symBinAddr: 0x84E4, symSize: 0xE4 } - - { offsetInCU: 0x407B, offset: 0x7DF8E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1CA0, symBinAddr: 0x8648, symSize: 0x48 } - - { offsetInCU: 0x4101, offset: 0x7E014, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1D30, symBinAddr: 0x86D8, symSize: 0x4C } - - { offsetInCU: 0x4222, offset: 0x7E135, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1DE0, symBinAddr: 0x8788, symSize: 0x58 } - - { offsetInCU: 0x4318, offset: 0x7E22B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x2138, symBinAddr: 0x8AE0, symSize: 0x58 } - - { offsetInCU: 0x4364, offset: 0x7E277, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x229C, symBinAddr: 0x8C44, symSize: 0x5C } - - { offsetInCU: 0x438D, offset: 0x7E2A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x24B0, symBinAddr: 0x8E58, symSize: 0x44 } - - { offsetInCU: 0x43B3, offset: 0x7E2C6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x24F4, symBinAddr: 0x8E9C, symSize: 0x4 } - - { offsetInCU: 0x446F, offset: 0x7E382, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x24F8, symBinAddr: 0x8EA0, symSize: 0x92C } - - { offsetInCU: 0x465E, offset: 0x7E571, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x2E4C, symBinAddr: 0x97F4, symSize: 0x50 } - - { offsetInCU: 0x4687, offset: 0x7E59A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x2E9C, symBinAddr: 0x9844, symSize: 0x950 } - - { offsetInCU: 0x4897, offset: 0x7E7AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3850, symBinAddr: 0xA1F8, symSize: 0x80 } - - { offsetInCU: 0x498D, offset: 0x7E8A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3924, symBinAddr: 0xA2CC, symSize: 0x30 } - - { offsetInCU: 0x4A2B, offset: 0x7E93E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3988, symBinAddr: 0xA330, symSize: 0x144 } - - { offsetInCU: 0x4C2C, offset: 0x7EB3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3ACC, symBinAddr: 0xA474, symSize: 0x1D4 } - - { offsetInCU: 0x4EA9, offset: 0x7EDBC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x3CC8, symBinAddr: 0xA670, symSize: 0x304 } - - { offsetInCU: 0x4F39, offset: 0x7EE4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x40B4, symBinAddr: 0xAA5C, symSize: 0x4 } - - { offsetInCU: 0x4F67, offset: 0x7EE7A, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x4180, symBinAddr: 0xAB28, symSize: 0x64 } - - { offsetInCU: 0x4FC1, offset: 0x7EED4, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x41E4, symBinAddr: 0xAB8C, symSize: 0x6C } - - { offsetInCU: 0x5041, offset: 0x7EF54, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4250, symBinAddr: 0xABF8, symSize: 0xD8 } - - { offsetInCU: 0x507E, offset: 0x7EF91, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4328, symBinAddr: 0xACD0, symSize: 0xE0 } - - { offsetInCU: 0x50F9, offset: 0x7F00C, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4408, symBinAddr: 0xADB0, symSize: 0x1F4 } - - { offsetInCU: 0x51B5, offset: 0x7F0C8, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x45FC, symBinAddr: 0xAFA4, symSize: 0x340 } - - { offsetInCU: 0x27, offset: 0x7F315, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xBDDC, symSize: 0x10 } - - { offsetInCU: 0x62, offset: 0x7F350, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x10, symBinAddr: 0xBDEC, symSize: 0x20 } - - { offsetInCU: 0x1AF, offset: 0x7F49D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xBDDC, symSize: 0x10 } - - { offsetInCU: 0x65, offset: 0x7F52C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xBE0C, symSize: 0x10 } - - { offsetInCU: 0x85, offset: 0x7F54C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xBE0C, symSize: 0x10 } - - { offsetInCU: 0xBB, offset: 0x7F582, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xBE1C, symSize: 0x10 } - - { offsetInCU: 0xDB, offset: 0x7F5A2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xBE1C, symSize: 0x10 } - - { offsetInCU: 0x114, offset: 0x7F5DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0xBE2C, symSize: 0x44 } - - { offsetInCU: 0x16C, offset: 0x7F633, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x64, symBinAddr: 0xBE70, symSize: 0x48 } - - { offsetInCU: 0x1C7, offset: 0x7F68E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xAC, symBinAddr: 0xBEB8, symSize: 0x44 } - - { offsetInCU: 0x21F, offset: 0x7F6E6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xF0, symBinAddr: 0xBEFC, symSize: 0x48 } - - { offsetInCU: 0x27A, offset: 0x7F741, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0xBF44, symSize: 0x10 } - - { offsetInCU: 0x29A, offset: 0x7F761, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0xBF44, symSize: 0x10 } - - { offsetInCU: 0x2D0, offset: 0x7F797, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0xBF54, symSize: 0x10 } - - { offsetInCU: 0x2F0, offset: 0x7F7B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0xBF54, symSize: 0x10 } - - { offsetInCU: 0x329, offset: 0x7F7F0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0xBF64, symSize: 0x10 } - - { offsetInCU: 0x349, offset: 0x7F810, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0xBF64, symSize: 0x10 } - - { offsetInCU: 0x37F, offset: 0x7F846, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0xBF74, symSize: 0x10 } - - { offsetInCU: 0x39F, offset: 0x7F866, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0xBF74, symSize: 0x10 } - - { offsetInCU: 0x3D8, offset: 0x7F89F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x178, symBinAddr: 0xBF84, symSize: 0x44 } - - { offsetInCU: 0x430, offset: 0x7F8F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1BC, symBinAddr: 0xBFC8, symSize: 0x48 } - - { offsetInCU: 0x48B, offset: 0x7F952, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0xC010, symSize: 0x10 } - - { offsetInCU: 0x4AB, offset: 0x7F972, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0xC010, symSize: 0x10 } - - { offsetInCU: 0x4E1, offset: 0x7F9A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0xC020, symSize: 0x10 } - - { offsetInCU: 0x501, offset: 0x7F9C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0xC020, symSize: 0x10 } - - { offsetInCU: 0x53A, offset: 0x7FA01, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0xC030, symSize: 0x10 } - - { offsetInCU: 0x55A, offset: 0x7FA21, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0xC030, symSize: 0x10 } - - { offsetInCU: 0x590, offset: 0x7FA57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0xC040, symSize: 0x10 } - - { offsetInCU: 0x5B0, offset: 0x7FA77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0xC040, symSize: 0x10 } - - { offsetInCU: 0x5E9, offset: 0x7FAB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x244, symBinAddr: 0xC050, symSize: 0x48 } - - { offsetInCU: 0x63F, offset: 0x7FB06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x28C, symBinAddr: 0xC098, symSize: 0x40 } - - { offsetInCU: 0x682, offset: 0x7FB49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2CC, symBinAddr: 0xC0D8, symSize: 0x8 } - - { offsetInCU: 0x69E, offset: 0x7FB65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2D4, symBinAddr: 0xC0E0, symSize: 0x2C } - - { offsetInCU: 0x6D0, offset: 0x7FB97, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0xC10C, symSize: 0x10 } - - { offsetInCU: 0x6F0, offset: 0x7FBB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0xC10C, symSize: 0x10 } - - { offsetInCU: 0x728, offset: 0x7FBEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x310, symBinAddr: 0xC11C, symSize: 0x34 } - - { offsetInCU: 0x781, offset: 0x7FC48, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0xC224, symSize: 0x10 } - - { offsetInCU: 0x7A1, offset: 0x7FC68, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0xC224, symSize: 0x10 } - - { offsetInCU: 0x7D7, offset: 0x7FC9E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0xC234, symSize: 0x10 } - - { offsetInCU: 0x7F7, offset: 0x7FCBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0xC234, symSize: 0x10 } - - { offsetInCU: 0x846, offset: 0x7FD0D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x5A4, symBinAddr: 0xC370, symSize: 0x20 } - - { offsetInCU: 0x878, offset: 0x7FD3F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x708, symBinAddr: 0xC4D4, symSize: 0x28 } - - { offsetInCU: 0x8D0, offset: 0x7FD97, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x744, symBinAddr: 0xC510, symSize: 0x88 } - - { offsetInCU: 0x934, offset: 0x7FDFB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x7CC, symBinAddr: 0xC598, symSize: 0x7C } - - { offsetInCU: 0x9D6, offset: 0x7FE9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xBF4, symBinAddr: 0xC9C0, symSize: 0x28 } - - { offsetInCU: 0xAC0, offset: 0x7FF87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x584, symBinAddr: 0xC350, symSize: 0x20 } - - { offsetInCU: 0xB34, offset: 0x7FFFB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xC4C, symBinAddr: 0xCA18, symSize: 0x58 } - - { offsetInCU: 0x123B, offset: 0x80702, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x438, symBinAddr: 0xC244, symSize: 0x20 } - - { offsetInCU: 0x1255, offset: 0x8071C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x458, symBinAddr: 0xC264, symSize: 0xEC } - - { offsetInCU: 0x128D, offset: 0x80754, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x5C4, symBinAddr: 0xC390, symSize: 0x144 } - - { offsetInCU: 0x1448, offset: 0x8090F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x730, symBinAddr: 0xC4FC, symSize: 0x14 } - - { offsetInCU: 0x14F9, offset: 0x809C0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x848, symBinAddr: 0xC614, symSize: 0x3AC } - - { offsetInCU: 0x1869, offset: 0x80D30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xC1C, symBinAddr: 0xC9E8, symSize: 0x30 } - - { offsetInCU: 0x1954, offset: 0x80E1B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xCA4, symBinAddr: 0xCA70, symSize: 0x65C } - - { offsetInCU: 0x2152, offset: 0x81619, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x1344, symBinAddr: 0xD110, symSize: 0x6C8 } - - { offsetInCU: 0x10C, offset: 0x81FD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0xED4, symBinAddr: 0xE684, symSize: 0x68 } - - { offsetInCU: 0x19C, offset: 0x82069, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0xF48, symBinAddr: 0xE6F8, symSize: 0x10 } - - { offsetInCU: 0x1CB, offset: 0x82098, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0xF58, symBinAddr: 0xE708, symSize: 0x4 } - - { offsetInCU: 0x368, offset: 0x82235, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x16DC, symBinAddr: 0xEE8C, symSize: 0x2C } - - { offsetInCU: 0x5D4, offset: 0x824A1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1744, symBinAddr: 0xEEF4, symSize: 0x68 } - - { offsetInCU: 0x603, offset: 0x824D0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x17AC, symBinAddr: 0xEF5C, symSize: 0x20 } - - { offsetInCU: 0x617, offset: 0x824E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x17CC, symBinAddr: 0xEF7C, symSize: 0x20 } - - { offsetInCU: 0x62B, offset: 0x824F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x17EC, symBinAddr: 0xEF9C, symSize: 0x30 } - - { offsetInCU: 0x63F, offset: 0x8250C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x181C, symBinAddr: 0xEFCC, symSize: 0x8 } - - { offsetInCU: 0x653, offset: 0x82520, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1824, symBinAddr: 0xEFD4, symSize: 0x3C } - - { offsetInCU: 0x667, offset: 0x82534, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1860, symBinAddr: 0xF010, symSize: 0x50 } - - { offsetInCU: 0x67B, offset: 0x82548, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x18BC, symBinAddr: 0xF060, symSize: 0x40 } - - { offsetInCU: 0x68F, offset: 0x8255C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x18FC, symBinAddr: 0xF0A0, symSize: 0x48 } - - { offsetInCU: 0x6A3, offset: 0x82570, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1944, symBinAddr: 0xF0E8, symSize: 0x40 } - - { offsetInCU: 0x6B7, offset: 0x82584, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1984, symBinAddr: 0xF128, symSize: 0x10 } - - { offsetInCU: 0x6CB, offset: 0x82598, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1994, symBinAddr: 0xF138, symSize: 0x48 } - - { offsetInCU: 0x6DF, offset: 0x825AC, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1AA0, symBinAddr: 0xF180, symSize: 0x58 } - - { offsetInCU: 0x6F3, offset: 0x825C0, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1AF8, symBinAddr: 0xF1D8, symSize: 0x8 } - - { offsetInCU: 0x761, offset: 0x8262E, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x1DE4, symBinAddr: 0xF4C4, symSize: 0x10 } - - { offsetInCU: 0xCBB, offset: 0x82B88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0xD7D8, symSize: 0x540 } - - { offsetInCU: 0xF57, offset: 0x82E24, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x54C, symBinAddr: 0xDD24, symSize: 0xE0 } - - { offsetInCU: 0xFD6, offset: 0x82EA3, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0xDEB4, symSize: 0x9C } - - { offsetInCU: 0x1069, offset: 0x82F36, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0xDCC, symBinAddr: 0xE57C, symSize: 0x108 } - - { offsetInCU: 0x11B3, offset: 0x83080, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x12D0, symBinAddr: 0xEA80, symSize: 0x40C } - - { offsetInCU: 0x18C9, offset: 0x83796, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1B00, symBinAddr: 0xF1E0, symSize: 0x14 } - - { offsetInCU: 0x1968, offset: 0x83835, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1B14, symBinAddr: 0xF1F4, symSize: 0x1DC } - - { offsetInCU: 0x27, offset: 0x83A12, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xF4D4, symSize: 0x2C } - - { offsetInCU: 0x4B, offset: 0x83A36, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2D8, symBinAddr: 0x1048048, symSize: 0x0 } - - { offsetInCU: 0x65, offset: 0x83A50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xF4D4, symSize: 0x2C } - - { offsetInCU: 0x98, offset: 0x83A83, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x178, symBinAddr: 0xF64C, symSize: 0x40 } - - { offsetInCU: 0x104, offset: 0x83AEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x228, symBinAddr: 0xF6FC, symSize: 0x3C } - - { offsetInCU: 0x156, offset: 0x83B41, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x2C, symBinAddr: 0xF500, symSize: 0x10C } - - { offsetInCU: 0x181, offset: 0x83B6C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x208, symBinAddr: 0xF6DC, symSize: 0x20 } - - { offsetInCU: 0x195, offset: 0x83B80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x294, symBinAddr: 0xF768, symSize: 0x4 } - - { offsetInCU: 0x1C0, offset: 0x83BAB, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x298, symBinAddr: 0xF76C, symSize: 0x3C } - - { offsetInCU: 0x348, offset: 0x83D33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x138, symBinAddr: 0xF60C, symSize: 0x40 } - - { offsetInCU: 0x388, offset: 0x83D73, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x1B8, symBinAddr: 0xF68C, symSize: 0x20 } - - { offsetInCU: 0x39C, offset: 0x83D87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1D8, symBinAddr: 0xF6AC, symSize: 0x30 } - - { offsetInCU: 0x3D8, offset: 0x83DC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x264, symBinAddr: 0xF738, symSize: 0x30 } - - { offsetInCU: 0x2B, offset: 0x83E11, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xF7A8, symSize: 0xA4 } - - { offsetInCU: 0x66, offset: 0x83E4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA4, symBinAddr: 0xF84C, symSize: 0xA4 } - - { offsetInCU: 0xF9, offset: 0x83EDF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D8, symBinAddr: 0xF980, symSize: 0x110 } - - { offsetInCU: 0x1A2, offset: 0x83F88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x30C, symBinAddr: 0xFAB4, symSize: 0x28 } - - { offsetInCU: 0x222, offset: 0x84008, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x338, symBinAddr: 0xFAE0, symSize: 0xA0 } - - { offsetInCU: 0x29B, offset: 0x84081, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4D0, symBinAddr: 0xFC78, symSize: 0x15C } - - { offsetInCU: 0x330, offset: 0x84116, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x67C, symBinAddr: 0xFE24, symSize: 0x3C } - - { offsetInCU: 0x381, offset: 0x84167, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6E8, symBinAddr: 0xFE90, symSize: 0x160 } - - { offsetInCU: 0x4DF, offset: 0x842C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x848, symBinAddr: 0xFFF0, symSize: 0x2E4 } - - { offsetInCU: 0x5AE, offset: 0x84394, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB2C, symBinAddr: 0x102D4, symSize: 0x20 } - - { offsetInCU: 0x5C2, offset: 0x843A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB4C, symBinAddr: 0x102F4, symSize: 0x44 } - - { offsetInCU: 0x5D6, offset: 0x843BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xB90, symBinAddr: 0x10338, symSize: 0x2C } - - { offsetInCU: 0x5EA, offset: 0x843D0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBBC, symBinAddr: 0x10364, symSize: 0x8 } - - { offsetInCU: 0x5FE, offset: 0x843E4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBC4, symBinAddr: 0x1036C, symSize: 0x40 } - - { offsetInCU: 0x612, offset: 0x843F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC10, symBinAddr: 0x103AC, symSize: 0x30 } - - { offsetInCU: 0x626, offset: 0x8440C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC40, symBinAddr: 0x103DC, symSize: 0x48 } - - { offsetInCU: 0x63A, offset: 0x84420, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xC88, symBinAddr: 0x10424, symSize: 0x3C } - - { offsetInCU: 0x64E, offset: 0x84434, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCC4, symBinAddr: 0x10460, symSize: 0x8 } - - { offsetInCU: 0x662, offset: 0x84448, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCCC, symBinAddr: 0x10468, symSize: 0x4 } - - { offsetInCU: 0x676, offset: 0x8445C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xCD0, symBinAddr: 0x1046C, symSize: 0x4 } - - { offsetInCU: 0x68A, offset: 0x84470, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xCD4, symBinAddr: 0x10470, symSize: 0x10 } - - { offsetInCU: 0x712, offset: 0x844F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D8, symBinAddr: 0xFB80, symSize: 0x4 } - - { offsetInCU: 0x72E, offset: 0x84514, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3DC, symBinAddr: 0xFB84, symSize: 0x4 } - - { offsetInCU: 0x74A, offset: 0x84530, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3E0, symBinAddr: 0xFB88, symSize: 0x4 } - - { offsetInCU: 0x766, offset: 0x8454C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x3E4, symBinAddr: 0xFB8C, symSize: 0x4 } - - { offsetInCU: 0xA14, offset: 0x847FA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xF7A8, symSize: 0xA4 } - - { offsetInCU: 0xAAA, offset: 0x84890, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x148, symBinAddr: 0xF8F0, symSize: 0x90 } - - { offsetInCU: 0xC31, offset: 0x84A17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2E8, symBinAddr: 0xFA90, symSize: 0x24 } - - { offsetInCU: 0xC7B, offset: 0x84A61, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x334, symBinAddr: 0xFADC, symSize: 0x4 } - - { offsetInCU: 0xC9D, offset: 0x84A83, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x3E8, symBinAddr: 0xFB90, symSize: 0xE8 } - - { offsetInCU: 0xD4D, offset: 0x84B33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x62C, symBinAddr: 0xFDD4, symSize: 0x20 } - - { offsetInCU: 0xD61, offset: 0x84B47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x64C, symBinAddr: 0xFDF4, symSize: 0x30 } - - { offsetInCU: 0xD97, offset: 0x84B7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6B8, symBinAddr: 0xFE60, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x84C96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x10484, symSize: 0x4 } - - { offsetInCU: 0x71, offset: 0x84CE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x4, symBinAddr: 0x10488, symSize: 0x70 } - - { offsetInCU: 0xF6, offset: 0x84D65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x78, symBinAddr: 0x104FC, symSize: 0x50 } - - { offsetInCU: 0x191, offset: 0x84E00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xCC, symBinAddr: 0x10550, symSize: 0x68 } - - { offsetInCU: 0x254, offset: 0x84EC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x138, symBinAddr: 0x105BC, symSize: 0x98 } - - { offsetInCU: 0x323, offset: 0x84F92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x220, symBinAddr: 0x106A4, symSize: 0x3C } - - { offsetInCU: 0x375, offset: 0x84FE4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x28C, symBinAddr: 0x10710, symSize: 0x20 } - - { offsetInCU: 0x4E5, offset: 0x85154, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x10484, symSize: 0x4 } - - { offsetInCU: 0x51D, offset: 0x8518C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x10484, symSize: 0x4 } - - { offsetInCU: 0x588, offset: 0x851F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x104F8, symSize: 0x4 } - - { offsetInCU: 0x5C8, offset: 0x85237, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x104F8, symSize: 0x4 } - - { offsetInCU: 0x62A, offset: 0x85299, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x1054C, symSize: 0x4 } - - { offsetInCU: 0x67C, offset: 0x852EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x1054C, symSize: 0x4 } - - { offsetInCU: 0x6F1, offset: 0x85360, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x105B8, symSize: 0x4 } - - { offsetInCU: 0x767, offset: 0x853D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x105B8, symSize: 0x4 } - - { offsetInCU: 0x805, offset: 0x85474, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1D0, symBinAddr: 0x10654, symSize: 0x20 } - - { offsetInCU: 0x819, offset: 0x85488, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x1F0, symBinAddr: 0x10674, symSize: 0x30 } - - { offsetInCU: 0x84F, offset: 0x854BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x25C, symBinAddr: 0x106E0, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x85508, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x10730, symSize: 0x14 } - - { offsetInCU: 0xA9, offset: 0x8558A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x14, symBinAddr: 0x10744, symSize: 0x38 } - - { offsetInCU: 0x1A2, offset: 0x85683, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x68, symBinAddr: 0x10798, symSize: 0x40 } - - { offsetInCU: 0x284, offset: 0x85765, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x118, symBinAddr: 0x10848, symSize: 0x3C } - - { offsetInCU: 0x2D6, offset: 0x857B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0xF8, symBinAddr: 0x10828, symSize: 0x20 } - - { offsetInCU: 0x480, offset: 0x85961, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x10730, symSize: 0x14 } - - { offsetInCU: 0x5C4, offset: 0x85AA5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x4C, symBinAddr: 0x1077C, symSize: 0x1C } - - { offsetInCU: 0x6FA, offset: 0x85BDB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0xA8, symBinAddr: 0x107D8, symSize: 0x20 } - - { offsetInCU: 0x70E, offset: 0x85BEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0xC8, symBinAddr: 0x107F8, symSize: 0x30 } - - { offsetInCU: 0x744, offset: 0x85C25, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x154, symBinAddr: 0x10884, symSize: 0x30 } - - { offsetInCU: 0x61, offset: 0x85CA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x108B8, symSize: 0x10 } - - { offsetInCU: 0x81, offset: 0x85CC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x108B8, symSize: 0x10 } - - { offsetInCU: 0xB7, offset: 0x85CFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x108C8, symSize: 0x10 } - - { offsetInCU: 0xD7, offset: 0x85D1F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x108C8, symSize: 0x10 } - - { offsetInCU: 0x110, offset: 0x85D58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x24, symBinAddr: 0x108D8, symSize: 0x48 } - - { offsetInCU: 0x168, offset: 0x85DB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xB4, symBinAddr: 0x10968, symSize: 0x50 } - - { offsetInCU: 0x1C3, offset: 0x85E0B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x109B8, symSize: 0x10 } - - { offsetInCU: 0x1E3, offset: 0x85E2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x109B8, symSize: 0x10 } - - { offsetInCU: 0x219, offset: 0x85E61, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x109C8, symSize: 0x10 } - - { offsetInCU: 0x239, offset: 0x85E81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x109C8, symSize: 0x10 } - - { offsetInCU: 0x272, offset: 0x85EBA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1B0, symBinAddr: 0x10A64, symSize: 0x78 } - - { offsetInCU: 0x2C8, offset: 0x85F10, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x2D4, symBinAddr: 0x10B88, symSize: 0xB0 } - - { offsetInCU: 0x32A, offset: 0x85F72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x43C, symBinAddr: 0x10CF0, symSize: 0x28 } - - { offsetInCU: 0x35C, offset: 0x85FA4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x4E0, symBinAddr: 0x10D18, symSize: 0xA0 } - - { offsetInCU: 0x3DD, offset: 0x86025, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x5BC, symBinAddr: 0x10DB8, symSize: 0x60 } - - { offsetInCU: 0x44D, offset: 0x86095, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x620, symBinAddr: 0x10E1C, symSize: 0x4C } - - { offsetInCU: 0x4BF, offset: 0x86107, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x70C, symBinAddr: 0x10F08, symSize: 0x34 } - - { offsetInCU: 0x533, offset: 0x8617B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x190, symBinAddr: 0x10A44, symSize: 0x20 } - - { offsetInCU: 0x55D, offset: 0x861A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x74C, symBinAddr: 0x10F48, symSize: 0x10 } - - { offsetInCU: 0x65B, offset: 0x862A3, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xA08, symBinAddr: 0x11204, symSize: 0x74 } - - { offsetInCU: 0x699, offset: 0x862E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x11278, symSize: 0x10 } - - { offsetInCU: 0x6B9, offset: 0x86301, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x11278, symSize: 0x10 } - - { offsetInCU: 0x6EF, offset: 0x86337, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x11288, symSize: 0x10 } - - { offsetInCU: 0x70F, offset: 0x86357, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x11288, symSize: 0x10 } - - { offsetInCU: 0x748, offset: 0x86390, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xA9C, symBinAddr: 0x11298, symSize: 0x20 } - - { offsetInCU: 0x7A0, offset: 0x863E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xABC, symBinAddr: 0x112B8, symSize: 0x14 } - - { offsetInCU: 0x7FB, offset: 0x86443, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xAD0, symBinAddr: 0x112CC, symSize: 0x44 } - - { offsetInCU: 0x853, offset: 0x8649B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xB58, symBinAddr: 0x11354, symSize: 0x48 } - - { offsetInCU: 0x8E8, offset: 0x86530, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xCBC, symBinAddr: 0x114B8, symSize: 0x78 } - - { offsetInCU: 0x93E, offset: 0x86586, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xE34, symBinAddr: 0x11630, symSize: 0xB0 } - - { offsetInCU: 0x9A0, offset: 0x865E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x1178C, symSize: 0x28 } - - { offsetInCU: 0x9D2, offset: 0x8661A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0xFB8, symBinAddr: 0x117B4, symSize: 0xB8 } - - { offsetInCU: 0xA53, offset: 0x8669B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x1074, symBinAddr: 0x1186C, symSize: 0x28 } - - { offsetInCU: 0xAB1, offset: 0x866F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x10D8, symBinAddr: 0x118D0, symSize: 0x10 } - - { offsetInCU: 0xC88, offset: 0x868D0, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgmq5', symObjAddr: 0x13D0, symBinAddr: 0x11ACC, symSize: 0x64 } - - { offsetInCU: 0xCD9, offset: 0x86921, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x15D8, symBinAddr: 0x11CD4, symSize: 0x44 } - - { offsetInCU: 0xCED, offset: 0x86935, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x161C, symBinAddr: 0x11D18, symSize: 0x44 } - - { offsetInCU: 0xD01, offset: 0x86949, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x1660, symBinAddr: 0x11D5C, symSize: 0x20 } - - { offsetInCU: 0xDDB, offset: 0x86A23, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x14B8, symBinAddr: 0x11BB4, symSize: 0x110 } - - { offsetInCU: 0x1086, offset: 0x86CCE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x6C, symBinAddr: 0x10920, symSize: 0x48 } - - { offsetInCU: 0x1103, offset: 0x86D4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x124, symBinAddr: 0x109D8, symSize: 0x6C } - - { offsetInCU: 0x114A, offset: 0x86D92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x228, symBinAddr: 0x10ADC, symSize: 0xAC } - - { offsetInCU: 0x11AE, offset: 0x86DF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x384, symBinAddr: 0x10C38, symSize: 0xB8 } - - { offsetInCU: 0x1239, offset: 0x86E81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x61C, symBinAddr: 0x10E18, symSize: 0x4 } - - { offsetInCU: 0x125A, offset: 0x86EA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x66C, symBinAddr: 0x10E68, symSize: 0x74 } - - { offsetInCU: 0x126E, offset: 0x86EB6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x6E0, symBinAddr: 0x10EDC, symSize: 0x2C } - - { offsetInCU: 0x1387, offset: 0x86FCF, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x75C, symBinAddr: 0x10F58, symSize: 0x2AC } - - { offsetInCU: 0x1731, offset: 0x87379, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xB14, symBinAddr: 0x11310, symSize: 0x44 } - - { offsetInCU: 0x1770, offset: 0x873B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xBA0, symBinAddr: 0x1139C, symSize: 0x48 } - - { offsetInCU: 0x1795, offset: 0x873DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xBE8, symBinAddr: 0x113E4, symSize: 0x44 } - - { offsetInCU: 0x17BA, offset: 0x87402, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xC2C, symBinAddr: 0x11428, symSize: 0x4 } - - { offsetInCU: 0x17E1, offset: 0x87429, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xC30, symBinAddr: 0x1142C, symSize: 0x20 } - - { offsetInCU: 0x17F5, offset: 0x8743D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xC50, symBinAddr: 0x1144C, symSize: 0x6C } - - { offsetInCU: 0x183C, offset: 0x87484, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xD88, symBinAddr: 0x11584, symSize: 0xAC } - - { offsetInCU: 0x189B, offset: 0x874E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0xEE4, symBinAddr: 0x116E0, symSize: 0xAC } - - { offsetInCU: 0x1940, offset: 0x87588, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x10E8, symBinAddr: 0x118E0, symSize: 0x104 } - - { offsetInCU: 0x1A6F, offset: 0x876B7, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x12E8, symBinAddr: 0x119E4, symSize: 0xE8 } - - { offsetInCU: 0x1BB3, offset: 0x877FB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x1434, symBinAddr: 0x11B30, symSize: 0x84 } - - { offsetInCU: 0x1CAC, offset: 0x878F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x1680, symBinAddr: 0x11D7C, symSize: 0x360 } - - { offsetInCU: 0x2B, offset: 0x87D0E, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x122C8, symSize: 0x2C } - - { offsetInCU: 0x4F, offset: 0x87D32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x958, symBinAddr: 0x1048190, symSize: 0x0 } - - { offsetInCU: 0x5D, offset: 0x87D40, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x122C8, symSize: 0x2C } - - { offsetInCU: 0x75, offset: 0x87D58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x2C, symBinAddr: 0x122F4, symSize: 0x10C } - - { offsetInCU: 0xBC, offset: 0x87D9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x13C, symBinAddr: 0x12404, symSize: 0x44 } - - { offsetInCU: 0x132, offset: 0x87E15, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3AC, symBinAddr: 0x12674, symSize: 0x80 } - - { offsetInCU: 0x191, offset: 0x87E74, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x47C, symBinAddr: 0x12744, symSize: 0x3C } - - { offsetInCU: 0x1E2, offset: 0x87EC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x4EC, symBinAddr: 0x127B4, symSize: 0x1DC } - - { offsetInCU: 0x269, offset: 0x87F4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x4E8, symBinAddr: 0x127B0, symSize: 0x4 } - - { offsetInCU: 0x2A5, offset: 0x87F88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x6C8, symBinAddr: 0x12990, symSize: 0x20 } - - { offsetInCU: 0x2C4, offset: 0x87FA7, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x70C, symBinAddr: 0x129D4, symSize: 0x14 } - - { offsetInCU: 0x2ED, offset: 0x87FD0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x74C, symBinAddr: 0x12A14, symSize: 0xC } - - { offsetInCU: 0x301, offset: 0x87FE4, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x758, symBinAddr: 0x12A20, symSize: 0x10 } - - { offsetInCU: 0x315, offset: 0x87FF8, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x768, symBinAddr: 0x12A30, symSize: 0x8 } - - { offsetInCU: 0x329, offset: 0x8800C, size: 0x8, addend: 0x0, symName: '_$s8Dispatch0A13WorkItemFlagsVACs10SetAlgebraAAWl', symObjAddr: 0x770, symBinAddr: 0x12A38, symSize: 0x48 } - - { offsetInCU: 0x33D, offset: 0x88020, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGSayxGSTsWl', symObjAddr: 0x7F8, symBinAddr: 0x12A80, symSize: 0x4C } - - { offsetInCU: 0x351, offset: 0x88034, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x844, symBinAddr: 0x12ACC, symSize: 0x44 } - - { offsetInCU: 0x365, offset: 0x88048, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8C4, symBinAddr: 0x12B10, symSize: 0x24 } - - { offsetInCU: 0x399, offset: 0x8807C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x90C, symBinAddr: 0x12B58, symSize: 0x24 } - - { offsetInCU: 0x52E, offset: 0x88211, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x12400, symSize: 0x4 } - - { offsetInCU: 0x55C, offset: 0x8823F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x12400, symSize: 0x4 } - - { offsetInCU: 0x5BB, offset: 0x8829E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x180, symBinAddr: 0x12448, symSize: 0x4 } - - { offsetInCU: 0x5CF, offset: 0x882B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x184, symBinAddr: 0x1244C, symSize: 0x228 } - - { offsetInCU: 0x6A8, offset: 0x8838B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x42C, symBinAddr: 0x126F4, symSize: 0x20 } - - { offsetInCU: 0x6BC, offset: 0x8839F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x44C, symBinAddr: 0x12714, symSize: 0x30 } - - { offsetInCU: 0x6F2, offset: 0x883D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4B8, symBinAddr: 0x12780, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x8847B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x12B90, symSize: 0x20 } - - { offsetInCU: 0x77, offset: 0x884CB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x12C00, symSize: 0x3C } - - { offsetInCU: 0xC9, offset: 0x8851D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x12BE0, symSize: 0x20 } - - { offsetInCU: 0x214, offset: 0x88668, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x12B90, symSize: 0x20 } - - { offsetInCU: 0x228, offset: 0x8867C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x12BB0, symSize: 0x30 } - - { offsetInCU: 0x264, offset: 0x886B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xAC, symBinAddr: 0x12C3C, symSize: 0x30 } - - { offsetInCU: 0x26, offset: 0x88701, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x24627C, symSize: 0x265C } - - { offsetInCU: 0x40, offset: 0x8871B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9E20, symBinAddr: 0x91D350, symSize: 0x0 } - - { offsetInCU: 0x92, offset: 0x8876D, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFE20, symBinAddr: 0x923350, symSize: 0x0 } - - { offsetInCU: 0xF6, offset: 0x887D1, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE48, symBinAddr: 0x923378, symSize: 0x0 } - - { offsetInCU: 0x10C, offset: 0x887E7, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10250, symBinAddr: 0x923780, symSize: 0x0 } - - { offsetInCU: 0x123, offset: 0x887FE, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE90, symBinAddr: 0x9233C0, symSize: 0x0 } - - { offsetInCU: 0x9C2, offset: 0x8909D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x24627C, symSize: 0x265C } - - { offsetInCU: 0x45D1, offset: 0x8CCAC, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x2488D8, symSize: 0x134 } - - { offsetInCU: 0x46F7, offset: 0x8CDD2, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9954, symBinAddr: 0x24FBD0, symSize: 0x21C } - - { offsetInCU: 0x4926, offset: 0x8D001, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FE0, symBinAddr: 0x24B25C, symSize: 0x1B8 } - - { offsetInCU: 0x5313, offset: 0x8D9EE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x248A0C, symSize: 0x5BC } - - { offsetInCU: 0x5F76, offset: 0x8E651, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x248FC8, symSize: 0x7F8 } - - { offsetInCU: 0x642E, offset: 0x8EB09, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x2497C0, symSize: 0x208 } - - { offsetInCU: 0x69FC, offset: 0x8F0D7, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x2499C8, symSize: 0x7B4 } - - { offsetInCU: 0x77D5, offset: 0x8FEB0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3F00, symBinAddr: 0x24A17C, symSize: 0x634 } - - { offsetInCU: 0x8196, offset: 0x90871, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4534, symBinAddr: 0x24A7B0, symSize: 0xAAC } - - { offsetInCU: 0x9567, offset: 0x91C42, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x529C, symBinAddr: 0x24B518, symSize: 0x23F8 } - - { offsetInCU: 0xCAB8, offset: 0x95193, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5198, symBinAddr: 0x24B414, symSize: 0x104 } - - { offsetInCU: 0xCD20, offset: 0x953FB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7694, symBinAddr: 0x24D910, symSize: 0x30 } - - { offsetInCU: 0xCE11, offset: 0x954EC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C4, symBinAddr: 0x24D940, symSize: 0x58 } - - { offsetInCU: 0xCE86, offset: 0x95561, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x24D998, symSize: 0x4 } - - { offsetInCU: 0xCECE, offset: 0x955A9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x24D998, symSize: 0x4 } - - { offsetInCU: 0xCEFD, offset: 0x955D8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x24D998, symSize: 0x4 } - - { offsetInCU: 0xCF21, offset: 0x955FC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x7720, symBinAddr: 0x24D99C, symSize: 0x8C } - - { offsetInCU: 0xD056, offset: 0x95731, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x24DA28, symSize: 0x4 } - - { offsetInCU: 0xD08F, offset: 0x9576A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x24DA28, symSize: 0x4 } - - { offsetInCU: 0xD328, offset: 0x95A03, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77B0, symBinAddr: 0x24DA2C, symSize: 0x15D8 } - - { offsetInCU: 0x10671, offset: 0x98D4C, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B70, symBinAddr: 0x24FDEC, symSize: 0x218 } - - { offsetInCU: 0x10CA3, offset: 0x9937E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D88, symBinAddr: 0x24F004, symSize: 0x20 } - - { offsetInCU: 0x11140, offset: 0x9981B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8DA8, symBinAddr: 0x24F024, symSize: 0xBAC } - - { offsetInCU: 0x26, offset: 0x9A5E6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x250004, symSize: 0x1F4 } - - { offsetInCU: 0x1D2, offset: 0x9A792, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x250004, symSize: 0x1F4 } - - { offsetInCU: 0x26, offset: 0x9AA2D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2501F8, symSize: 0x3C } - - { offsetInCU: 0x34, offset: 0x9AA3B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2501F8, symSize: 0x3C } - - { offsetInCU: 0x26, offset: 0x9AB4B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x250234, symSize: 0x98 } - - { offsetInCU: 0x34, offset: 0x9AB59, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x250234, symSize: 0x98 } - - { offsetInCU: 0x86, offset: 0x9ACBC, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x923830, symSize: 0x0 } - - { offsetInCU: 0xB8, offset: 0x9ACEE, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x9237C0, symSize: 0x0 } - - { offsetInCU: 0xDA, offset: 0x9AD10, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x9237F0, symSize: 0x0 } - - { offsetInCU: 0xF0, offset: 0x9AD26, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x923820, symSize: 0x0 } - - { offsetInCU: 0x3B7, offset: 0x9AFED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2502CC, symSize: 0x18 } - - { offsetInCU: 0x3FB, offset: 0x9B031, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2502CC, symSize: 0x18 } - - { offsetInCU: 0x594, offset: 0x9B1CA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x2502E4, symSize: 0x18 } - - { offsetInCU: 0x63F, offset: 0x9B275, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x2502FC, symSize: 0x320 } - - { offsetInCU: 0x1173, offset: 0x9BDA9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x25061C, symSize: 0xAC } - - { offsetInCU: 0x1469, offset: 0x9C09F, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x2506C8, symSize: 0x500 } - - { offsetInCU: 0x2666, offset: 0x9D29C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x250BC8, symSize: 0x2C8 } - - { offsetInCU: 0x2CB5, offset: 0x9D8EB, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x250E90, symSize: 0xF4 } - - { offsetInCU: 0x2EC7, offset: 0x9DAFD, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x250F84, symSize: 0x168 } - - { offsetInCU: 0x26, offset: 0x9DE28, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2510EC, symSize: 0x38 } - - { offsetInCU: 0xFA, offset: 0x9DEFC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2510EC, symSize: 0x38 } - - { offsetInCU: 0x12C, offset: 0x9DF2E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2510EC, symSize: 0x38 } - - { offsetInCU: 0x199, offset: 0x9DF9B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x251124, symSize: 0x3C } - - { offsetInCU: 0x1F3, offset: 0x9DFF5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x251124, symSize: 0x3C } - - { offsetInCU: 0x31B, offset: 0x9E11D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x251160, symSize: 0x5C } - - { offsetInCU: 0x517, offset: 0x9E319, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x2511BC, symSize: 0x1C } - - { offsetInCU: 0x636, offset: 0x9E438, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x2511D8, symSize: 0x54 } - - { offsetInCU: 0x6D9, offset: 0x9E4DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x25122C, symSize: 0x4C } - - { offsetInCU: 0x8A7, offset: 0x9E6A9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x251278, symSize: 0xA8 } - - { offsetInCU: 0x90B, offset: 0x9E70D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x251278, symSize: 0xA8 } - - { offsetInCU: 0xBAA, offset: 0x9E9AC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x251320, symSize: 0x110 } - - { offsetInCU: 0xC4C, offset: 0x9EA4E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x251320, symSize: 0x110 } - - { offsetInCU: 0xEDE, offset: 0x9ECE0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x251430, symSize: 0xB0 } - - { offsetInCU: 0xF5E, offset: 0x9ED60, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x251430, symSize: 0xB0 } - - { offsetInCU: 0x10E1, offset: 0x9EEE3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x2514E0, symSize: 0x198 } - - { offsetInCU: 0x13AB, offset: 0x9F1AD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x58C, symBinAddr: 0x251678, symSize: 0x290 } - - { offsetInCU: 0x1500, offset: 0x9F302, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x81C, symBinAddr: 0x251908, symSize: 0x18 } - - { offsetInCU: 0x1567, offset: 0x9F369, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x834, symBinAddr: 0x251920, symSize: 0xC } - - { offsetInCU: 0x15A0, offset: 0x9F3A2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x840, symBinAddr: 0x25192C, symSize: 0x8 } - - { offsetInCU: 0x1624, offset: 0x9F426, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x848, symBinAddr: 0x251934, symSize: 0x3C } - - { offsetInCU: 0x26, offset: 0x9F5D9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x251970, symSize: 0x190 } - - { offsetInCU: 0x34, offset: 0x9F5E7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x251970, symSize: 0x190 } - - { offsetInCU: 0x34, offset: 0x9F6ED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x398, symBinAddr: 0x104ED38, symSize: 0x0 } - - { offsetInCU: 0x26, offset: 0x9F72F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x251B00, symSize: 0x388 } - - { offsetInCU: 0x76, offset: 0x9F77F, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x924000, symSize: 0x0 } - - { offsetInCU: 0xFA, offset: 0x9F803, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x949000, symSize: 0x0 } - - { offsetInCU: 0x35B, offset: 0x9FA64, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x251B00, symSize: 0x388 } - - { offsetInCU: 0xC66, offset: 0xA036F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x251E88, symSize: 0x204 } - - { offsetInCU: 0x1163, offset: 0xA086C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x25208C, symSize: 0x1BC } - - { offsetInCU: 0x10, offset: 0xA0C41, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x252260, symSize: 0x1A0 } - - { offsetInCU: 0x50, offset: 0xA0C81, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x252260, symSize: 0x1A0 } - - { offsetInCU: 0x5E, offset: 0xA0C8F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x252400, symSize: 0x60 } - - { offsetInCU: 0x81, offset: 0xA0CB2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x252460, symSize: 0x288 } - - { offsetInCU: 0x10, offset: 0xA0CA3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2526F0, symSize: 0x130 } - - { offsetInCU: 0x48, offset: 0xA0CDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2526F0, symSize: 0x130 } - - { offsetInCU: 0x5F, offset: 0xA0CF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x252820, symSize: 0x70 } - - { offsetInCU: 0x75, offset: 0xA0D08, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x252890, symSize: 0x160 } - - { offsetInCU: 0x7A, offset: 0xA0D0D, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x2529F0, symSize: 0x378 } - - { offsetInCU: 0x10, offset: 0xA0D1B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x252D80, symSize: 0x3A0 } - - { offsetInCU: 0x48, offset: 0xA0D53, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x252D80, symSize: 0x3A0 } - - { offsetInCU: 0x4C, offset: 0xA0D57, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x253120, symSize: 0x6C0 } - - { offsetInCU: 0x66, offset: 0xA0D71, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x2537E0, symSize: 0x1138 } - - { offsetInCU: 0x50, offset: 0xA0DBD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0x254A80, symSize: 0x1180 } - - { offsetInCU: 0x66, offset: 0xA0DD3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0x255C00, symSize: 0x1410 } - - { offsetInCU: 0x10, offset: 0xA0DC9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x257020, symSize: 0x240 } - - { offsetInCU: 0x45, offset: 0xA0DFE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x257020, symSize: 0x240 } - - { offsetInCU: 0x4D, offset: 0xA0E06, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0x257260, symSize: 0x9E0 } - - { offsetInCU: 0x63, offset: 0xA0E1C, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0x257C40, symSize: 0x650 } - - { offsetInCU: 0x10, offset: 0xA0E2B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2582A0, symSize: 0x40 } - - { offsetInCU: 0x47, offset: 0xA0E62, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2582A0, symSize: 0x40 } - - { offsetInCU: 0x5D, offset: 0xA0E78, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0x2582E0, symSize: 0x40 } - - { offsetInCU: 0x76, offset: 0xA0E91, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0x258320, symSize: 0x40 } - - { offsetInCU: 0x81, offset: 0xA0E9C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0x258360, symSize: 0x1E0 } - - { offsetInCU: 0x97, offset: 0xA0EB2, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0x258540, symSize: 0x170 } - - { offsetInCU: 0xAB, offset: 0xA0EC6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0x2586B0, symSize: 0x50 } - - { offsetInCU: 0xC3, offset: 0xA0EDE, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0x258700, symSize: 0x50 } - - { offsetInCU: 0xD9, offset: 0xA0EF4, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0x258750, symSize: 0x50 } - - { offsetInCU: 0xEF, offset: 0xA0F0A, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0x2587A0, symSize: 0x60 } - - { offsetInCU: 0x111, offset: 0xA0F2C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0x258800, symSize: 0x1E0 } - - { offsetInCU: 0x124, offset: 0xA0F3F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0x2589E0, symSize: 0x360 } - - { offsetInCU: 0x141, offset: 0xA0F5C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0x258D40, symSize: 0x2D0 } - - { offsetInCU: 0x156, offset: 0xA0F71, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0x259010, symSize: 0x2B0 } - - { offsetInCU: 0x170, offset: 0xA0F8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0x2592C0, symSize: 0x250 } - - { offsetInCU: 0x184, offset: 0xA0F9F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0x259510, symSize: 0x60 } - - { offsetInCU: 0x19A, offset: 0xA0FB5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0x259570, symSize: 0x44 } - - { offsetInCU: 0x10, offset: 0xA0FAB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2595C0, symSize: 0xB90 } - - { offsetInCU: 0x4C, offset: 0xA0FE7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2595C0, symSize: 0xB90 } - - { offsetInCU: 0x62, offset: 0xA0FFD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0x25A150, symSize: 0xB98 } - - { offsetInCU: 0x10, offset: 0xA0FF7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x25AD00, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA1038, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x25AD00, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA1038, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x25BB40, symSize: 0x7E0 } - - { offsetInCU: 0x10, offset: 0xA1043, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x25C340, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA1084, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x25C340, symSize: 0xE40 } - - { offsetInCU: 0x51, offset: 0xA1084, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x25D180, symSize: 0x1F0 } + - { offsetInCU: 0x34, offset: 0x7768C, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x8DD000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x776C1, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x8DD038, symSize: 0x0 } + - { offsetInCU: 0x3F, offset: 0x77716, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x28, symBinAddr: 0x5128, symSize: 0xC } + - { offsetInCU: 0x53, offset: 0x7772A, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x34, symBinAddr: 0x5134, symSize: 0x4 } + - { offsetInCU: 0x67, offset: 0x7773E, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x38, symBinAddr: 0x5138, symSize: 0x20 } + - { offsetInCU: 0x7B, offset: 0x77752, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x58, symBinAddr: 0x5158, symSize: 0x28 } + - { offsetInCU: 0x8F, offset: 0x77766, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0x94, symBinAddr: 0x5194, symSize: 0x30 } + - { offsetInCU: 0xA3, offset: 0x7777A, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0xC4, symBinAddr: 0x51C4, symSize: 0xC } + - { offsetInCU: 0xB7, offset: 0x7778E, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0xD0, symBinAddr: 0x51D0, symSize: 0x20 } + - { offsetInCU: 0xCB, offset: 0x777A2, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0xF0, symBinAddr: 0x51F0, symSize: 0x2C } + - { offsetInCU: 0x4F, offset: 0x7798B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AE8, symBinAddr: 0x10C3D00, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x779A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x2AF0, symBinAddr: 0x10C3D08, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x779D9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x4, symBinAddr: 0x5294, symSize: 0x38 } + - { offsetInCU: 0xF3, offset: 0x77A2F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x40, symBinAddr: 0x52D0, symSize: 0x70 } + - { offsetInCU: 0x144, offset: 0x77A80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xB4, symBinAddr: 0x5344, symSize: 0x44 } + - { offsetInCU: 0x19F, offset: 0x77ADB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0xFC, symBinAddr: 0x538C, symSize: 0x50 } + - { offsetInCU: 0x204, offset: 0x77B40, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x150, symBinAddr: 0x53E0, symSize: 0x68 } + - { offsetInCU: 0x27D, offset: 0x77BB9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1BC, symBinAddr: 0x544C, symSize: 0x98 } + - { offsetInCU: 0x2DA, offset: 0x77C16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x258, symBinAddr: 0x54E8, symSize: 0x14 } + - { offsetInCU: 0x35C, offset: 0x77C98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x270, symBinAddr: 0x5500, symSize: 0x14 } + - { offsetInCU: 0x40B, offset: 0x77D47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x2C8, symBinAddr: 0x5558, symSize: 0x50 } + - { offsetInCU: 0x4DC, offset: 0x77E18, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x364, symBinAddr: 0x55F4, symSize: 0x58 } + - { offsetInCU: 0x5B6, offset: 0x77EF2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x404, symBinAddr: 0x5694, symSize: 0x58 } + - { offsetInCU: 0x695, offset: 0x77FD1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x4AC, symBinAddr: 0x573C, symSize: 0x60 } + - { offsetInCU: 0x741, offset: 0x7807D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x510, symBinAddr: 0x57A0, symSize: 0x8 } + - { offsetInCU: 0x7AA, offset: 0x780E6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x51C, symBinAddr: 0x57AC, symSize: 0x8 } + - { offsetInCU: 0x801, offset: 0x7813D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x538, symBinAddr: 0x57C8, symSize: 0x8 } + - { offsetInCU: 0x858, offset: 0x78194, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x544, symBinAddr: 0x57D4, symSize: 0x8 } + - { offsetInCU: 0x8AF, offset: 0x781EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x550, symBinAddr: 0x57E0, symSize: 0x8 } + - { offsetInCU: 0x906, offset: 0x78242, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x55C, symBinAddr: 0x57EC, symSize: 0x8 } + - { offsetInCU: 0x985, offset: 0x782C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x56C, symBinAddr: 0x57FC, symSize: 0x24 } + - { offsetInCU: 0xA36, offset: 0x78372, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x594, symBinAddr: 0x5824, symSize: 0x14 } + - { offsetInCU: 0xAA9, offset: 0x783E5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x5AC, symBinAddr: 0x583C, symSize: 0x8 } + - { offsetInCU: 0xB00, offset: 0x7843C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x60C, symBinAddr: 0x589C, symSize: 0x74 } + - { offsetInCU: 0xB8B, offset: 0x784C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0x814, symBinAddr: 0x5AA4, symSize: 0xA0 } + - { offsetInCU: 0xBDC, offset: 0x78518, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xB1C, symBinAddr: 0x5DAC, symSize: 0x98 } + - { offsetInCU: 0xC2D, offset: 0x78569, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0xE70, symBinAddr: 0x6100, symSize: 0x98 } + - { offsetInCU: 0xC89, offset: 0x785C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1298, symBinAddr: 0x6528, symSize: 0xD8 } + - { offsetInCU: 0xCD1, offset: 0x7860D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x1374, symBinAddr: 0x6604, symSize: 0x34 } + - { offsetInCU: 0xD31, offset: 0x7866D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x13F8, symBinAddr: 0x6688, symSize: 0x3C } + - { offsetInCU: 0xD82, offset: 0x786BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1468, symBinAddr: 0x66F8, symSize: 0x2AC } + - { offsetInCU: 0xFB6, offset: 0x788F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x1714, symBinAddr: 0x69A4, symSize: 0x264 } + - { offsetInCU: 0x11B0, offset: 0x78AEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1978, symBinAddr: 0x6C08, symSize: 0xEC } + - { offsetInCU: 0x12AD, offset: 0x78BE9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1A64, symBinAddr: 0x6CF4, symSize: 0x1B4 } + - { offsetInCU: 0x1422, offset: 0x78D5E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1C18, symBinAddr: 0x6EA8, symSize: 0x1CC } + - { offsetInCU: 0x15B7, offset: 0x78EF3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x1DE4, symBinAddr: 0x7074, symSize: 0x1E0 } + - { offsetInCU: 0x17A3, offset: 0x790DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x1FC4, symBinAddr: 0x7254, symSize: 0x1B4 } + - { offsetInCU: 0x186D, offset: 0x791A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x231C, symBinAddr: 0x75AC, symSize: 0x1D4 } + - { offsetInCU: 0x194E, offset: 0x7928A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x24F0, symBinAddr: 0x7780, symSize: 0x114 } + - { offsetInCU: 0x19F9, offset: 0x79335, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0x8B4, symBinAddr: 0x5B44, symSize: 0x78 } + - { offsetInCU: 0x1A11, offset: 0x7934D, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xBB4, symBinAddr: 0x5E44, symSize: 0x54 } + - { offsetInCU: 0x1A7E, offset: 0x793BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x1464, symBinAddr: 0x66F4, symSize: 0x4 } + - { offsetInCU: 0x1B09, offset: 0x79445, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x2604, symBinAddr: 0x7894, symSize: 0x20 } + - { offsetInCU: 0x1B1D, offset: 0x79459, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2648, symBinAddr: 0x78D8, symSize: 0x8 } + - { offsetInCU: 0x1B3C, offset: 0x79478, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2650, symBinAddr: 0x78E0, symSize: 0x18 } + - { offsetInCU: 0x1B65, offset: 0x794A1, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x2668, symBinAddr: 0x78F8, symSize: 0x8 } + - { offsetInCU: 0x1B79, offset: 0x794B5, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x2670, symBinAddr: 0x7900, symSize: 0x3C } + - { offsetInCU: 0x1B8D, offset: 0x794C9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x26F0, symBinAddr: 0x7980, symSize: 0x34 } + - { offsetInCU: 0x1BA1, offset: 0x794DD, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2724, symBinAddr: 0x79B4, symSize: 0x10 } + - { offsetInCU: 0x1BB5, offset: 0x794F1, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2734, symBinAddr: 0x79C4, symSize: 0x8 } + - { offsetInCU: 0x1BC9, offset: 0x79505, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2760, symBinAddr: 0x79F0, symSize: 0x40 } + - { offsetInCU: 0x1BFD, offset: 0x79539, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x27E4, symBinAddr: 0x7A74, symSize: 0x40 } + - { offsetInCU: 0x1C3B, offset: 0x79577, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2824, symBinAddr: 0x7AB4, symSize: 0x28 } + - { offsetInCU: 0x1C6F, offset: 0x795AB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x28A4, symBinAddr: 0x7B34, symSize: 0x3C } + - { offsetInCU: 0x1CA3, offset: 0x795DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x290C, symBinAddr: 0x7B9C, symSize: 0x30 } + - { offsetInCU: 0x1CDF, offset: 0x7961B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2978, symBinAddr: 0x7C08, symSize: 0x10 } + - { offsetInCU: 0x1CF3, offset: 0x7962F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2988, symBinAddr: 0x7C18, symSize: 0x40 } + - { offsetInCU: 0x21C0, offset: 0x79AFC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x5290, symSize: 0x4 } + - { offsetInCU: 0x21DB, offset: 0x79B17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x3C, symBinAddr: 0x52CC, symSize: 0x4 } + - { offsetInCU: 0x21F6, offset: 0x79B32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xB0, symBinAddr: 0x5340, symSize: 0x4 } + - { offsetInCU: 0x2217, offset: 0x79B53, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0xF8, symBinAddr: 0x5388, symSize: 0x4 } + - { offsetInCU: 0x2232, offset: 0x79B6E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x14C, symBinAddr: 0x53DC, symSize: 0x4 } + - { offsetInCU: 0x224D, offset: 0x79B89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1B8, symBinAddr: 0x5448, symSize: 0x4 } + - { offsetInCU: 0x2268, offset: 0x79BA4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x254, symBinAddr: 0x54E4, symSize: 0x4 } + - { offsetInCU: 0x22F6, offset: 0x79C32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x26C, symBinAddr: 0x54FC, symSize: 0x4 } + - { offsetInCU: 0x2375, offset: 0x79CB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x284, symBinAddr: 0x5514, symSize: 0x44 } + - { offsetInCU: 0x24B3, offset: 0x79DEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x318, symBinAddr: 0x55A8, symSize: 0x4C } + - { offsetInCU: 0x25FC, offset: 0x79F38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x3BC, symBinAddr: 0x564C, symSize: 0x48 } + - { offsetInCU: 0x2744, offset: 0x7A080, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x45C, symBinAddr: 0x56EC, symSize: 0x50 } + - { offsetInCU: 0x28A1, offset: 0x7A1DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x50C, symBinAddr: 0x579C, symSize: 0x4 } + - { offsetInCU: 0x2913, offset: 0x7A24F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x518, symBinAddr: 0x57A8, symSize: 0x4 } + - { offsetInCU: 0x2956, offset: 0x7A292, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x524, symBinAddr: 0x57B4, symSize: 0x14 } + - { offsetInCU: 0x299B, offset: 0x7A2D7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x540, symBinAddr: 0x57D0, symSize: 0x4 } + - { offsetInCU: 0x29DE, offset: 0x7A31A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x54C, symBinAddr: 0x57DC, symSize: 0x4 } + - { offsetInCU: 0x2A21, offset: 0x7A35D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x558, symBinAddr: 0x57E8, symSize: 0x4 } + - { offsetInCU: 0x2A64, offset: 0x7A3A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x564, symBinAddr: 0x57F4, symSize: 0x8 } + - { offsetInCU: 0x2B4B, offset: 0x7A487, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x590, symBinAddr: 0x5820, symSize: 0x4 } + - { offsetInCU: 0x2BCA, offset: 0x7A506, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x5A8, symBinAddr: 0x5838, symSize: 0x4 } + - { offsetInCU: 0x2C0D, offset: 0x7A549, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x5B4, symBinAddr: 0x5844, symSize: 0x58 } + - { offsetInCU: 0x2CCE, offset: 0x7A60A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x680, symBinAddr: 0x5910, symSize: 0x4 } + - { offsetInCU: 0x2CE2, offset: 0x7A61E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x684, symBinAddr: 0x5914, symSize: 0x190 } + - { offsetInCU: 0x2D82, offset: 0x7A6BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0x92C, symBinAddr: 0x5BBC, symSize: 0x2C } + - { offsetInCU: 0x2D96, offset: 0x7A6D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0x958, symBinAddr: 0x5BE8, symSize: 0x1C4 } + - { offsetInCU: 0x2E80, offset: 0x7A7BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xC08, symBinAddr: 0x5E98, symSize: 0x2C } + - { offsetInCU: 0x2E94, offset: 0x7A7D0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xC34, symBinAddr: 0x5EC4, symSize: 0x23C } + - { offsetInCU: 0x2F48, offset: 0x7A884, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0xF08, symBinAddr: 0x6198, symSize: 0x4 } + - { offsetInCU: 0x2F5C, offset: 0x7A898, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0xF0C, symBinAddr: 0x619C, symSize: 0x38C } + - { offsetInCU: 0x31F3, offset: 0x7AB2F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1370, symBinAddr: 0x6600, symSize: 0x4 } + - { offsetInCU: 0x320E, offset: 0x7AB4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x13A8, symBinAddr: 0x6638, symSize: 0x20 } + - { offsetInCU: 0x3222, offset: 0x7AB5E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x13C8, symBinAddr: 0x6658, symSize: 0x30 } + - { offsetInCU: 0x3258, offset: 0x7AB94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x1434, symBinAddr: 0x66C4, symSize: 0x30 } + - { offsetInCU: 0x4F, offset: 0x7ADCC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x55B0, symBinAddr: 0x10C3D40, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x7ADE6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x55B8, symBinAddr: 0x10C3D48, symSize: 0x0 } + - { offsetInCU: 0x83, offset: 0x7AE00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x55C0, symBinAddr: 0x10C3D50, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x7AE1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x55C8, symBinAddr: 0x10C3D58, symSize: 0x0 } + - { offsetInCU: 0xAB, offset: 0x7AE28, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0x7D40, symSize: 0x40 } + - { offsetInCU: 0xF0, offset: 0x7AE6D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x40, symBinAddr: 0x7D80, symSize: 0x30 } + - { offsetInCU: 0x135, offset: 0x7AEB2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xA8, symBinAddr: 0x7DE8, symSize: 0x40 } + - { offsetInCU: 0x187, offset: 0x7AF04, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0x7ED4, symSize: 0x10 } + - { offsetInCU: 0x1A7, offset: 0x7AF24, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x194, symBinAddr: 0x7ED4, symSize: 0x10 } + - { offsetInCU: 0x1DD, offset: 0x7AF5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0x7EE4, symSize: 0x10 } + - { offsetInCU: 0x1FD, offset: 0x7AF7A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1A4, symBinAddr: 0x7EE4, symSize: 0x10 } + - { offsetInCU: 0x236, offset: 0x7AFB3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0x7EF4, symSize: 0x10 } + - { offsetInCU: 0x256, offset: 0x7AFD3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1B4, symBinAddr: 0x7EF4, symSize: 0x10 } + - { offsetInCU: 0x28C, offset: 0x7B009, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0x7F04, symSize: 0x10 } + - { offsetInCU: 0x2AC, offset: 0x7B029, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x1C4, symBinAddr: 0x7F04, symSize: 0x10 } + - { offsetInCU: 0x2E5, offset: 0x7B062, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x29C, symBinAddr: 0x7FDC, symSize: 0x44 } + - { offsetInCU: 0x322, offset: 0x7B09F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x324, symBinAddr: 0x8064, symSize: 0x30 } + - { offsetInCU: 0x3B1, offset: 0x7B12E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x578, symBinAddr: 0x82B8, symSize: 0x44 } + - { offsetInCU: 0x409, offset: 0x7B186, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x600, symBinAddr: 0x8340, symSize: 0x48 } + - { offsetInCU: 0x464, offset: 0x7B1E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x648, symBinAddr: 0x8388, symSize: 0x44 } + - { offsetInCU: 0x4BC, offset: 0x7B239, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x6D0, symBinAddr: 0x8410, symSize: 0x48 } + - { offsetInCU: 0x517, offset: 0x7B294, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x718, symBinAddr: 0x8458, symSize: 0x10 } + - { offsetInCU: 0x537, offset: 0x7B2B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x718, symBinAddr: 0x8458, symSize: 0x10 } + - { offsetInCU: 0x56D, offset: 0x7B2EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x728, symBinAddr: 0x8468, symSize: 0x10 } + - { offsetInCU: 0x58D, offset: 0x7B30A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x728, symBinAddr: 0x8468, symSize: 0x10 } + - { offsetInCU: 0x5C6, offset: 0x7B343, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x738, symBinAddr: 0x8478, symSize: 0x10 } + - { offsetInCU: 0x5E6, offset: 0x7B363, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x738, symBinAddr: 0x8478, symSize: 0x10 } + - { offsetInCU: 0x61E, offset: 0x7B39B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x748, symBinAddr: 0x8488, symSize: 0x34 } + - { offsetInCU: 0x677, offset: 0x7B3F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x77C, symBinAddr: 0x84BC, symSize: 0x10 } + - { offsetInCU: 0x697, offset: 0x7B414, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x77C, symBinAddr: 0x84BC, symSize: 0x10 } + - { offsetInCU: 0x6CF, offset: 0x7B44C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x78C, symBinAddr: 0x84CC, symSize: 0x34 } + - { offsetInCU: 0x728, offset: 0x7B4A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x7C0, symBinAddr: 0x8500, symSize: 0x10 } + - { offsetInCU: 0x748, offset: 0x7B4C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x7C0, symBinAddr: 0x8500, symSize: 0x10 } + - { offsetInCU: 0x77E, offset: 0x7B4FB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x7D0, symBinAddr: 0x8510, symSize: 0x10 } + - { offsetInCU: 0x79E, offset: 0x7B51B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x7D0, symBinAddr: 0x8510, symSize: 0x10 } + - { offsetInCU: 0x7D7, offset: 0x7B554, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x7E0, symBinAddr: 0x8520, symSize: 0x10 } + - { offsetInCU: 0x7F7, offset: 0x7B574, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x7E0, symBinAddr: 0x8520, symSize: 0x10 } + - { offsetInCU: 0x82D, offset: 0x7B5AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x7F0, symBinAddr: 0x8530, symSize: 0x10 } + - { offsetInCU: 0x84D, offset: 0x7B5CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x7F0, symBinAddr: 0x8530, symSize: 0x10 } + - { offsetInCU: 0x870, offset: 0x7B5ED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x800, symBinAddr: 0x8540, symSize: 0x34 } + - { offsetInCU: 0x8A2, offset: 0x7B61F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x904, symBinAddr: 0x8644, symSize: 0x34 } + - { offsetInCU: 0x8EA, offset: 0x7B667, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA08, symBinAddr: 0x8748, symSize: 0x20 } + - { offsetInCU: 0x952, offset: 0x7B6CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xA4C, symBinAddr: 0x878C, symSize: 0x20 } + - { offsetInCU: 0x9F1, offset: 0x7B76E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xAB4, symBinAddr: 0x87F4, symSize: 0xC4 } + - { offsetInCU: 0xAB4, offset: 0x7B831, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xD10, symBinAddr: 0x8A50, symSize: 0x30 } + - { offsetInCU: 0xB64, offset: 0x7B8E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x15B0, symBinAddr: 0x92F0, symSize: 0xC4 } + - { offsetInCU: 0xBCE, offset: 0x7B94B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x18CC, symBinAddr: 0x960C, symSize: 0xB0 } + - { offsetInCU: 0xC0B, offset: 0x7B988, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1A3C, symBinAddr: 0x977C, symSize: 0xB8 } + - { offsetInCU: 0xC83, offset: 0x7BA00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1BD8, symBinAddr: 0x9918, symSize: 0x3C } + - { offsetInCU: 0xCB6, offset: 0x7BA33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C14, symBinAddr: 0x9954, symSize: 0x10 } + - { offsetInCU: 0xCD6, offset: 0x7BA53, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1C14, symBinAddr: 0x9954, symSize: 0x10 } + - { offsetInCU: 0xD10, offset: 0x7BA8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1C24, symBinAddr: 0x9964, symSize: 0x34 } + - { offsetInCU: 0xD6B, offset: 0x7BAE8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1CA0, symBinAddr: 0x99E0, symSize: 0x48 } + - { offsetInCU: 0xE05, offset: 0x7BB82, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1D34, symBinAddr: 0x9A74, symSize: 0x64 } + - { offsetInCU: 0xECA, offset: 0x7BC47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1DF0, symBinAddr: 0x9B30, symSize: 0x94 } + - { offsetInCU: 0xF57, offset: 0x7BCD4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x1EC4, symBinAddr: 0x9C04, symSize: 0x6C } + - { offsetInCU: 0xFB9, offset: 0x7BD36, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x1FD4, symBinAddr: 0x9D14, symSize: 0x6C } + - { offsetInCU: 0x1016, offset: 0x7BD93, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2040, symBinAddr: 0x9D80, symSize: 0xB0 } + - { offsetInCU: 0x1068, offset: 0x7BDE5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x21C0, symBinAddr: 0x9F00, symSize: 0x94 } + - { offsetInCU: 0x10FA, offset: 0x7BE77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x2EAC, symBinAddr: 0xABEC, symSize: 0x28 } + - { offsetInCU: 0x114F, offset: 0x7BECC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x392C, symBinAddr: 0xB66C, symSize: 0x20 } + - { offsetInCU: 0x1182, offset: 0x7BEFF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x394C, symBinAddr: 0xB68C, symSize: 0x10 } + - { offsetInCU: 0x11A2, offset: 0x7BF1F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x394C, symBinAddr: 0xB68C, symSize: 0x10 } + - { offsetInCU: 0x11DA, offset: 0x7BF57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x395C, symBinAddr: 0xB69C, symSize: 0x34 } + - { offsetInCU: 0x1248, offset: 0x7BFC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x3A10, symBinAddr: 0xB750, symSize: 0x20 } + - { offsetInCU: 0x12A2, offset: 0x7C01F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3A30, symBinAddr: 0xB770, symSize: 0x34 } + - { offsetInCU: 0x1302, offset: 0x7C07F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3A94, symBinAddr: 0xB7D4, symSize: 0x34 } + - { offsetInCU: 0x1446, offset: 0x7C1C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x3DE0, symBinAddr: 0xBB20, symSize: 0x28 } + - { offsetInCU: 0x1479, offset: 0x7C1F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x410C, symBinAddr: 0xBE4C, symSize: 0x24 } + - { offsetInCU: 0x14B4, offset: 0x7C231, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x41F8, symBinAddr: 0xBF38, symSize: 0x34 } + - { offsetInCU: 0x14E7, offset: 0x7C264, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4B8C, symBinAddr: 0xC8CC, symSize: 0x298 } + - { offsetInCU: 0x1664, offset: 0x7C3E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x4EE8, symBinAddr: 0xCC28, symSize: 0xA0 } + - { offsetInCU: 0x18E0, offset: 0x7C65D, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x1E98, symBinAddr: 0x9BD8, symSize: 0x2C } + - { offsetInCU: 0x18F8, offset: 0x7C675, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2148, symBinAddr: 0x9E88, symSize: 0x78 } + - { offsetInCU: 0x1910, offset: 0x7C68D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x22B0, symBinAddr: 0x9FF0, symSize: 0x94 } + - { offsetInCU: 0x1948, offset: 0x7C6C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x2344, symBinAddr: 0xA084, symSize: 0xB8 } + - { offsetInCU: 0x198A, offset: 0x7C707, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x23FC, symBinAddr: 0xA13C, symSize: 0x6C } + - { offsetInCU: 0x1A3A, offset: 0x7C7B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x4130, symBinAddr: 0xBE70, symSize: 0xC4 } + - { offsetInCU: 0x1A6A, offset: 0x7C7E7, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x422C, symBinAddr: 0xBF6C, symSize: 0x10 } + - { offsetInCU: 0x1A7E, offset: 0x7C7FB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x423C, symBinAddr: 0xBF7C, symSize: 0x20 } + - { offsetInCU: 0x1A92, offset: 0x7C80F, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x425C, symBinAddr: 0xBF9C, symSize: 0x64 } + - { offsetInCU: 0x1C99, offset: 0x7CA16, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x4E24, symBinAddr: 0xCB64, symSize: 0x40 } + - { offsetInCU: 0x1CAD, offset: 0x7CA2A, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x4E64, symBinAddr: 0xCBA4, symSize: 0x40 } + - { offsetInCU: 0x1CC1, offset: 0x7CA3E, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x4EA4, symBinAddr: 0xCBE4, symSize: 0x24 } + - { offsetInCU: 0x1CD5, offset: 0x7CA52, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x4EC8, symBinAddr: 0xCC08, symSize: 0x20 } + - { offsetInCU: 0x1CF4, offset: 0x7CA71, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x53B4, symBinAddr: 0xD0F4, symSize: 0x48 } + - { offsetInCU: 0x1D1D, offset: 0x7CA9A, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x53FC, symBinAddr: 0xD13C, symSize: 0x10 } + - { offsetInCU: 0x1D31, offset: 0x7CAAE, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x540C, symBinAddr: 0xD14C, symSize: 0x8 } + - { offsetInCU: 0x1D45, offset: 0x7CAC2, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5414, symBinAddr: 0xD154, symSize: 0x10 } + - { offsetInCU: 0x1D64, offset: 0x7CAE1, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5424, symBinAddr: 0xD164, symSize: 0xC } + - { offsetInCU: 0x1D8D, offset: 0x7CB0A, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5454, symBinAddr: 0xD194, symSize: 0x8 } + - { offsetInCU: 0x1DAC, offset: 0x7CB29, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x545C, symBinAddr: 0xD19C, symSize: 0x30 } + - { offsetInCU: 0x1DD5, offset: 0x7CB52, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x548C, symBinAddr: 0xD1CC, symSize: 0x10 } + - { offsetInCU: 0x1DE9, offset: 0x7CB66, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x54D4, symBinAddr: 0xD214, symSize: 0x3C } + - { offsetInCU: 0x206E, offset: 0x7CDEB, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4A7C, symBinAddr: 0xC7BC, symSize: 0x110 } + - { offsetInCU: 0x251C, offset: 0x7D299, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x2E0, symBinAddr: 0x8020, symSize: 0x44 } + - { offsetInCU: 0x254F, offset: 0x7D2CC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x354, symBinAddr: 0x8094, symSize: 0xEC } + - { offsetInCU: 0x259B, offset: 0x7D318, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x440, symBinAddr: 0x8180, symSize: 0x58 } + - { offsetInCU: 0x25C0, offset: 0x7D33D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x498, symBinAddr: 0x81D8, symSize: 0xE0 } + - { offsetInCU: 0x2601, offset: 0x7D37E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x5BC, symBinAddr: 0x82FC, symSize: 0x44 } + - { offsetInCU: 0x2659, offset: 0x7D3D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x68C, symBinAddr: 0x83CC, symSize: 0x44 } + - { offsetInCU: 0x27C7, offset: 0x7D544, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x834, symBinAddr: 0x8574, symSize: 0xD0 } + - { offsetInCU: 0x28EC, offset: 0x7D669, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x938, symBinAddr: 0x8678, symSize: 0xD0 } + - { offsetInCU: 0x2A32, offset: 0x7D7AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xA28, symBinAddr: 0x8768, symSize: 0x24 } + - { offsetInCU: 0x2A7A, offset: 0x7D7F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xA6C, symBinAddr: 0x87AC, symSize: 0x24 } + - { offsetInCU: 0x2AAE, offset: 0x7D82B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xA90, symBinAddr: 0x87D0, symSize: 0x24 } + - { offsetInCU: 0x2C3C, offset: 0x7D9B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xB78, symBinAddr: 0x88B8, symSize: 0x198 } + - { offsetInCU: 0x302F, offset: 0x7DDAC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xD40, symBinAddr: 0x8A80, symSize: 0x870 } + - { offsetInCU: 0x3832, offset: 0x7E5AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x1674, symBinAddr: 0x93B4, symSize: 0x258 } + - { offsetInCU: 0x3C64, offset: 0x7E9E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x197C, symBinAddr: 0x96BC, symSize: 0xC0 } + - { offsetInCU: 0x3CF5, offset: 0x7EA72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1AF4, symBinAddr: 0x9834, symSize: 0xE4 } + - { offsetInCU: 0x3E50, offset: 0x7EBCD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1C58, symBinAddr: 0x9998, symSize: 0x48 } + - { offsetInCU: 0x3ED6, offset: 0x7EC53, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1CE8, symBinAddr: 0x9A28, symSize: 0x4C } + - { offsetInCU: 0x3FF7, offset: 0x7ED74, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1D98, symBinAddr: 0x9AD8, symSize: 0x58 } + - { offsetInCU: 0x40ED, offset: 0x7EE6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x20F0, symBinAddr: 0x9E30, symSize: 0x58 } + - { offsetInCU: 0x4139, offset: 0x7EEB6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x2254, symBinAddr: 0x9F94, symSize: 0x5C } + - { offsetInCU: 0x4162, offset: 0x7EEDF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x2468, symBinAddr: 0xA1A8, symSize: 0x44 } + - { offsetInCU: 0x4188, offset: 0x7EF05, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x24AC, symBinAddr: 0xA1EC, symSize: 0x4 } + - { offsetInCU: 0x424A, offset: 0x7EFC7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x24B0, symBinAddr: 0xA1F0, symSize: 0x9FC } + - { offsetInCU: 0x446D, offset: 0x7F1EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x2ED4, symBinAddr: 0xAC14, symSize: 0x50 } + - { offsetInCU: 0x4496, offset: 0x7F213, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x2F24, symBinAddr: 0xAC64, symSize: 0xA08 } + - { offsetInCU: 0x46DA, offset: 0x7F457, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3990, symBinAddr: 0xB6D0, symSize: 0x80 } + - { offsetInCU: 0x47D0, offset: 0x7F54D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3A64, symBinAddr: 0xB7A4, symSize: 0x30 } + - { offsetInCU: 0x486E, offset: 0x7F5EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3AC8, symBinAddr: 0xB808, symSize: 0x144 } + - { offsetInCU: 0x4A6F, offset: 0x7F7EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3C0C, symBinAddr: 0xB94C, symSize: 0x1D4 } + - { offsetInCU: 0x4CEC, offset: 0x7FA69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x3E08, symBinAddr: 0xBB48, symSize: 0x304 } + - { offsetInCU: 0x4D7C, offset: 0x7FAF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x41F4, symBinAddr: 0xBF34, symSize: 0x4 } + - { offsetInCU: 0x4DA4, offset: 0x7FB21, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x42C0, symBinAddr: 0xC000, symSize: 0x64 } + - { offsetInCU: 0x4DFE, offset: 0x7FB7B, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x4324, symBinAddr: 0xC064, symSize: 0x6C } + - { offsetInCU: 0x4E7E, offset: 0x7FBFB, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4390, symBinAddr: 0xC0D0, symSize: 0xD8 } + - { offsetInCU: 0x4EBB, offset: 0x7FC38, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4468, symBinAddr: 0xC1A8, symSize: 0xE0 } + - { offsetInCU: 0x4F36, offset: 0x7FCB3, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4548, symBinAddr: 0xC288, symSize: 0x1F4 } + - { offsetInCU: 0x4FF2, offset: 0x7FD6F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x473C, symBinAddr: 0xC47C, symSize: 0x340 } + - { offsetInCU: 0x27, offset: 0x7FFD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xD2B4, symSize: 0x10 } + - { offsetInCU: 0x62, offset: 0x80012, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x10, symBinAddr: 0xD2C4, symSize: 0x20 } + - { offsetInCU: 0x1AF, offset: 0x8015F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xD2B4, symSize: 0x10 } + - { offsetInCU: 0x65, offset: 0x801EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xD2E4, symSize: 0x10 } + - { offsetInCU: 0x85, offset: 0x8020E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xD2E4, symSize: 0x10 } + - { offsetInCU: 0xBB, offset: 0x80244, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xD2F4, symSize: 0x10 } + - { offsetInCU: 0xDB, offset: 0x80264, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xD2F4, symSize: 0x10 } + - { offsetInCU: 0x114, offset: 0x8029D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0xD304, symSize: 0x44 } + - { offsetInCU: 0x16C, offset: 0x802F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x64, symBinAddr: 0xD348, symSize: 0x48 } + - { offsetInCU: 0x1C7, offset: 0x80350, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xAC, symBinAddr: 0xD390, symSize: 0x44 } + - { offsetInCU: 0x21F, offset: 0x803A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xF0, symBinAddr: 0xD3D4, symSize: 0x48 } + - { offsetInCU: 0x27A, offset: 0x80403, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0xD41C, symSize: 0x10 } + - { offsetInCU: 0x29A, offset: 0x80423, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x138, symBinAddr: 0xD41C, symSize: 0x10 } + - { offsetInCU: 0x2D0, offset: 0x80459, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0xD42C, symSize: 0x10 } + - { offsetInCU: 0x2F0, offset: 0x80479, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x148, symBinAddr: 0xD42C, symSize: 0x10 } + - { offsetInCU: 0x329, offset: 0x804B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0xD43C, symSize: 0x10 } + - { offsetInCU: 0x349, offset: 0x804D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x158, symBinAddr: 0xD43C, symSize: 0x10 } + - { offsetInCU: 0x37F, offset: 0x80508, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0xD44C, symSize: 0x10 } + - { offsetInCU: 0x39F, offset: 0x80528, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x168, symBinAddr: 0xD44C, symSize: 0x10 } + - { offsetInCU: 0x3D8, offset: 0x80561, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x178, symBinAddr: 0xD45C, symSize: 0x44 } + - { offsetInCU: 0x430, offset: 0x805B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1BC, symBinAddr: 0xD4A0, symSize: 0x48 } + - { offsetInCU: 0x48B, offset: 0x80614, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0xD4E8, symSize: 0x10 } + - { offsetInCU: 0x4AB, offset: 0x80634, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x204, symBinAddr: 0xD4E8, symSize: 0x10 } + - { offsetInCU: 0x4E1, offset: 0x8066A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0xD4F8, symSize: 0x10 } + - { offsetInCU: 0x501, offset: 0x8068A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x214, symBinAddr: 0xD4F8, symSize: 0x10 } + - { offsetInCU: 0x53A, offset: 0x806C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0xD508, symSize: 0x10 } + - { offsetInCU: 0x55A, offset: 0x806E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x224, symBinAddr: 0xD508, symSize: 0x10 } + - { offsetInCU: 0x590, offset: 0x80719, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0xD518, symSize: 0x10 } + - { offsetInCU: 0x5B0, offset: 0x80739, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x234, symBinAddr: 0xD518, symSize: 0x10 } + - { offsetInCU: 0x5E9, offset: 0x80772, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x244, symBinAddr: 0xD528, symSize: 0x48 } + - { offsetInCU: 0x63F, offset: 0x807C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x28C, symBinAddr: 0xD570, symSize: 0x40 } + - { offsetInCU: 0x682, offset: 0x8080B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2CC, symBinAddr: 0xD5B0, symSize: 0x8 } + - { offsetInCU: 0x69E, offset: 0x80827, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2D4, symBinAddr: 0xD5B8, symSize: 0x2C } + - { offsetInCU: 0x6D0, offset: 0x80859, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0xD5E4, symSize: 0x10 } + - { offsetInCU: 0x6F0, offset: 0x80879, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x300, symBinAddr: 0xD5E4, symSize: 0x10 } + - { offsetInCU: 0x728, offset: 0x808B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x310, symBinAddr: 0xD5F4, symSize: 0x34 } + - { offsetInCU: 0x781, offset: 0x8090A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0xD6FC, symSize: 0x10 } + - { offsetInCU: 0x7A1, offset: 0x8092A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x418, symBinAddr: 0xD6FC, symSize: 0x10 } + - { offsetInCU: 0x7D7, offset: 0x80960, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0xD70C, symSize: 0x10 } + - { offsetInCU: 0x7F7, offset: 0x80980, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x428, symBinAddr: 0xD70C, symSize: 0x10 } + - { offsetInCU: 0x846, offset: 0x809CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x5A4, symBinAddr: 0xD848, symSize: 0x20 } + - { offsetInCU: 0x878, offset: 0x80A01, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x708, symBinAddr: 0xD9AC, symSize: 0x28 } + - { offsetInCU: 0x8D0, offset: 0x80A59, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x744, symBinAddr: 0xD9E8, symSize: 0x88 } + - { offsetInCU: 0x934, offset: 0x80ABD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x7CC, symBinAddr: 0xDA70, symSize: 0x7C } + - { offsetInCU: 0x9D6, offset: 0x80B5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xBF4, symBinAddr: 0xDE98, symSize: 0x28 } + - { offsetInCU: 0xAC0, offset: 0x80C49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x584, symBinAddr: 0xD828, symSize: 0x20 } + - { offsetInCU: 0xB34, offset: 0x80CBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xC4C, symBinAddr: 0xDEF0, symSize: 0x58 } + - { offsetInCU: 0x123B, offset: 0x813C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x438, symBinAddr: 0xD71C, symSize: 0x20 } + - { offsetInCU: 0x1255, offset: 0x813DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x458, symBinAddr: 0xD73C, symSize: 0xEC } + - { offsetInCU: 0x128D, offset: 0x81416, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x5C4, symBinAddr: 0xD868, symSize: 0x144 } + - { offsetInCU: 0x1448, offset: 0x815D1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x730, symBinAddr: 0xD9D4, symSize: 0x14 } + - { offsetInCU: 0x14F9, offset: 0x81682, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x848, symBinAddr: 0xDAEC, symSize: 0x3AC } + - { offsetInCU: 0x1869, offset: 0x819F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xC1C, symBinAddr: 0xDEC0, symSize: 0x30 } + - { offsetInCU: 0x1954, offset: 0x81ADD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xCA4, symBinAddr: 0xDF48, symSize: 0x65C } + - { offsetInCU: 0x2152, offset: 0x822DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x1344, symBinAddr: 0xE5E8, symSize: 0x6C8 } + - { offsetInCU: 0x10C, offset: 0x82C9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0xED4, symBinAddr: 0xFB5C, symSize: 0x68 } + - { offsetInCU: 0x19C, offset: 0x82D2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0xF48, symBinAddr: 0xFBD0, symSize: 0x10 } + - { offsetInCU: 0x1CB, offset: 0x82D5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0xF58, symBinAddr: 0xFBE0, symSize: 0x4 } + - { offsetInCU: 0x368, offset: 0x82EF7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x16DC, symBinAddr: 0x10364, symSize: 0x2C } + - { offsetInCU: 0x5D4, offset: 0x83163, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1744, symBinAddr: 0x103CC, symSize: 0x68 } + - { offsetInCU: 0x603, offset: 0x83192, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x17AC, symBinAddr: 0x10434, symSize: 0x20 } + - { offsetInCU: 0x617, offset: 0x831A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x17CC, symBinAddr: 0x10454, symSize: 0x20 } + - { offsetInCU: 0x62B, offset: 0x831BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x17EC, symBinAddr: 0x10474, symSize: 0x30 } + - { offsetInCU: 0x63F, offset: 0x831CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x181C, symBinAddr: 0x104A4, symSize: 0x8 } + - { offsetInCU: 0x653, offset: 0x831E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1824, symBinAddr: 0x104AC, symSize: 0x3C } + - { offsetInCU: 0x667, offset: 0x831F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1860, symBinAddr: 0x104E8, symSize: 0x50 } + - { offsetInCU: 0x67B, offset: 0x8320A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x18BC, symBinAddr: 0x10538, symSize: 0x40 } + - { offsetInCU: 0x68F, offset: 0x8321E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x18FC, symBinAddr: 0x10578, symSize: 0x48 } + - { offsetInCU: 0x6A3, offset: 0x83232, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1944, symBinAddr: 0x105C0, symSize: 0x40 } + - { offsetInCU: 0x6B7, offset: 0x83246, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1984, symBinAddr: 0x10600, symSize: 0x10 } + - { offsetInCU: 0x6CB, offset: 0x8325A, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1994, symBinAddr: 0x10610, symSize: 0x48 } + - { offsetInCU: 0x6DF, offset: 0x8326E, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1AA0, symBinAddr: 0x10658, symSize: 0x58 } + - { offsetInCU: 0x6F3, offset: 0x83282, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1AF8, symBinAddr: 0x106B0, symSize: 0x8 } + - { offsetInCU: 0x761, offset: 0x832F0, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x1DE4, symBinAddr: 0x1099C, symSize: 0x10 } + - { offsetInCU: 0xCBB, offset: 0x8384A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0xECB0, symSize: 0x540 } + - { offsetInCU: 0xF57, offset: 0x83AE6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x54C, symBinAddr: 0xF1FC, symSize: 0xE0 } + - { offsetInCU: 0xFD6, offset: 0x83B65, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x6F0, symBinAddr: 0xF38C, symSize: 0x9C } + - { offsetInCU: 0x1069, offset: 0x83BF8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0xDCC, symBinAddr: 0xFA54, symSize: 0x108 } + - { offsetInCU: 0x11B3, offset: 0x83D42, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x12D0, symBinAddr: 0xFF58, symSize: 0x40C } + - { offsetInCU: 0x18C9, offset: 0x84458, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1B00, symBinAddr: 0x106B8, symSize: 0x14 } + - { offsetInCU: 0x1968, offset: 0x844F7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1B14, symBinAddr: 0x106CC, symSize: 0x1DC } + - { offsetInCU: 0x27, offset: 0x846D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x109AC, symSize: 0x2C } + - { offsetInCU: 0x4B, offset: 0x846F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2D8, symBinAddr: 0x10C4068, symSize: 0x0 } + - { offsetInCU: 0x65, offset: 0x84712, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0x109AC, symSize: 0x2C } + - { offsetInCU: 0x98, offset: 0x84745, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x178, symBinAddr: 0x10B24, symSize: 0x40 } + - { offsetInCU: 0x104, offset: 0x847B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x228, symBinAddr: 0x10BD4, symSize: 0x3C } + - { offsetInCU: 0x156, offset: 0x84803, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x2C, symBinAddr: 0x109D8, symSize: 0x10C } + - { offsetInCU: 0x181, offset: 0x8482E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x208, symBinAddr: 0x10BB4, symSize: 0x20 } + - { offsetInCU: 0x195, offset: 0x84842, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x294, symBinAddr: 0x10C40, symSize: 0x4 } + - { offsetInCU: 0x1C0, offset: 0x8486D, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x298, symBinAddr: 0x10C44, symSize: 0x3C } + - { offsetInCU: 0x348, offset: 0x849F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x138, symBinAddr: 0x10AE4, symSize: 0x40 } + - { offsetInCU: 0x388, offset: 0x84A35, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x1B8, symBinAddr: 0x10B64, symSize: 0x20 } + - { offsetInCU: 0x39C, offset: 0x84A49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1D8, symBinAddr: 0x10B84, symSize: 0x30 } + - { offsetInCU: 0x3D8, offset: 0x84A85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x264, symBinAddr: 0x10C10, symSize: 0x30 } + - { offsetInCU: 0x2B, offset: 0x84AD3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x10C80, symSize: 0xA4 } + - { offsetInCU: 0x66, offset: 0x84B0E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA4, symBinAddr: 0x10D24, symSize: 0xA4 } + - { offsetInCU: 0xF9, offset: 0x84BA1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D8, symBinAddr: 0x10E58, symSize: 0x110 } + - { offsetInCU: 0x1A2, offset: 0x84C4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x30C, symBinAddr: 0x10F8C, symSize: 0x28 } + - { offsetInCU: 0x222, offset: 0x84CCA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x338, symBinAddr: 0x10FB8, symSize: 0xA0 } + - { offsetInCU: 0x29B, offset: 0x84D43, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4D0, symBinAddr: 0x11150, symSize: 0x15C } + - { offsetInCU: 0x330, offset: 0x84DD8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x67C, symBinAddr: 0x112FC, symSize: 0x3C } + - { offsetInCU: 0x381, offset: 0x84E29, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6E8, symBinAddr: 0x11368, symSize: 0x160 } + - { offsetInCU: 0x4DF, offset: 0x84F87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x848, symBinAddr: 0x114C8, symSize: 0x2E4 } + - { offsetInCU: 0x5AE, offset: 0x85056, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB2C, symBinAddr: 0x117AC, symSize: 0x20 } + - { offsetInCU: 0x5C2, offset: 0x8506A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB4C, symBinAddr: 0x117CC, symSize: 0x44 } + - { offsetInCU: 0x5D6, offset: 0x8507E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xB90, symBinAddr: 0x11810, symSize: 0x2C } + - { offsetInCU: 0x5EA, offset: 0x85092, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBBC, symBinAddr: 0x1183C, symSize: 0x8 } + - { offsetInCU: 0x5FE, offset: 0x850A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBC4, symBinAddr: 0x11844, symSize: 0x40 } + - { offsetInCU: 0x612, offset: 0x850BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC10, symBinAddr: 0x11884, symSize: 0x30 } + - { offsetInCU: 0x626, offset: 0x850CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC40, symBinAddr: 0x118B4, symSize: 0x48 } + - { offsetInCU: 0x63A, offset: 0x850E2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xC88, symBinAddr: 0x118FC, symSize: 0x3C } + - { offsetInCU: 0x64E, offset: 0x850F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCC4, symBinAddr: 0x11938, symSize: 0x8 } + - { offsetInCU: 0x662, offset: 0x8510A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCCC, symBinAddr: 0x11940, symSize: 0x4 } + - { offsetInCU: 0x676, offset: 0x8511E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xCD0, symBinAddr: 0x11944, symSize: 0x4 } + - { offsetInCU: 0x68A, offset: 0x85132, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xCD4, symBinAddr: 0x11948, symSize: 0x10 } + - { offsetInCU: 0x712, offset: 0x851BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D8, symBinAddr: 0x11058, symSize: 0x4 } + - { offsetInCU: 0x72E, offset: 0x851D6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3DC, symBinAddr: 0x1105C, symSize: 0x4 } + - { offsetInCU: 0x74A, offset: 0x851F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3E0, symBinAddr: 0x11060, symSize: 0x4 } + - { offsetInCU: 0x766, offset: 0x8520E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x3E4, symBinAddr: 0x11064, symSize: 0x4 } + - { offsetInCU: 0xA14, offset: 0x854BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0x10C80, symSize: 0xA4 } + - { offsetInCU: 0xAAA, offset: 0x85552, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x148, symBinAddr: 0x10DC8, symSize: 0x90 } + - { offsetInCU: 0xC31, offset: 0x856D9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2E8, symBinAddr: 0x10F68, symSize: 0x24 } + - { offsetInCU: 0xC7B, offset: 0x85723, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x334, symBinAddr: 0x10FB4, symSize: 0x4 } + - { offsetInCU: 0xC9D, offset: 0x85745, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x3E8, symBinAddr: 0x11068, symSize: 0xE8 } + - { offsetInCU: 0xD4D, offset: 0x857F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x62C, symBinAddr: 0x112AC, symSize: 0x20 } + - { offsetInCU: 0xD61, offset: 0x85809, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x64C, symBinAddr: 0x112CC, symSize: 0x30 } + - { offsetInCU: 0xD97, offset: 0x8583F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6B8, symBinAddr: 0x11338, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x85958, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x1195C, symSize: 0x4 } + - { offsetInCU: 0x71, offset: 0x859A2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x4, symBinAddr: 0x11960, symSize: 0x70 } + - { offsetInCU: 0xF6, offset: 0x85A27, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x78, symBinAddr: 0x119D4, symSize: 0x50 } + - { offsetInCU: 0x191, offset: 0x85AC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xCC, symBinAddr: 0x11A28, symSize: 0x68 } + - { offsetInCU: 0x254, offset: 0x85B85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x138, symBinAddr: 0x11A94, symSize: 0x98 } + - { offsetInCU: 0x323, offset: 0x85C54, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x220, symBinAddr: 0x11B7C, symSize: 0x3C } + - { offsetInCU: 0x375, offset: 0x85CA6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x28C, symBinAddr: 0x11BE8, symSize: 0x20 } + - { offsetInCU: 0x4E5, offset: 0x85E16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x1195C, symSize: 0x4 } + - { offsetInCU: 0x51D, offset: 0x85E4E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x1195C, symSize: 0x4 } + - { offsetInCU: 0x588, offset: 0x85EB9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x119D0, symSize: 0x4 } + - { offsetInCU: 0x5C8, offset: 0x85EF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x74, symBinAddr: 0x119D0, symSize: 0x4 } + - { offsetInCU: 0x62A, offset: 0x85F5B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x11A24, symSize: 0x4 } + - { offsetInCU: 0x67C, offset: 0x85FAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xC8, symBinAddr: 0x11A24, symSize: 0x4 } + - { offsetInCU: 0x6F1, offset: 0x86022, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x11A90, symSize: 0x4 } + - { offsetInCU: 0x767, offset: 0x86098, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x134, symBinAddr: 0x11A90, symSize: 0x4 } + - { offsetInCU: 0x805, offset: 0x86136, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1D0, symBinAddr: 0x11B2C, symSize: 0x20 } + - { offsetInCU: 0x819, offset: 0x8614A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x1F0, symBinAddr: 0x11B4C, symSize: 0x30 } + - { offsetInCU: 0x84F, offset: 0x86180, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x25C, symBinAddr: 0x11BB8, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x861CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x11C08, symSize: 0x14 } + - { offsetInCU: 0xA9, offset: 0x8624C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x14, symBinAddr: 0x11C1C, symSize: 0x38 } + - { offsetInCU: 0x1A2, offset: 0x86345, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x68, symBinAddr: 0x11C70, symSize: 0x40 } + - { offsetInCU: 0x284, offset: 0x86427, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x118, symBinAddr: 0x11D20, symSize: 0x3C } + - { offsetInCU: 0x2D6, offset: 0x86479, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0xF8, symBinAddr: 0x11D00, symSize: 0x20 } + - { offsetInCU: 0x480, offset: 0x86623, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x11C08, symSize: 0x14 } + - { offsetInCU: 0x5C4, offset: 0x86767, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x4C, symBinAddr: 0x11C54, symSize: 0x1C } + - { offsetInCU: 0x6FA, offset: 0x8689D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0xA8, symBinAddr: 0x11CB0, symSize: 0x20 } + - { offsetInCU: 0x70E, offset: 0x868B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0xC8, symBinAddr: 0x11CD0, symSize: 0x30 } + - { offsetInCU: 0x744, offset: 0x868E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x154, symBinAddr: 0x11D5C, symSize: 0x30 } + - { offsetInCU: 0x61, offset: 0x8696B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x11D90, symSize: 0x10 } + - { offsetInCU: 0x81, offset: 0x8698B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x4, symBinAddr: 0x11D90, symSize: 0x10 } + - { offsetInCU: 0xB7, offset: 0x869C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x11DA0, symSize: 0x10 } + - { offsetInCU: 0xD7, offset: 0x869E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x14, symBinAddr: 0x11DA0, symSize: 0x10 } + - { offsetInCU: 0x110, offset: 0x86A1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x24, symBinAddr: 0x11DB0, symSize: 0x48 } + - { offsetInCU: 0x168, offset: 0x86A72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xB4, symBinAddr: 0x11E40, symSize: 0x50 } + - { offsetInCU: 0x1C3, offset: 0x86ACD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x11E90, symSize: 0x10 } + - { offsetInCU: 0x1E3, offset: 0x86AED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x104, symBinAddr: 0x11E90, symSize: 0x10 } + - { offsetInCU: 0x219, offset: 0x86B23, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x11EA0, symSize: 0x10 } + - { offsetInCU: 0x239, offset: 0x86B43, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x114, symBinAddr: 0x11EA0, symSize: 0x10 } + - { offsetInCU: 0x272, offset: 0x86B7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1B0, symBinAddr: 0x11F3C, symSize: 0x78 } + - { offsetInCU: 0x2C8, offset: 0x86BD2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x2D4, symBinAddr: 0x12060, symSize: 0xB0 } + - { offsetInCU: 0x32A, offset: 0x86C34, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x43C, symBinAddr: 0x121C8, symSize: 0x28 } + - { offsetInCU: 0x35C, offset: 0x86C66, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x4E0, symBinAddr: 0x121F0, symSize: 0xA0 } + - { offsetInCU: 0x3DD, offset: 0x86CE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x5BC, symBinAddr: 0x12290, symSize: 0x60 } + - { offsetInCU: 0x44D, offset: 0x86D57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x620, symBinAddr: 0x122F4, symSize: 0x4C } + - { offsetInCU: 0x4BF, offset: 0x86DC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x70C, symBinAddr: 0x123E0, symSize: 0x34 } + - { offsetInCU: 0x533, offset: 0x86E3D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x190, symBinAddr: 0x11F1C, symSize: 0x20 } + - { offsetInCU: 0x55D, offset: 0x86E67, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x74C, symBinAddr: 0x12420, symSize: 0x10 } + - { offsetInCU: 0x65B, offset: 0x86F65, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xA08, symBinAddr: 0x126DC, symSize: 0x74 } + - { offsetInCU: 0x699, offset: 0x86FA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x12750, symSize: 0x10 } + - { offsetInCU: 0x6B9, offset: 0x86FC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xA7C, symBinAddr: 0x12750, symSize: 0x10 } + - { offsetInCU: 0x6EF, offset: 0x86FF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x12760, symSize: 0x10 } + - { offsetInCU: 0x70F, offset: 0x87019, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xA8C, symBinAddr: 0x12760, symSize: 0x10 } + - { offsetInCU: 0x748, offset: 0x87052, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xA9C, symBinAddr: 0x12770, symSize: 0x20 } + - { offsetInCU: 0x7A0, offset: 0x870AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xABC, symBinAddr: 0x12790, symSize: 0x14 } + - { offsetInCU: 0x7FB, offset: 0x87105, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xAD0, symBinAddr: 0x127A4, symSize: 0x44 } + - { offsetInCU: 0x853, offset: 0x8715D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xB58, symBinAddr: 0x1282C, symSize: 0x48 } + - { offsetInCU: 0x8E8, offset: 0x871F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xCBC, symBinAddr: 0x12990, symSize: 0x78 } + - { offsetInCU: 0x93E, offset: 0x87248, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xE34, symBinAddr: 0x12B08, symSize: 0xB0 } + - { offsetInCU: 0x9A0, offset: 0x872AA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x12C64, symSize: 0x28 } + - { offsetInCU: 0x9D2, offset: 0x872DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0xFB8, symBinAddr: 0x12C8C, symSize: 0xB8 } + - { offsetInCU: 0xA53, offset: 0x8735D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x1074, symBinAddr: 0x12D44, symSize: 0x28 } + - { offsetInCU: 0xAB1, offset: 0x873BB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x10D8, symBinAddr: 0x12DA8, symSize: 0x10 } + - { offsetInCU: 0xC88, offset: 0x87592, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgmq5', symObjAddr: 0x13D0, symBinAddr: 0x12FA4, symSize: 0x64 } + - { offsetInCU: 0xCD9, offset: 0x875E3, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x15D8, symBinAddr: 0x131AC, symSize: 0x44 } + - { offsetInCU: 0xCED, offset: 0x875F7, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x161C, symBinAddr: 0x131F0, symSize: 0x44 } + - { offsetInCU: 0xD01, offset: 0x8760B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x1660, symBinAddr: 0x13234, symSize: 0x20 } + - { offsetInCU: 0xDDB, offset: 0x876E5, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x14B8, symBinAddr: 0x1308C, symSize: 0x110 } + - { offsetInCU: 0x1086, offset: 0x87990, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x6C, symBinAddr: 0x11DF8, symSize: 0x48 } + - { offsetInCU: 0x1103, offset: 0x87A0D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x124, symBinAddr: 0x11EB0, symSize: 0x6C } + - { offsetInCU: 0x114A, offset: 0x87A54, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x228, symBinAddr: 0x11FB4, symSize: 0xAC } + - { offsetInCU: 0x11AE, offset: 0x87AB8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x384, symBinAddr: 0x12110, symSize: 0xB8 } + - { offsetInCU: 0x1239, offset: 0x87B43, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x61C, symBinAddr: 0x122F0, symSize: 0x4 } + - { offsetInCU: 0x125A, offset: 0x87B64, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x66C, symBinAddr: 0x12340, symSize: 0x74 } + - { offsetInCU: 0x126E, offset: 0x87B78, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x6E0, symBinAddr: 0x123B4, symSize: 0x2C } + - { offsetInCU: 0x1387, offset: 0x87C91, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x75C, symBinAddr: 0x12430, symSize: 0x2AC } + - { offsetInCU: 0x1731, offset: 0x8803B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xB14, symBinAddr: 0x127E8, symSize: 0x44 } + - { offsetInCU: 0x1770, offset: 0x8807A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xBA0, symBinAddr: 0x12874, symSize: 0x48 } + - { offsetInCU: 0x1795, offset: 0x8809F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xBE8, symBinAddr: 0x128BC, symSize: 0x44 } + - { offsetInCU: 0x17BA, offset: 0x880C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xC2C, symBinAddr: 0x12900, symSize: 0x4 } + - { offsetInCU: 0x17E1, offset: 0x880EB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xC30, symBinAddr: 0x12904, symSize: 0x20 } + - { offsetInCU: 0x17F5, offset: 0x880FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xC50, symBinAddr: 0x12924, symSize: 0x6C } + - { offsetInCU: 0x183C, offset: 0x88146, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xD88, symBinAddr: 0x12A5C, symSize: 0xAC } + - { offsetInCU: 0x189B, offset: 0x881A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0xEE4, symBinAddr: 0x12BB8, symSize: 0xAC } + - { offsetInCU: 0x1940, offset: 0x8824A, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x10E8, symBinAddr: 0x12DB8, symSize: 0x104 } + - { offsetInCU: 0x1A6F, offset: 0x88379, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x12E8, symBinAddr: 0x12EBC, symSize: 0xE8 } + - { offsetInCU: 0x1BB3, offset: 0x884BD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x1434, symBinAddr: 0x13008, symSize: 0x84 } + - { offsetInCU: 0x1CAC, offset: 0x885B6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x1680, symBinAddr: 0x13254, symSize: 0x360 } + - { offsetInCU: 0x2B, offset: 0x889D0, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x137A0, symSize: 0x2C } + - { offsetInCU: 0x4F, offset: 0x889F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x958, symBinAddr: 0x10C41B0, symSize: 0x0 } + - { offsetInCU: 0x5D, offset: 0x88A02, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x137A0, symSize: 0x2C } + - { offsetInCU: 0x75, offset: 0x88A1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x2C, symBinAddr: 0x137CC, symSize: 0x10C } + - { offsetInCU: 0xBC, offset: 0x88A61, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x13C, symBinAddr: 0x138DC, symSize: 0x44 } + - { offsetInCU: 0x132, offset: 0x88AD7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3AC, symBinAddr: 0x13B4C, symSize: 0x80 } + - { offsetInCU: 0x191, offset: 0x88B36, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x47C, symBinAddr: 0x13C1C, symSize: 0x3C } + - { offsetInCU: 0x1E2, offset: 0x88B87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x4EC, symBinAddr: 0x13C8C, symSize: 0x1DC } + - { offsetInCU: 0x269, offset: 0x88C0E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x4E8, symBinAddr: 0x13C88, symSize: 0x4 } + - { offsetInCU: 0x2A5, offset: 0x88C4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x6C8, symBinAddr: 0x13E68, symSize: 0x20 } + - { offsetInCU: 0x2C4, offset: 0x88C69, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x70C, symBinAddr: 0x13EAC, symSize: 0x14 } + - { offsetInCU: 0x2ED, offset: 0x88C92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x74C, symBinAddr: 0x13EEC, symSize: 0xC } + - { offsetInCU: 0x301, offset: 0x88CA6, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x758, symBinAddr: 0x13EF8, symSize: 0x10 } + - { offsetInCU: 0x315, offset: 0x88CBA, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x768, symBinAddr: 0x13F08, symSize: 0x8 } + - { offsetInCU: 0x329, offset: 0x88CCE, size: 0x8, addend: 0x0, symName: '_$s8Dispatch0A13WorkItemFlagsVACs10SetAlgebraAAWl', symObjAddr: 0x770, symBinAddr: 0x13F10, symSize: 0x48 } + - { offsetInCU: 0x33D, offset: 0x88CE2, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGSayxGSTsWl', symObjAddr: 0x7F8, symBinAddr: 0x13F58, symSize: 0x4C } + - { offsetInCU: 0x351, offset: 0x88CF6, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledNameAbstract, symObjAddr: 0x844, symBinAddr: 0x13FA4, symSize: 0x44 } + - { offsetInCU: 0x365, offset: 0x88D0A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8C4, symBinAddr: 0x13FE8, symSize: 0x24 } + - { offsetInCU: 0x399, offset: 0x88D3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x90C, symBinAddr: 0x14030, symSize: 0x24 } + - { offsetInCU: 0x52E, offset: 0x88ED3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x138D8, symSize: 0x4 } + - { offsetInCU: 0x55C, offset: 0x88F01, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x138, symBinAddr: 0x138D8, symSize: 0x4 } + - { offsetInCU: 0x5BB, offset: 0x88F60, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x180, symBinAddr: 0x13920, symSize: 0x4 } + - { offsetInCU: 0x5CF, offset: 0x88F74, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x184, symBinAddr: 0x13924, symSize: 0x228 } + - { offsetInCU: 0x6A8, offset: 0x8904D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x42C, symBinAddr: 0x13BCC, symSize: 0x20 } + - { offsetInCU: 0x6BC, offset: 0x89061, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x44C, symBinAddr: 0x13BEC, symSize: 0x30 } + - { offsetInCU: 0x6F2, offset: 0x89097, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4B8, symBinAddr: 0x13C58, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x8913D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x14068, symSize: 0x20 } + - { offsetInCU: 0x77, offset: 0x8918D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x140D8, symSize: 0x3C } + - { offsetInCU: 0xC9, offset: 0x891DF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x140B8, symSize: 0x20 } + - { offsetInCU: 0x214, offset: 0x8932A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x14068, symSize: 0x20 } + - { offsetInCU: 0x228, offset: 0x8933E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x14088, symSize: 0x30 } + - { offsetInCU: 0x264, offset: 0x8937A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xAC, symBinAddr: 0x14114, symSize: 0x30 } + - { offsetInCU: 0x26, offset: 0x893C3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2B1E9C, symSize: 0x265C } + - { offsetInCU: 0x40, offset: 0x893DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0x9E20, symBinAddr: 0x9951C0, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0x8942F, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0xFE20, symBinAddr: 0x99B1C0, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0x89493, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0xFE48, symBinAddr: 0x99B1E8, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0x894A9, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x10250, symBinAddr: 0x99B5F0, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0x894C0, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0xFE90, symBinAddr: 0x99B230, symSize: 0x0 } + - { offsetInCU: 0x9C2, offset: 0x89D5F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2B1E9C, symSize: 0x265C } + - { offsetInCU: 0x45D1, offset: 0x8D96E, size: 0x8, addend: 0x0, symName: _fe_frombytes, symObjAddr: 0x265C, symBinAddr: 0x2B44F8, symSize: 0x134 } + - { offsetInCU: 0x46F7, offset: 0x8DA94, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0x9954, symBinAddr: 0x2BB7F0, symSize: 0x21C } + - { offsetInCU: 0x4926, offset: 0x8DCC3, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x4FE0, symBinAddr: 0x2B6E7C, symSize: 0x1B8 } + - { offsetInCU: 0x5313, offset: 0x8E6B0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x2790, symBinAddr: 0x2B462C, symSize: 0x5BC } + - { offsetInCU: 0x5F76, offset: 0x8F313, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x2D4C, symBinAddr: 0x2B4BE8, symSize: 0x7F8 } + - { offsetInCU: 0x642E, offset: 0x8F7CB, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x3544, symBinAddr: 0x2B53E0, symSize: 0x208 } + - { offsetInCU: 0x69FC, offset: 0x8FD99, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x374C, symBinAddr: 0x2B55E8, symSize: 0x7B4 } + - { offsetInCU: 0x77D5, offset: 0x90B72, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x3F00, symBinAddr: 0x2B5D9C, symSize: 0x634 } + - { offsetInCU: 0x8196, offset: 0x91533, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x4534, symBinAddr: 0x2B63D0, symSize: 0xAAC } + - { offsetInCU: 0x9567, offset: 0x92904, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x529C, symBinAddr: 0x2B7138, symSize: 0x23F8 } + - { offsetInCU: 0xCAB8, offset: 0x95E55, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x5198, symBinAddr: 0x2B7034, symSize: 0x104 } + - { offsetInCU: 0xCD20, offset: 0x960BD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0x7694, symBinAddr: 0x2B9530, symSize: 0x30 } + - { offsetInCU: 0xCE11, offset: 0x961AE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0x76C4, symBinAddr: 0x2B9560, symSize: 0x58 } + - { offsetInCU: 0xCE86, offset: 0x96223, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x2B95B8, symSize: 0x4 } + - { offsetInCU: 0xCECE, offset: 0x9626B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x2B95B8, symSize: 0x4 } + - { offsetInCU: 0xCEFD, offset: 0x9629A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0x771C, symBinAddr: 0x2B95B8, symSize: 0x4 } + - { offsetInCU: 0xCF21, offset: 0x962BE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0x7720, symBinAddr: 0x2B95BC, symSize: 0x8C } + - { offsetInCU: 0xD056, offset: 0x963F3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x2B9648, symSize: 0x4 } + - { offsetInCU: 0xD08F, offset: 0x9642C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0x77AC, symBinAddr: 0x2B9648, symSize: 0x4 } + - { offsetInCU: 0xD328, offset: 0x966C5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0x77B0, symBinAddr: 0x2B964C, symSize: 0x15D8 } + - { offsetInCU: 0x10671, offset: 0x99A0E, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0x9B70, symBinAddr: 0x2BBA0C, symSize: 0x218 } + - { offsetInCU: 0x10CA3, offset: 0x9A040, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0x8D88, symBinAddr: 0x2BAC24, symSize: 0x20 } + - { offsetInCU: 0x11140, offset: 0x9A4DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0x8DA8, symBinAddr: 0x2BAC44, symSize: 0xBAC } + - { offsetInCU: 0x26, offset: 0x9B2A8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2BBC24, symSize: 0x1F4 } + - { offsetInCU: 0x1D2, offset: 0x9B454, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2BBC24, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0x9B6EF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2BBE18, symSize: 0x3C } + - { offsetInCU: 0x34, offset: 0x9B6FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2BBE18, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0x9B80D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2BBE54, symSize: 0x98 } + - { offsetInCU: 0x34, offset: 0x9B81B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2BBE54, symSize: 0x98 } + - { offsetInCU: 0x86, offset: 0x9B97E, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x1100, symBinAddr: 0x99B6A0, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0x9B9B0, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1090, symBinAddr: 0x99B630, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0x9B9D2, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x10C0, symBinAddr: 0x99B660, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0x9B9E8, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x10F0, symBinAddr: 0x99B690, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0x9BCAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2BBEEC, symSize: 0x18 } + - { offsetInCU: 0x3FB, offset: 0x9BCF3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x100, symBinAddr: 0x2BBEEC, symSize: 0x18 } + - { offsetInCU: 0x594, offset: 0x9BE8C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x1F8, symBinAddr: 0x2BBF04, symSize: 0x18 } + - { offsetInCU: 0x63F, offset: 0x9BF37, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x290, symBinAddr: 0x2BBF1C, symSize: 0x320 } + - { offsetInCU: 0x1173, offset: 0x9CA6B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x5B0, symBinAddr: 0x2BC23C, symSize: 0xAC } + - { offsetInCU: 0x1469, offset: 0x9CD61, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x65C, symBinAddr: 0x2BC2E8, symSize: 0x500 } + - { offsetInCU: 0x2666, offset: 0x9DF5E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xB5C, symBinAddr: 0x2BC7E8, symSize: 0x2C8 } + - { offsetInCU: 0x2CB5, offset: 0x9E5AD, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0xE24, symBinAddr: 0x2BCAB0, symSize: 0xF4 } + - { offsetInCU: 0x2EC7, offset: 0x9E7BF, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0xF18, symBinAddr: 0x2BCBA4, symSize: 0x168 } + - { offsetInCU: 0x26, offset: 0x9EAEA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2BCD0C, symSize: 0x38 } + - { offsetInCU: 0xFA, offset: 0x9EBBE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2BCD0C, symSize: 0x38 } + - { offsetInCU: 0x12C, offset: 0x9EBF0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2BCD0C, symSize: 0x38 } + - { offsetInCU: 0x199, offset: 0x9EC5D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2BCD44, symSize: 0x3C } + - { offsetInCU: 0x1F3, offset: 0x9ECB7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x38, symBinAddr: 0x2BCD44, symSize: 0x3C } + - { offsetInCU: 0x31B, offset: 0x9EDDF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0x74, symBinAddr: 0x2BCD80, symSize: 0x5C } + - { offsetInCU: 0x517, offset: 0x9EFDB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0xD0, symBinAddr: 0x2BCDDC, symSize: 0x1C } + - { offsetInCU: 0x636, offset: 0x9F0FA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0xEC, symBinAddr: 0x2BCDF8, symSize: 0x54 } + - { offsetInCU: 0x6D9, offset: 0x9F19D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x140, symBinAddr: 0x2BCE4C, symSize: 0x4C } + - { offsetInCU: 0x8A7, offset: 0x9F36B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x2BCE98, symSize: 0xA8 } + - { offsetInCU: 0x90B, offset: 0x9F3CF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x18C, symBinAddr: 0x2BCE98, symSize: 0xA8 } + - { offsetInCU: 0xBAA, offset: 0x9F66E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2BCF40, symSize: 0x110 } + - { offsetInCU: 0xC4C, offset: 0x9F710, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x234, symBinAddr: 0x2BCF40, symSize: 0x110 } + - { offsetInCU: 0xEDE, offset: 0x9F9A2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x2BD050, symSize: 0xB0 } + - { offsetInCU: 0xF5E, offset: 0x9FA22, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x344, symBinAddr: 0x2BD050, symSize: 0xB0 } + - { offsetInCU: 0x10E1, offset: 0x9FBA5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x3F4, symBinAddr: 0x2BD100, symSize: 0x198 } + - { offsetInCU: 0x13AB, offset: 0x9FE6F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_select_512_32, symObjAddr: 0x58C, symBinAddr: 0x2BD298, symSize: 0x290 } + - { offsetInCU: 0x1500, offset: 0x9FFC4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0x81C, symBinAddr: 0x2BD528, symSize: 0x18 } + - { offsetInCU: 0x1567, offset: 0xA002B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0x834, symBinAddr: 0x2BD540, symSize: 0xC } + - { offsetInCU: 0x15A0, offset: 0xA0064, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0x840, symBinAddr: 0x2BD54C, symSize: 0x8 } + - { offsetInCU: 0x1624, offset: 0xA00E8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0x848, symBinAddr: 0x2BD554, symSize: 0x3C } + - { offsetInCU: 0x26, offset: 0xA029B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2BD590, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xA02A9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2BD590, symSize: 0x190 } + - { offsetInCU: 0x34, offset: 0xA03AF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_armcap_P, symObjAddr: 0x398, symBinAddr: 0x10CB0D8, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xA03F1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2BD720, symSize: 0x388 } + - { offsetInCU: 0x76, offset: 0xA0441, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0x99C000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xA04C5, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0x9C1000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xA0726, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2BD720, symSize: 0x388 } + - { offsetInCU: 0xC66, offset: 0xA1031, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x388, symBinAddr: 0x2BDAA8, symSize: 0x204 } + - { offsetInCU: 0x1163, offset: 0xA152E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x58C, symBinAddr: 0x2BDCAC, symSize: 0x1BC } + - { offsetInCU: 0x10, offset: 0xA1903, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2BDE80, symSize: 0x1A0 } + - { offsetInCU: 0x50, offset: 0xA1943, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2BDE80, symSize: 0x1A0 } + - { offsetInCU: 0x5E, offset: 0xA1951, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x1A0, symBinAddr: 0x2BE020, symSize: 0x60 } + - { offsetInCU: 0x81, offset: 0xA1974, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x200, symBinAddr: 0x2BE080, symSize: 0x288 } + - { offsetInCU: 0x10, offset: 0xA1965, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2BE310, symSize: 0x130 } + - { offsetInCU: 0x48, offset: 0xA199D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2BE310, symSize: 0x130 } + - { offsetInCU: 0x5F, offset: 0xA19B4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x130, symBinAddr: 0x2BE440, symSize: 0x70 } + - { offsetInCU: 0x75, offset: 0xA19CA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x1A0, symBinAddr: 0x2BE4B0, symSize: 0x160 } + - { offsetInCU: 0x7A, offset: 0xA19CF, size: 0x8, addend: 0x0, symName: gcm_ghash_v8_4x, symObjAddr: 0x300, symBinAddr: 0x2BE610, symSize: 0x378 } + - { offsetInCU: 0x10, offset: 0xA19DD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2BE9A0, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xA1A15, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2BE9A0, symSize: 0x3A0 } + - { offsetInCU: 0x4C, offset: 0xA1A19, size: 0x8, addend: 0x0, symName: ChaCha20_neon, symObjAddr: 0x3A0, symBinAddr: 0x2BED40, symSize: 0x6C0 } + - { offsetInCU: 0x66, offset: 0xA1A33, size: 0x8, addend: 0x0, symName: ChaCha20_512_neon, symObjAddr: 0xA60, symBinAddr: 0x2BF400, symSize: 0x1138 } + - { offsetInCU: 0x50, offset: 0xA1A7F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x140, symBinAddr: 0x2C0680, symSize: 0x1180 } + - { offsetInCU: 0x66, offset: 0xA1A95, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x12C0, symBinAddr: 0x2C1800, symSize: 0x1410 } + - { offsetInCU: 0x10, offset: 0xA1A8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C2C20, symSize: 0x240 } + - { offsetInCU: 0x45, offset: 0xA1AC0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C2C20, symSize: 0x240 } + - { offsetInCU: 0x4D, offset: 0xA1AC8, size: 0x8, addend: 0x0, symName: __bn_sqr8x_mont, symObjAddr: 0x240, symBinAddr: 0x2C2E60, symSize: 0x9E0 } + - { offsetInCU: 0x63, offset: 0xA1ADE, size: 0x8, addend: 0x0, symName: __bn_mul4x_mont, symObjAddr: 0xC20, symBinAddr: 0x2C3840, symSize: 0x650 } + - { offsetInCU: 0x10, offset: 0xA1AED, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C3EA0, symSize: 0x40 } + - { offsetInCU: 0x47, offset: 0xA1B24, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2C3EA0, symSize: 0x40 } + - { offsetInCU: 0x5D, offset: 0xA1B3A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x40, symBinAddr: 0x2C3EE0, symSize: 0x40 } + - { offsetInCU: 0x76, offset: 0xA1B53, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x80, symBinAddr: 0x2C3F20, symSize: 0x40 } + - { offsetInCU: 0x81, offset: 0xA1B5E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_mont, symObjAddr: 0xC0, symBinAddr: 0x2C3F60, symSize: 0x1E0 } + - { offsetInCU: 0x97, offset: 0xA1B74, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_mont, symObjAddr: 0x2A0, symBinAddr: 0x2C4140, symSize: 0x170 } + - { offsetInCU: 0xAB, offset: 0xA1B88, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_to, symObjAddr: 0x410, symBinAddr: 0x2C42B0, symSize: 0x50 } + - { offsetInCU: 0xC3, offset: 0xA1BA0, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_from, symObjAddr: 0x460, symBinAddr: 0x2C4300, symSize: 0x50 } + - { offsetInCU: 0xD9, offset: 0xA1BB6, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_morf, symObjAddr: 0x4B0, symBinAddr: 0x2C4350, symSize: 0x50 } + - { offsetInCU: 0xEF, offset: 0xA1BCC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_div_by_2, symObjAddr: 0x500, symBinAddr: 0x2C43A0, symSize: 0x60 } + - { offsetInCU: 0x111, offset: 0xA1BEE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x560, symBinAddr: 0x2C4400, symSize: 0x1E0 } + - { offsetInCU: 0x124, offset: 0xA1C01, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x740, symBinAddr: 0x2C45E0, symSize: 0x360 } + - { offsetInCU: 0x141, offset: 0xA1C1E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0xAA0, symBinAddr: 0x2C4940, symSize: 0x2D0 } + - { offsetInCU: 0x156, offset: 0xA1C33, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0xD70, symBinAddr: 0x2C4C10, symSize: 0x2B0 } + - { offsetInCU: 0x170, offset: 0xA1C4D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x1020, symBinAddr: 0x2C4EC0, symSize: 0x250 } + - { offsetInCU: 0x184, offset: 0xA1C61, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x1270, symBinAddr: 0x2C5110, symSize: 0x60 } + - { offsetInCU: 0x19A, offset: 0xA1C77, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x12D0, symBinAddr: 0x2C5170, symSize: 0x44 } + - { offsetInCU: 0x10, offset: 0xA1C6D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2C51C0, symSize: 0xB90 } + - { offsetInCU: 0x4C, offset: 0xA1CA9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_enc_kernel, symObjAddr: 0x0, symBinAddr: 0x2C51C0, symSize: 0xB90 } + - { offsetInCU: 0x62, offset: 0xA1CBF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_gcm_dec_kernel, symObjAddr: 0xB90, symBinAddr: 0x2C5D50, symSize: 0xB98 } + - { offsetInCU: 0x10, offset: 0xA1CB9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2C6900, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1CFA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2C6900, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1CFA, size: 0x8, addend: 0x0, symName: sha512_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x2C7740, symSize: 0x7E0 } + - { offsetInCU: 0x10, offset: 0xA1D05, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2C7F40, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1D46, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2C7F40, symSize: 0xE40 } + - { offsetInCU: 0x51, offset: 0xA1D46, size: 0x8, addend: 0x0, symName: sha256_block_armv8, symObjAddr: 0xE40, symBinAddr: 0x2C8D80, symSize: 0x1F0 } ... diff --git a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml index e03efe90c..0e5e3fa18 100644 --- a/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +++ b/packages/canvas/src-native/canvas-ios/dist/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml @@ -2,644 +2,642 @@ triple: 'x86_64-apple-darwin' binary-path: '/Users/triniwiz/Documents/GitHub/canvas/packages/canvas/src-native/canvas-ios/dist/Release-iphonesimulator/CanvasNative.framework/CanvasNative' relocations: - - { offsetInCU: 0x34, offset: 0x78185, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0x99B000, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x781BA, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0x99B038, symSize: 0x0 } - - { offsetInCU: 0x3F, offset: 0x7820F, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x40, symBinAddr: 0x2700, symSize: 0x10 } - - { offsetInCU: 0x53, offset: 0x78223, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x50, symBinAddr: 0x2710, symSize: 0x10 } - - { offsetInCU: 0x67, offset: 0x78237, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x60, symBinAddr: 0x2720, symSize: 0x20 } - - { offsetInCU: 0x7B, offset: 0x7824B, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x80, symBinAddr: 0x2740, symSize: 0x30 } - - { offsetInCU: 0x8F, offset: 0x7825F, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0xD0, symBinAddr: 0x2790, symSize: 0x30 } - - { offsetInCU: 0xA3, offset: 0x78273, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0x100, symBinAddr: 0x27C0, symSize: 0x20 } - - { offsetInCU: 0xB7, offset: 0x78287, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0x120, symBinAddr: 0x27E0, symSize: 0x20 } - - { offsetInCU: 0xCB, offset: 0x7829B, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0x140, symBinAddr: 0x2800, symSize: 0x30 } - - { offsetInCU: 0x4F, offset: 0x78484, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x3080, symBinAddr: 0x1243E30, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x7849E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x3088, symBinAddr: 0x1243E38, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x784D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x10, symBinAddr: 0x28D0, symSize: 0x40 } - - { offsetInCU: 0xF3, offset: 0x78528, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x60, symBinAddr: 0x2920, symSize: 0x60 } - - { offsetInCU: 0x144, offset: 0x78579, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xD0, symBinAddr: 0x2990, symSize: 0x40 } - - { offsetInCU: 0x19F, offset: 0x785D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x120, symBinAddr: 0x29E0, symSize: 0x50 } - - { offsetInCU: 0x204, offset: 0x78639, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x180, symBinAddr: 0x2A40, symSize: 0x60 } - - { offsetInCU: 0x27D, offset: 0x786B2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1F0, symBinAddr: 0x2AB0, symSize: 0x90 } - - { offsetInCU: 0x2DA, offset: 0x7870F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x290, symBinAddr: 0x2B50, symSize: 0x20 } - - { offsetInCU: 0x389, offset: 0x787BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x320, symBinAddr: 0x2BE0, symSize: 0x80 } - - { offsetInCU: 0x44E, offset: 0x78883, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x410, symBinAddr: 0x2CD0, symSize: 0x80 } - - { offsetInCU: 0x51D, offset: 0x78952, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x500, symBinAddr: 0x2DC0, symSize: 0x80 } - - { offsetInCU: 0x5E7, offset: 0x78A1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x600, symBinAddr: 0x2EC0, symSize: 0x90 } - - { offsetInCU: 0x67F, offset: 0x78AB4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x6A0, symBinAddr: 0x2F60, symSize: 0x10 } - - { offsetInCU: 0x6E6, offset: 0x78B1B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x6C0, symBinAddr: 0x2F80, symSize: 0x10 } - - { offsetInCU: 0x73D, offset: 0x78B72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x6E0, symBinAddr: 0x2FA0, symSize: 0x10 } - - { offsetInCU: 0x794, offset: 0x78BC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x700, symBinAddr: 0x2FC0, symSize: 0x10 } - - { offsetInCU: 0x7EB, offset: 0x78C20, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x720, symBinAddr: 0x2FE0, symSize: 0x10 } - - { offsetInCU: 0x842, offset: 0x78C77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x740, symBinAddr: 0x3000, symSize: 0x10 } - - { offsetInCU: 0x8C1, offset: 0x78CF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x760, symBinAddr: 0x3020, symSize: 0x40 } - - { offsetInCU: 0x96C, offset: 0x78DA1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x7B0, symBinAddr: 0x3070, symSize: 0x20 } - - { offsetInCU: 0x9DF, offset: 0x78E14, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x7E0, symBinAddr: 0x30A0, symSize: 0x10 } - - { offsetInCU: 0xA36, offset: 0x78E6B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x850, symBinAddr: 0x3110, symSize: 0x70 } - - { offsetInCU: 0xAC1, offset: 0x78EF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0xA60, symBinAddr: 0x3320, symSize: 0xA0 } - - { offsetInCU: 0xB12, offset: 0x78F47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xD60, symBinAddr: 0x3620, symSize: 0xA0 } - - { offsetInCU: 0xB63, offset: 0x78F98, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0x10C0, symBinAddr: 0x3980, symSize: 0xA0 } - - { offsetInCU: 0xBBF, offset: 0x78FF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1510, symBinAddr: 0x3DD0, symSize: 0xD0 } - - { offsetInCU: 0xC07, offset: 0x7903C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x15F0, symBinAddr: 0x3EB0, symSize: 0x40 } - - { offsetInCU: 0xC67, offset: 0x7909C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x1680, symBinAddr: 0x3F40, symSize: 0x30 } - - { offsetInCU: 0xCBA, offset: 0x790EF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x16F0, symBinAddr: 0x3FB0, symSize: 0x300 } - - { offsetInCU: 0xEEA, offset: 0x7931F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x19F0, symBinAddr: 0x42B0, symSize: 0x260 } - - { offsetInCU: 0x10E4, offset: 0x79519, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1C50, symBinAddr: 0x4510, symSize: 0xD0 } - - { offsetInCU: 0x11E1, offset: 0x79616, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1D20, symBinAddr: 0x45E0, symSize: 0x1B0 } - - { offsetInCU: 0x1356, offset: 0x7978B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1ED0, symBinAddr: 0x4790, symSize: 0x1D0 } - - { offsetInCU: 0x14EB, offset: 0x79920, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x20A0, symBinAddr: 0x4960, symSize: 0x200 } - - { offsetInCU: 0x16D7, offset: 0x79B0C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x22A0, symBinAddr: 0x4B60, symSize: 0x1D0 } - - { offsetInCU: 0x17A1, offset: 0x79BD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x2630, symBinAddr: 0x4EF0, symSize: 0x200 } - - { offsetInCU: 0x1882, offset: 0x79CB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x2830, symBinAddr: 0x50F0, symSize: 0x110 } - - { offsetInCU: 0x192D, offset: 0x79D62, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0xB00, symBinAddr: 0x33C0, symSize: 0x70 } - - { offsetInCU: 0x1945, offset: 0x79D7A, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xE00, symBinAddr: 0x36C0, symSize: 0x50 } - - { offsetInCU: 0x19B2, offset: 0x79DE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x16E0, symBinAddr: 0x3FA0, symSize: 0x10 } - - { offsetInCU: 0x1A3D, offset: 0x79E72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x2940, symBinAddr: 0x5200, symSize: 0x20 } - - { offsetInCU: 0x1A51, offset: 0x79E86, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x2980, symBinAddr: 0x5240, symSize: 0x10 } - - { offsetInCU: 0x1A70, offset: 0x79EA5, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x2990, symBinAddr: 0x5250, symSize: 0x20 } - - { offsetInCU: 0x1A99, offset: 0x79ECE, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x29B0, symBinAddr: 0x5270, symSize: 0x10 } - - { offsetInCU: 0x1AAD, offset: 0x79EE2, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x29C0, symBinAddr: 0x5280, symSize: 0x30 } - - { offsetInCU: 0x1AC1, offset: 0x79EF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x2A40, symBinAddr: 0x5300, symSize: 0x40 } - - { offsetInCU: 0x1AD5, offset: 0x79F0A, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2A80, symBinAddr: 0x5340, symSize: 0x20 } - - { offsetInCU: 0x1AE9, offset: 0x79F1E, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2AA0, symBinAddr: 0x5360, symSize: 0x10 } - - { offsetInCU: 0x1AFD, offset: 0x79F32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2AD0, symBinAddr: 0x5390, symSize: 0x40 } - - { offsetInCU: 0x1B31, offset: 0x79F66, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2B90, symBinAddr: 0x5450, symSize: 0x40 } - - { offsetInCU: 0x1B6F, offset: 0x79FA4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2BD0, symBinAddr: 0x5490, symSize: 0x20 } - - { offsetInCU: 0x1BA3, offset: 0x79FD8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2C80, symBinAddr: 0x5540, symSize: 0x40 } - - { offsetInCU: 0x1BD7, offset: 0x7A00C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2CF0, symBinAddr: 0x55B0, symSize: 0x30 } - - { offsetInCU: 0x1C13, offset: 0x7A048, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2D70, symBinAddr: 0x5630, symSize: 0x30 } - - { offsetInCU: 0x1C27, offset: 0x7A05C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2DA0, symBinAddr: 0x5660, symSize: 0x40 } - - { offsetInCU: 0x20F4, offset: 0x7A529, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x28C0, symSize: 0x10 } - - { offsetInCU: 0x210F, offset: 0x7A544, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x50, symBinAddr: 0x2910, symSize: 0x10 } - - { offsetInCU: 0x212A, offset: 0x7A55F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xC0, symBinAddr: 0x2980, symSize: 0x10 } - - { offsetInCU: 0x214B, offset: 0x7A580, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x110, symBinAddr: 0x29D0, symSize: 0x10 } - - { offsetInCU: 0x2166, offset: 0x7A59B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x170, symBinAddr: 0x2A30, symSize: 0x10 } - - { offsetInCU: 0x2181, offset: 0x7A5B6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1E0, symBinAddr: 0x2AA0, symSize: 0x10 } - - { offsetInCU: 0x219C, offset: 0x7A5D1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x280, symBinAddr: 0x2B40, symSize: 0x10 } - - { offsetInCU: 0x222A, offset: 0x7A65F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x2B0, symBinAddr: 0x2B70, symSize: 0x70 } - - { offsetInCU: 0x237C, offset: 0x7A7B1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x3A0, symBinAddr: 0x2C60, symSize: 0x70 } - - { offsetInCU: 0x24DA, offset: 0x7A90F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x490, symBinAddr: 0x2D50, symSize: 0x70 } - - { offsetInCU: 0x2638, offset: 0x7AA6D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x580, symBinAddr: 0x2E40, symSize: 0x80 } - - { offsetInCU: 0x27AC, offset: 0x7ABE1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x690, symBinAddr: 0x2F50, symSize: 0x10 } - - { offsetInCU: 0x281C, offset: 0x7AC51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x6B0, symBinAddr: 0x2F70, symSize: 0x10 } - - { offsetInCU: 0x285F, offset: 0x7AC94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x6D0, symBinAddr: 0x2F90, symSize: 0x10 } - - { offsetInCU: 0x28A4, offset: 0x7ACD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x6F0, symBinAddr: 0x2FB0, symSize: 0x10 } - - { offsetInCU: 0x28E7, offset: 0x7AD1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x710, symBinAddr: 0x2FD0, symSize: 0x10 } - - { offsetInCU: 0x292A, offset: 0x7AD5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x730, symBinAddr: 0x2FF0, symSize: 0x10 } - - { offsetInCU: 0x296D, offset: 0x7ADA2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x750, symBinAddr: 0x3010, symSize: 0x10 } - - { offsetInCU: 0x2A53, offset: 0x7AE88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x7A0, symBinAddr: 0x3060, symSize: 0x10 } - - { offsetInCU: 0x2AD2, offset: 0x7AF07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x7D0, symBinAddr: 0x3090, symSize: 0x10 } - - { offsetInCU: 0x2B15, offset: 0x7AF4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x7F0, symBinAddr: 0x30B0, symSize: 0x60 } - - { offsetInCU: 0x2BD6, offset: 0x7B00B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x8C0, symBinAddr: 0x3180, symSize: 0x10 } - - { offsetInCU: 0x2BEA, offset: 0x7B01F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x8D0, symBinAddr: 0x3190, symSize: 0x190 } - - { offsetInCU: 0x2C8A, offset: 0x7B0BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0xB70, symBinAddr: 0x3430, symSize: 0x30 } - - { offsetInCU: 0x2C9E, offset: 0x7B0D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0xBA0, symBinAddr: 0x3460, symSize: 0x1C0 } - - { offsetInCU: 0x2D83, offset: 0x7B1B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xE50, symBinAddr: 0x3710, symSize: 0x30 } - - { offsetInCU: 0x2D97, offset: 0x7B1CC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xE80, symBinAddr: 0x3740, symSize: 0x240 } - - { offsetInCU: 0x2E4B, offset: 0x7B280, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0x1160, symBinAddr: 0x3A20, symSize: 0x10 } - - { offsetInCU: 0x2E5F, offset: 0x7B294, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0x1170, symBinAddr: 0x3A30, symSize: 0x3A0 } - - { offsetInCU: 0x30F5, offset: 0x7B52A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x15E0, symBinAddr: 0x3EA0, symSize: 0x10 } - - { offsetInCU: 0x3110, offset: 0x7B545, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x1630, symBinAddr: 0x3EF0, symSize: 0x20 } - - { offsetInCU: 0x3124, offset: 0x7B559, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x1650, symBinAddr: 0x3F10, symSize: 0x30 } - - { offsetInCU: 0x315A, offset: 0x7B58F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x16B0, symBinAddr: 0x3F70, symSize: 0x30 } - - { offsetInCU: 0x4F, offset: 0x7B7C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x5A98, symBinAddr: 0x1243E70, symSize: 0x0 } - - { offsetInCU: 0x69, offset: 0x7B7E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x5AA0, symBinAddr: 0x1243E78, symSize: 0x0 } - - { offsetInCU: 0x83, offset: 0x7B7FB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x5AA8, symBinAddr: 0x1243E80, symSize: 0x0 } - - { offsetInCU: 0x9D, offset: 0x7B815, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x5AB0, symBinAddr: 0x1243E88, symSize: 0x0 } - - { offsetInCU: 0xAB, offset: 0x7B823, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0x5930, symSize: 0x60 } - - { offsetInCU: 0xF0, offset: 0x7B868, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x60, symBinAddr: 0x5990, symSize: 0x30 } - - { offsetInCU: 0x135, offset: 0x7B8AD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xD0, symBinAddr: 0x5A00, symSize: 0x40 } - - { offsetInCU: 0x187, offset: 0x7B8FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x1B0, symBinAddr: 0x5AE0, symSize: 0x20 } - - { offsetInCU: 0x1DD, offset: 0x7B955, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1D0, symBinAddr: 0x5B00, symSize: 0x20 } - - { offsetInCU: 0x236, offset: 0x7B9AE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1F0, symBinAddr: 0x5B20, symSize: 0x20 } - - { offsetInCU: 0x28C, offset: 0x7BA04, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x210, symBinAddr: 0x5B40, symSize: 0x20 } - - { offsetInCU: 0x2FB, offset: 0x7BA73, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyFTo', symObjAddr: 0x270, symBinAddr: 0x5BA0, symSize: 0x40 } - - { offsetInCU: 0x3C6, offset: 0x7BB3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyFTo', symObjAddr: 0x300, symBinAddr: 0x5C30, symSize: 0x70 } - - { offsetInCU: 0x473, offset: 0x7BBEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x370, symBinAddr: 0x5CA0, symSize: 0x40 } - - { offsetInCU: 0x4AE, offset: 0x7BC26, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x3E0, symBinAddr: 0x5D10, symSize: 0x30 } - - { offsetInCU: 0x53D, offset: 0x7BCB5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x620, symBinAddr: 0x5F50, symSize: 0x40 } - - { offsetInCU: 0x593, offset: 0x7BD0B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x690, symBinAddr: 0x5FC0, symSize: 0x40 } - - { offsetInCU: 0x5EC, offset: 0x7BD64, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x6D0, symBinAddr: 0x6000, symSize: 0x40 } - - { offsetInCU: 0x642, offset: 0x7BDBA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x740, symBinAddr: 0x6070, symSize: 0x40 } - - { offsetInCU: 0x69B, offset: 0x7BE13, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x780, symBinAddr: 0x60B0, symSize: 0x20 } - - { offsetInCU: 0x6F1, offset: 0x7BE69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x7A0, symBinAddr: 0x60D0, symSize: 0x20 } - - { offsetInCU: 0x734, offset: 0x7BEAC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x7C0, symBinAddr: 0x60F0, symSize: 0x20 } - - { offsetInCU: 0x78C, offset: 0x7BF04, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x7E0, symBinAddr: 0x6110, symSize: 0x30 } - - { offsetInCU: 0x7CF, offset: 0x7BF47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x810, symBinAddr: 0x6140, symSize: 0x20 } - - { offsetInCU: 0x827, offset: 0x7BF9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x830, symBinAddr: 0x6160, symSize: 0x30 } - - { offsetInCU: 0x880, offset: 0x7BFF8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x860, symBinAddr: 0x6190, symSize: 0x20 } - - { offsetInCU: 0x8D6, offset: 0x7C04E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x880, symBinAddr: 0x61B0, symSize: 0x10 } - - { offsetInCU: 0x92F, offset: 0x7C0A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x890, symBinAddr: 0x61C0, symSize: 0x20 } - - { offsetInCU: 0x985, offset: 0x7C0FD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x8B0, symBinAddr: 0x61E0, symSize: 0x10 } - - { offsetInCU: 0x9C8, offset: 0x7C140, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x8C0, symBinAddr: 0x61F0, symSize: 0x30 } - - { offsetInCU: 0x9FA, offset: 0x7C172, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x9B0, symBinAddr: 0x62E0, symSize: 0x30 } - - { offsetInCU: 0xA42, offset: 0x7C1BA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xAA0, symBinAddr: 0x63D0, symSize: 0x30 } - - { offsetInCU: 0xAAA, offset: 0x7C222, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xB00, symBinAddr: 0x6430, symSize: 0x30 } - - { offsetInCU: 0xB49, offset: 0x7C2C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xB70, symBinAddr: 0x64A0, symSize: 0xD0 } - - { offsetInCU: 0xBE2, offset: 0x7C35A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xDA0, symBinAddr: 0x66D0, symSize: 0x30 } - - { offsetInCU: 0xC7C, offset: 0x7C3F4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x1760, symBinAddr: 0x7090, symSize: 0xD0 } - - { offsetInCU: 0xCE6, offset: 0x7C45E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x1A70, symBinAddr: 0x73A0, symSize: 0x90 } - - { offsetInCU: 0xD23, offset: 0x7C49B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1BF0, symBinAddr: 0x7520, symSize: 0x100 } - - { offsetInCU: 0xDA1, offset: 0x7C519, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1DC0, symBinAddr: 0x76F0, symSize: 0x40 } - - { offsetInCU: 0xDD4, offset: 0x7C54C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1E00, symBinAddr: 0x7730, symSize: 0x20 } - - { offsetInCU: 0xE2E, offset: 0x7C5A6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1E20, symBinAddr: 0x7750, symSize: 0x30 } - - { offsetInCU: 0xE89, offset: 0x7C601, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1E90, symBinAddr: 0x77C0, symSize: 0x40 } - - { offsetInCU: 0xF1F, offset: 0x7C697, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1F10, symBinAddr: 0x7840, symSize: 0x60 } - - { offsetInCU: 0xFE4, offset: 0x7C75C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1FD0, symBinAddr: 0x7900, symSize: 0xA0 } - - { offsetInCU: 0x1071, offset: 0x7C7E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x20C0, symBinAddr: 0x79F0, symSize: 0x70 } - - { offsetInCU: 0x10D3, offset: 0x7C84B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x21D0, symBinAddr: 0x7B00, symSize: 0x70 } - - { offsetInCU: 0x1130, offset: 0x7C8A8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2240, symBinAddr: 0x7B70, symSize: 0xB0 } - - { offsetInCU: 0x1180, offset: 0x7C8F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x23B0, symBinAddr: 0x7CE0, symSize: 0x90 } - - { offsetInCU: 0x1210, offset: 0x7C988, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x3080, symBinAddr: 0x89B0, symSize: 0x30 } - - { offsetInCU: 0x1265, offset: 0x7C9DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x3B80, symBinAddr: 0x94B0, symSize: 0x30 } - - { offsetInCU: 0x1298, offset: 0x7CA10, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3BB0, symBinAddr: 0x94E0, symSize: 0x20 } - - { offsetInCU: 0x12F0, offset: 0x7CA68, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x3BD0, symBinAddr: 0x9500, symSize: 0x30 } - - { offsetInCU: 0x135E, offset: 0x7CAD6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x3C80, symBinAddr: 0x95B0, symSize: 0x30 } - - { offsetInCU: 0x13B8, offset: 0x7CB30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3CB0, symBinAddr: 0x95E0, symSize: 0x30 } - - { offsetInCU: 0x1418, offset: 0x7CB90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3D10, symBinAddr: 0x9640, symSize: 0x30 } - - { offsetInCU: 0x155C, offset: 0x7CCD4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x40F0, symBinAddr: 0x9A20, symSize: 0x30 } - - { offsetInCU: 0x158F, offset: 0x7CD07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x4410, symBinAddr: 0x9D40, symSize: 0x20 } - - { offsetInCU: 0x15CA, offset: 0x7CD42, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x4500, symBinAddr: 0x9E30, symSize: 0x30 } - - { offsetInCU: 0x15FD, offset: 0x7CD75, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x4F30, symBinAddr: 0xA860, symSize: 0x2A0 } - - { offsetInCU: 0x1765, offset: 0x7CEDD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x52A0, symBinAddr: 0xABD0, symSize: 0xC0 } - - { offsetInCU: 0x1981, offset: 0x7D0F9, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x2090, symBinAddr: 0x79C0, symSize: 0x30 } - - { offsetInCU: 0x1999, offset: 0x7D111, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2340, symBinAddr: 0x7C70, symSize: 0x70 } - - { offsetInCU: 0x19B1, offset: 0x7D129, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x24A0, symBinAddr: 0x7DD0, symSize: 0x90 } - - { offsetInCU: 0x19E9, offset: 0x7D161, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x2530, symBinAddr: 0x7E60, symSize: 0xC0 } - - { offsetInCU: 0x1A29, offset: 0x7D1A1, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x25F0, symBinAddr: 0x7F20, symSize: 0x70 } - - { offsetInCU: 0x1ACE, offset: 0x7D246, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x4430, symBinAddr: 0x9D60, symSize: 0xC0 } - - { offsetInCU: 0x1AFE, offset: 0x7D276, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x4530, symBinAddr: 0x9E60, symSize: 0x20 } - - { offsetInCU: 0x1B12, offset: 0x7D28A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x4550, symBinAddr: 0x9E80, symSize: 0x20 } - - { offsetInCU: 0x1B31, offset: 0x7D2A9, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x4570, symBinAddr: 0x9EA0, symSize: 0x60 } - - { offsetInCU: 0x1D38, offset: 0x7D4B0, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x51D0, symBinAddr: 0xAB00, symSize: 0x40 } - - { offsetInCU: 0x1D4C, offset: 0x7D4C4, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x5210, symBinAddr: 0xAB40, symSize: 0x30 } - - { offsetInCU: 0x1D60, offset: 0x7D4D8, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x5240, symBinAddr: 0xAB70, symSize: 0x30 } - - { offsetInCU: 0x1D74, offset: 0x7D4EC, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x5270, symBinAddr: 0xABA0, symSize: 0x30 } - - { offsetInCU: 0x1D93, offset: 0x7D50B, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x5800, symBinAddr: 0xB130, symSize: 0x40 } - - { offsetInCU: 0x1DBC, offset: 0x7D534, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x5840, symBinAddr: 0xB170, symSize: 0x20 } - - { offsetInCU: 0x1DD0, offset: 0x7D548, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x5860, symBinAddr: 0xB190, symSize: 0x10 } - - { offsetInCU: 0x1DE4, offset: 0x7D55C, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5870, symBinAddr: 0xB1A0, symSize: 0x20 } - - { offsetInCU: 0x1E03, offset: 0x7D57B, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5890, symBinAddr: 0xB1C0, symSize: 0x10 } - - { offsetInCU: 0x1E2C, offset: 0x7D5A4, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x58C0, symBinAddr: 0xB1F0, symSize: 0x20 } - - { offsetInCU: 0x1E4B, offset: 0x7D5C3, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x58E0, symBinAddr: 0xB210, symSize: 0x30 } - - { offsetInCU: 0x1E74, offset: 0x7D5EC, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x5910, symBinAddr: 0xB240, symSize: 0x20 } - - { offsetInCU: 0x1E88, offset: 0x7D600, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x5960, symBinAddr: 0xB290, symSize: 0x30 } - - { offsetInCU: 0x210D, offset: 0x7D885, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4E40, symBinAddr: 0xA770, symSize: 0xF0 } - - { offsetInCU: 0x259F, offset: 0x7DD17, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC10getViewPtrSvyF', symObjAddr: 0x230, symBinAddr: 0x5B60, symSize: 0x40 } - - { offsetInCU: 0x2646, offset: 0x7DDBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13getMtlViewPtrSvyF', symObjAddr: 0x2B0, symBinAddr: 0x5BE0, symSize: 0x50 } - - { offsetInCU: 0x26ED, offset: 0x7DE65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x3B0, symBinAddr: 0x5CE0, symSize: 0x30 } - - { offsetInCU: 0x271E, offset: 0x7DE96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x410, symBinAddr: 0x5D40, symSize: 0xE0 } - - { offsetInCU: 0x2768, offset: 0x7DEE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x4F0, symBinAddr: 0x5E20, symSize: 0x50 } - - { offsetInCU: 0x278B, offset: 0x7DF03, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x540, symBinAddr: 0x5E70, symSize: 0xE0 } - - { offsetInCU: 0x27CC, offset: 0x7DF44, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x660, symBinAddr: 0x5F90, symSize: 0x30 } - - { offsetInCU: 0x2822, offset: 0x7DF9A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x710, symBinAddr: 0x6040, symSize: 0x30 } - - { offsetInCU: 0x2966, offset: 0x7E0DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x8F0, symBinAddr: 0x6220, symSize: 0xC0 } - - { offsetInCU: 0x2A8B, offset: 0x7E203, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x9E0, symBinAddr: 0x6310, symSize: 0xC0 } - - { offsetInCU: 0x2BD1, offset: 0x7E349, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xAD0, symBinAddr: 0x6400, symSize: 0x30 } - - { offsetInCU: 0x2C17, offset: 0x7E38F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xB30, symBinAddr: 0x6460, symSize: 0x30 } - - { offsetInCU: 0x2C49, offset: 0x7E3C1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xB60, symBinAddr: 0x6490, symSize: 0x10 } - - { offsetInCU: 0x2DB2, offset: 0x7E52A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xC40, symBinAddr: 0x6570, symSize: 0x160 } - - { offsetInCU: 0x3174, offset: 0x7E8EC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xDD0, symBinAddr: 0x6700, symSize: 0x990 } - - { offsetInCU: 0x3902, offset: 0x7F07A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x1830, symBinAddr: 0x7160, symSize: 0x240 } - - { offsetInCU: 0x3D8E, offset: 0x7F506, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x1B00, symBinAddr: 0x7430, symSize: 0xF0 } - - { offsetInCU: 0x3E1D, offset: 0x7F595, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1CF0, symBinAddr: 0x7620, symSize: 0xD0 } - - { offsetInCU: 0x3F76, offset: 0x7F6EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1E50, symBinAddr: 0x7780, symSize: 0x40 } - - { offsetInCU: 0x3FFA, offset: 0x7F772, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1ED0, symBinAddr: 0x7800, symSize: 0x40 } - - { offsetInCU: 0x4119, offset: 0x7F891, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1F70, symBinAddr: 0x78A0, symSize: 0x60 } - - { offsetInCU: 0x420F, offset: 0x7F987, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x22F0, symBinAddr: 0x7C20, symSize: 0x50 } - - { offsetInCU: 0x4259, offset: 0x7F9D1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x2440, symBinAddr: 0x7D70, symSize: 0x60 } - - { offsetInCU: 0x4280, offset: 0x7F9F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x2660, symBinAddr: 0x7F90, symSize: 0x40 } - - { offsetInCU: 0x42A6, offset: 0x7FA1E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x26A0, symBinAddr: 0x7FD0, symSize: 0x10 } - - { offsetInCU: 0x4362, offset: 0x7FADA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x26B0, symBinAddr: 0x7FE0, symSize: 0x9D0 } - - { offsetInCU: 0x4553, offset: 0x7FCCB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x30B0, symBinAddr: 0x89E0, symSize: 0x80 } - - { offsetInCU: 0x457C, offset: 0x7FCF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x3130, symBinAddr: 0x8A60, symSize: 0xA50 } - - { offsetInCU: 0x478E, offset: 0x7FF06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3C00, symBinAddr: 0x9530, symSize: 0x80 } - - { offsetInCU: 0x4884, offset: 0x7FFFC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3CE0, symBinAddr: 0x9610, symSize: 0x30 } - - { offsetInCU: 0x4920, offset: 0x80098, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3D40, symBinAddr: 0x9670, symSize: 0x110 } - - { offsetInCU: 0x4B71, offset: 0x802E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3E50, symBinAddr: 0x9780, symSize: 0x2A0 } - - { offsetInCU: 0x4DCD, offset: 0x80545, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x4120, symBinAddr: 0x9A50, symSize: 0x2F0 } - - { offsetInCU: 0x4E5B, offset: 0x805D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x44F0, symBinAddr: 0x9E20, symSize: 0x10 } - - { offsetInCU: 0x4E89, offset: 0x80601, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x45D0, symBinAddr: 0x9F00, symSize: 0x60 } - - { offsetInCU: 0x4EE3, offset: 0x8065B, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x4630, symBinAddr: 0x9F60, symSize: 0x60 } - - { offsetInCU: 0x4F4F, offset: 0x806C7, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4690, symBinAddr: 0x9FC0, symSize: 0xB0 } - - { offsetInCU: 0x4F8C, offset: 0x80704, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x4740, symBinAddr: 0xA070, symSize: 0xE0 } - - { offsetInCU: 0x4FF7, offset: 0x8076F, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x4820, symBinAddr: 0xA150, symSize: 0x260 } - - { offsetInCU: 0x509F, offset: 0x80817, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x4A80, symBinAddr: 0xA3B0, symSize: 0x3C0 } - - { offsetInCU: 0x27, offset: 0x80A50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xB370, symSize: 0x20 } - - { offsetInCU: 0x62, offset: 0x80A8B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x20, symBinAddr: 0xB390, symSize: 0x14 } - - { offsetInCU: 0x1AF, offset: 0x80BD8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xB370, symSize: 0x20 } - - { offsetInCU: 0x65, offset: 0x80C65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xB3B0, symSize: 0x10 } - - { offsetInCU: 0xBB, offset: 0x80CBB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xB3C0, symSize: 0x10 } - - { offsetInCU: 0x114, offset: 0x80D14, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0xB3D0, symSize: 0x40 } - - { offsetInCU: 0x16A, offset: 0x80D6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x60, symBinAddr: 0xB410, symSize: 0x40 } - - { offsetInCU: 0x1C3, offset: 0x80DC3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xA0, symBinAddr: 0xB450, symSize: 0x40 } - - { offsetInCU: 0x219, offset: 0x80E19, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xE0, symBinAddr: 0xB490, symSize: 0x40 } - - { offsetInCU: 0x272, offset: 0x80E72, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x120, symBinAddr: 0xB4D0, symSize: 0x20 } - - { offsetInCU: 0x2C8, offset: 0x80EC8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x140, symBinAddr: 0xB4F0, symSize: 0x20 } - - { offsetInCU: 0x321, offset: 0x80F21, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x160, symBinAddr: 0xB510, symSize: 0x20 } - - { offsetInCU: 0x377, offset: 0x80F77, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x180, symBinAddr: 0xB530, symSize: 0x20 } - - { offsetInCU: 0x3D0, offset: 0x80FD0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x1A0, symBinAddr: 0xB550, symSize: 0x40 } - - { offsetInCU: 0x426, offset: 0x81026, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1E0, symBinAddr: 0xB590, symSize: 0x40 } - - { offsetInCU: 0x47F, offset: 0x8107F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x220, symBinAddr: 0xB5D0, symSize: 0x10 } - - { offsetInCU: 0x4D5, offset: 0x810D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x230, symBinAddr: 0xB5E0, symSize: 0x10 } - - { offsetInCU: 0x52E, offset: 0x8112E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x240, symBinAddr: 0xB5F0, symSize: 0x10 } - - { offsetInCU: 0x584, offset: 0x81184, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x250, symBinAddr: 0xB600, symSize: 0x10 } - - { offsetInCU: 0x5DD, offset: 0x811DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x260, symBinAddr: 0xB610, symSize: 0x40 } - - { offsetInCU: 0x633, offset: 0x81233, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x2A0, symBinAddr: 0xB650, symSize: 0x40 } - - { offsetInCU: 0x676, offset: 0x81276, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2E0, symBinAddr: 0xB690, symSize: 0x10 } - - { offsetInCU: 0x692, offset: 0x81292, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2F0, symBinAddr: 0xB6A0, symSize: 0x30 } - - { offsetInCU: 0x6C4, offset: 0x812C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x320, symBinAddr: 0xB6D0, symSize: 0x20 } - - { offsetInCU: 0x71C, offset: 0x8131C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x340, symBinAddr: 0xB6F0, symSize: 0x30 } - - { offsetInCU: 0x775, offset: 0x81375, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x490, symBinAddr: 0xB840, symSize: 0x20 } - - { offsetInCU: 0x7CB, offset: 0x813CB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x4B0, symBinAddr: 0xB860, symSize: 0x20 } - - { offsetInCU: 0x83A, offset: 0x8143A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x680, symBinAddr: 0xB9F0, symSize: 0x20 } - - { offsetInCU: 0x86C, offset: 0x8146C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x7E0, symBinAddr: 0xBB50, symSize: 0x30 } - - { offsetInCU: 0x8C4, offset: 0x814C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x830, symBinAddr: 0xBBA0, symSize: 0x80 } - - { offsetInCU: 0x928, offset: 0x81528, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x8B0, symBinAddr: 0xBC20, symSize: 0x80 } - - { offsetInCU: 0x9CA, offset: 0x815CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xCE0, symBinAddr: 0xC050, symSize: 0x30 } - - { offsetInCU: 0xAB4, offset: 0x816B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x660, symBinAddr: 0xB9D0, symSize: 0x20 } - - { offsetInCU: 0xB33, offset: 0x81733, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xD40, symBinAddr: 0xC0B0, symSize: 0x60 } - - { offsetInCU: 0x1271, offset: 0x81E71, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x4D0, symBinAddr: 0xB880, symSize: 0x20 } - - { offsetInCU: 0x128B, offset: 0x81E8B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x4F0, symBinAddr: 0xB8A0, symSize: 0x130 } - - { offsetInCU: 0x12BB, offset: 0x81EBB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x6A0, symBinAddr: 0xBA10, symSize: 0x140 } - - { offsetInCU: 0x1474, offset: 0x82074, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x810, symBinAddr: 0xBB80, symSize: 0x20 } - - { offsetInCU: 0x1525, offset: 0x82125, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x930, symBinAddr: 0xBCA0, symSize: 0x3B0 } - - { offsetInCU: 0x18BB, offset: 0x824BB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xD10, symBinAddr: 0xC080, symSize: 0x30 } - - { offsetInCU: 0x19B4, offset: 0x825B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xDA0, symBinAddr: 0xC110, symSize: 0x720 } - - { offsetInCU: 0x231C, offset: 0x82F1C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x1520, symBinAddr: 0xC890, symSize: 0x7EC } - - { offsetInCU: 0x10C, offset: 0x83AC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0x1120, symBinAddr: 0xE160, symSize: 0x60 } - - { offsetInCU: 0x19C, offset: 0x83B55, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0x11A0, symBinAddr: 0xE1E0, symSize: 0x20 } - - { offsetInCU: 0x1CB, offset: 0x83B84, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0x11C0, symBinAddr: 0xE200, symSize: 0x10 } - - { offsetInCU: 0x368, offset: 0x83D21, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x1A40, symBinAddr: 0xEA80, symSize: 0x30 } - - { offsetInCU: 0x5E4, offset: 0x83F9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1AC0, symBinAddr: 0xEB00, symSize: 0x60 } - - { offsetInCU: 0x613, offset: 0x83FCC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x1B20, symBinAddr: 0xEB60, symSize: 0x20 } - - { offsetInCU: 0x627, offset: 0x83FE0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x1B40, symBinAddr: 0xEB80, symSize: 0x20 } - - { offsetInCU: 0x63B, offset: 0x83FF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x1B60, symBinAddr: 0xEBA0, symSize: 0x30 } - - { offsetInCU: 0x64F, offset: 0x84008, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x1B90, symBinAddr: 0xEBD0, symSize: 0x10 } - - { offsetInCU: 0x663, offset: 0x8401C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1BA0, symBinAddr: 0xEBE0, symSize: 0x30 } - - { offsetInCU: 0x677, offset: 0x84030, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1BD0, symBinAddr: 0xEC10, symSize: 0x50 } - - { offsetInCU: 0x68B, offset: 0x84044, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x1C40, symBinAddr: 0xEC60, symSize: 0x40 } - - { offsetInCU: 0x69F, offset: 0x84058, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x1C80, symBinAddr: 0xECA0, symSize: 0x40 } - - { offsetInCU: 0x6B3, offset: 0x8406C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1CC0, symBinAddr: 0xECE0, symSize: 0x50 } - - { offsetInCU: 0x6C7, offset: 0x84080, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1D10, symBinAddr: 0xED30, symSize: 0x10 } - - { offsetInCU: 0x6DB, offset: 0x84094, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1D20, symBinAddr: 0xED40, symSize: 0x40 } - - { offsetInCU: 0x6EF, offset: 0x840A8, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1E30, symBinAddr: 0xED80, symSize: 0x50 } - - { offsetInCU: 0x703, offset: 0x840BC, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1E80, symBinAddr: 0xEDD0, symSize: 0x20 } - - { offsetInCU: 0x761, offset: 0x8411A, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x21A0, symBinAddr: 0xF0F0, symSize: 0x14 } - - { offsetInCU: 0xCB4, offset: 0x8466D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0xD080, symSize: 0x630 } - - { offsetInCU: 0xF39, offset: 0x848F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x650, symBinAddr: 0xD6D0, symSize: 0xE0 } - - { offsetInCU: 0xFB8, offset: 0x84971, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x800, symBinAddr: 0xD860, symSize: 0xB0 } - - { offsetInCU: 0x102A, offset: 0x849E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0x1030, symBinAddr: 0xE070, symSize: 0xF0 } - - { offsetInCU: 0x1179, offset: 0x84B32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x1590, symBinAddr: 0xE5D0, symSize: 0x4B0 } - - { offsetInCU: 0x18C2, offset: 0x8527B, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1EA0, symBinAddr: 0xEDF0, symSize: 0x20 } - - { offsetInCU: 0x195A, offset: 0x85313, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1EC0, symBinAddr: 0xEE10, symSize: 0x1F0 } - - { offsetInCU: 0x27, offset: 0x854DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xF110, symSize: 0x30 } - - { offsetInCU: 0x4B, offset: 0x85500, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2A0, symBinAddr: 0x1244198, symSize: 0x0 } - - { offsetInCU: 0x65, offset: 0x8551A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xF110, symSize: 0x30 } - - { offsetInCU: 0x98, offset: 0x8554D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x160, symBinAddr: 0xF270, symSize: 0x30 } - - { offsetInCU: 0x104, offset: 0x855B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x200, symBinAddr: 0xF310, symSize: 0x30 } - - { offsetInCU: 0x158, offset: 0x8560D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x30, symBinAddr: 0xF140, symSize: 0xF0 } - - { offsetInCU: 0x183, offset: 0x85638, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x1E0, symBinAddr: 0xF2F0, symSize: 0x20 } - - { offsetInCU: 0x197, offset: 0x8564C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x260, symBinAddr: 0xF370, symSize: 0x10 } - - { offsetInCU: 0x1C2, offset: 0x85677, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x270, symBinAddr: 0xF380, symSize: 0x2F } - - { offsetInCU: 0x34A, offset: 0x857FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x120, symBinAddr: 0xF230, symSize: 0x40 } - - { offsetInCU: 0x38A, offset: 0x8583F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x190, symBinAddr: 0xF2A0, symSize: 0x20 } - - { offsetInCU: 0x39E, offset: 0x85853, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1B0, symBinAddr: 0xF2C0, symSize: 0x30 } - - { offsetInCU: 0x3DA, offset: 0x8588F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x230, symBinAddr: 0xF340, symSize: 0x30 } - - { offsetInCU: 0x2B, offset: 0x858DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xF3B0, symSize: 0xA0 } - - { offsetInCU: 0x66, offset: 0x85918, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA0, symBinAddr: 0xF450, symSize: 0xA0 } - - { offsetInCU: 0xF9, offset: 0x859AB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D0, symBinAddr: 0xF580, symSize: 0x100 } - - { offsetInCU: 0x1AD, offset: 0x85A5F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x300, symBinAddr: 0xF6B0, symSize: 0x30 } - - { offsetInCU: 0x22D, offset: 0x85ADF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x340, symBinAddr: 0xF6F0, symSize: 0x90 } - - { offsetInCU: 0x2A6, offset: 0x85B58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4E0, symBinAddr: 0xF890, symSize: 0x140 } - - { offsetInCU: 0x345, offset: 0x85BF7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x670, symBinAddr: 0xFA20, symSize: 0x30 } - - { offsetInCU: 0x398, offset: 0x85C4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6D0, symBinAddr: 0xFA80, symSize: 0x170 } - - { offsetInCU: 0x50B, offset: 0x85DBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x840, symBinAddr: 0xFBF0, symSize: 0x310 } - - { offsetInCU: 0x5EA, offset: 0x85E9C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB50, symBinAddr: 0xFF00, symSize: 0x20 } - - { offsetInCU: 0x5FE, offset: 0x85EB0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB70, symBinAddr: 0xFF20, symSize: 0x30 } - - { offsetInCU: 0x612, offset: 0x85EC4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xBA0, symBinAddr: 0xFF50, symSize: 0x30 } - - { offsetInCU: 0x626, offset: 0x85ED8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBD0, symBinAddr: 0xFF80, symSize: 0x10 } - - { offsetInCU: 0x63A, offset: 0x85EEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBE0, symBinAddr: 0xFF90, symSize: 0x40 } - - { offsetInCU: 0x64E, offset: 0x85F00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC30, symBinAddr: 0xFFD0, symSize: 0x30 } - - { offsetInCU: 0x662, offset: 0x85F14, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC60, symBinAddr: 0x10000, symSize: 0x40 } - - { offsetInCU: 0x676, offset: 0x85F28, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xCA0, symBinAddr: 0x10040, symSize: 0x40 } - - { offsetInCU: 0x68A, offset: 0x85F3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCE0, symBinAddr: 0x10080, symSize: 0x10 } - - { offsetInCU: 0x69E, offset: 0x85F50, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCF0, symBinAddr: 0x10090, symSize: 0x10 } - - { offsetInCU: 0x6B2, offset: 0x85F64, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xD00, symBinAddr: 0x100A0, symSize: 0x10 } - - { offsetInCU: 0x6C6, offset: 0x85F78, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xD10, symBinAddr: 0x100B0, symSize: 0x10 } - - { offsetInCU: 0x74E, offset: 0x86000, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D0, symBinAddr: 0xF780, symSize: 0x10 } - - { offsetInCU: 0x76A, offset: 0x8601C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3E0, symBinAddr: 0xF790, symSize: 0x10 } - - { offsetInCU: 0x786, offset: 0x86038, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3F0, symBinAddr: 0xF7A0, symSize: 0x10 } - - { offsetInCU: 0x7A2, offset: 0x86054, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x400, symBinAddr: 0xF7B0, symSize: 0x10 } - - { offsetInCU: 0xA56, offset: 0x86308, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xF3B0, symSize: 0xA0 } - - { offsetInCU: 0xAEC, offset: 0x8639E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x140, symBinAddr: 0xF4F0, symSize: 0x90 } - - { offsetInCU: 0xC71, offset: 0x86523, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2D0, symBinAddr: 0xF680, symSize: 0x30 } - - { offsetInCU: 0xCBB, offset: 0x8656D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x330, symBinAddr: 0xF6E0, symSize: 0x10 } - - { offsetInCU: 0xCDD, offset: 0x8658F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x410, symBinAddr: 0xF7C0, symSize: 0xD0 } - - { offsetInCU: 0xD8D, offset: 0x8663F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x620, symBinAddr: 0xF9D0, symSize: 0x20 } - - { offsetInCU: 0xDA1, offset: 0x86653, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x640, symBinAddr: 0xF9F0, symSize: 0x30 } - - { offsetInCU: 0xDD7, offset: 0x86689, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6A0, symBinAddr: 0xFA50, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x867A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x100D0, symSize: 0x10 } - - { offsetInCU: 0x71, offset: 0x867F3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x10, symBinAddr: 0x100E0, symSize: 0x60 } - - { offsetInCU: 0xF6, offset: 0x86878, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x80, symBinAddr: 0x10150, symSize: 0x50 } - - { offsetInCU: 0x193, offset: 0x86915, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xE0, symBinAddr: 0x101B0, symSize: 0x60 } - - { offsetInCU: 0x25C, offset: 0x869DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x150, symBinAddr: 0x10220, symSize: 0x90 } - - { offsetInCU: 0x339, offset: 0x86ABB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x230, symBinAddr: 0x10300, symSize: 0x30 } - - { offsetInCU: 0x38D, offset: 0x86B0F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x290, symBinAddr: 0x10360, symSize: 0x14 } - - { offsetInCU: 0x4FD, offset: 0x86C7F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0x100D0, symSize: 0x10 } - - { offsetInCU: 0x5A0, offset: 0x86D22, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x70, symBinAddr: 0x10140, symSize: 0x10 } - - { offsetInCU: 0x640, offset: 0x86DC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xD0, symBinAddr: 0x101A0, symSize: 0x10 } - - { offsetInCU: 0x703, offset: 0x86E85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x140, symBinAddr: 0x10210, symSize: 0x10 } - - { offsetInCU: 0x80F, offset: 0x86F91, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1E0, symBinAddr: 0x102B0, symSize: 0x20 } - - { offsetInCU: 0x823, offset: 0x86FA5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x200, symBinAddr: 0x102D0, symSize: 0x30 } - - { offsetInCU: 0x859, offset: 0x86FDB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x260, symBinAddr: 0x10330, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x87025, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x10380, symSize: 0x30 } - - { offsetInCU: 0xA9, offset: 0x870A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x30, symBinAddr: 0x103B0, symSize: 0x50 } - - { offsetInCU: 0x1A6, offset: 0x871A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0xC0, symBinAddr: 0x10440, symSize: 0x50 } - - { offsetInCU: 0x289, offset: 0x87287, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x180, symBinAddr: 0x10500, symSize: 0x30 } - - { offsetInCU: 0x2DD, offset: 0x872DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0x160, symBinAddr: 0x104E0, symSize: 0x20 } - - { offsetInCU: 0x487, offset: 0x87485, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0x10380, symSize: 0x30 } - - { offsetInCU: 0x5DD, offset: 0x875DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x80, symBinAddr: 0x10400, symSize: 0x40 } - - { offsetInCU: 0x725, offset: 0x87723, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0x110, symBinAddr: 0x10490, symSize: 0x20 } - - { offsetInCU: 0x739, offset: 0x87737, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0x130, symBinAddr: 0x104B0, symSize: 0x30 } - - { offsetInCU: 0x76F, offset: 0x8776D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x1B0, symBinAddr: 0x10530, symSize: 0x2B } - - { offsetInCU: 0x61, offset: 0x877F1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x10, symBinAddr: 0x10570, symSize: 0x20 } - - { offsetInCU: 0xB7, offset: 0x87847, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x30, symBinAddr: 0x10590, symSize: 0x10 } - - { offsetInCU: 0x110, offset: 0x878A0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x40, symBinAddr: 0x105A0, symSize: 0x40 } - - { offsetInCU: 0x168, offset: 0x878F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xC0, symBinAddr: 0x10620, symSize: 0x40 } - - { offsetInCU: 0x1C3, offset: 0x87953, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x100, symBinAddr: 0x10660, symSize: 0x10 } - - { offsetInCU: 0x219, offset: 0x879A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x110, symBinAddr: 0x10670, symSize: 0x10 } - - { offsetInCU: 0x272, offset: 0x87A02, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1C0, symBinAddr: 0x10720, symSize: 0x80 } - - { offsetInCU: 0x2CA, offset: 0x87A5A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x300, symBinAddr: 0x10860, symSize: 0xA0 } - - { offsetInCU: 0x32C, offset: 0x87ABC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x470, symBinAddr: 0x109D0, symSize: 0x30 } - - { offsetInCU: 0x35E, offset: 0x87AEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x520, symBinAddr: 0x10A00, symSize: 0xA0 } - - { offsetInCU: 0x3DF, offset: 0x87B6F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x600, symBinAddr: 0x10AA0, symSize: 0x60 } - - { offsetInCU: 0x44F, offset: 0x87BDF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x670, symBinAddr: 0x10B10, symSize: 0x50 } - - { offsetInCU: 0x4C1, offset: 0x87C51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x780, symBinAddr: 0x10C20, symSize: 0x30 } - - { offsetInCU: 0x535, offset: 0x87CC5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x1A0, symBinAddr: 0x10700, symSize: 0x20 } - - { offsetInCU: 0x55F, offset: 0x87CEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x7D0, symBinAddr: 0x10C70, symSize: 0x20 } - - { offsetInCU: 0x65D, offset: 0x87DED, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xAF0, symBinAddr: 0x10F90, symSize: 0x80 } - - { offsetInCU: 0x69B, offset: 0x87E2B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xB70, symBinAddr: 0x11010, symSize: 0x20 } - - { offsetInCU: 0x6F1, offset: 0x87E81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xB90, symBinAddr: 0x11030, symSize: 0x10 } - - { offsetInCU: 0x74A, offset: 0x87EDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xBA0, symBinAddr: 0x11040, symSize: 0x20 } - - { offsetInCU: 0x7A2, offset: 0x87F32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xBC0, symBinAddr: 0x11060, symSize: 0x20 } - - { offsetInCU: 0x7FD, offset: 0x87F8D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xBE0, symBinAddr: 0x11080, symSize: 0x40 } - - { offsetInCU: 0x853, offset: 0x87FE3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xC50, symBinAddr: 0x110F0, symSize: 0x40 } - - { offsetInCU: 0x8E6, offset: 0x88076, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xDC0, symBinAddr: 0x11260, symSize: 0x80 } - - { offsetInCU: 0x93E, offset: 0x880CE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x11430, symSize: 0xA0 } - - { offsetInCU: 0x9A0, offset: 0x88130, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x10E0, symBinAddr: 0x11580, symSize: 0x30 } - - { offsetInCU: 0x9D2, offset: 0x88162, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0x1110, symBinAddr: 0x115B0, symSize: 0xB0 } - - { offsetInCU: 0xA53, offset: 0x881E3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x11D0, symBinAddr: 0x11660, symSize: 0x30 } - - { offsetInCU: 0xAB1, offset: 0x88241, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x1250, symBinAddr: 0x116E0, symSize: 0x20 } - - { offsetInCU: 0xC63, offset: 0x883F3, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfC12CanvasNative15NSCTouchHandlerC7PointerV_Tgm5', symObjAddr: 0x1470, symBinAddr: 0x11850, symSize: 0x80 } - - { offsetInCU: 0xCE6, offset: 0x88476, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgm5', symObjAddr: 0x1570, symBinAddr: 0x118D0, symSize: 0x70 } - - { offsetInCU: 0xD6A, offset: 0x884FA, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x1750, symBinAddr: 0x11AB0, symSize: 0x40 } - - { offsetInCU: 0xD7E, offset: 0x8850E, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x1790, symBinAddr: 0x11AF0, symSize: 0x40 } - - { offsetInCU: 0xD92, offset: 0x88522, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x17D0, symBinAddr: 0x11B30, symSize: 0x20 } - - { offsetInCU: 0xE6C, offset: 0x885FC, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x1650, symBinAddr: 0x119B0, symSize: 0x100 } - - { offsetInCU: 0x112B, offset: 0x888BB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x80, symBinAddr: 0x105E0, symSize: 0x40 } - - { offsetInCU: 0x11A8, offset: 0x88938, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x120, symBinAddr: 0x10680, symSize: 0x80 } - - { offsetInCU: 0x11EF, offset: 0x8897F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x240, symBinAddr: 0x107A0, symSize: 0xC0 } - - { offsetInCU: 0x1251, offset: 0x889E1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x3A0, symBinAddr: 0x10900, symSize: 0xD0 } - - { offsetInCU: 0x12DA, offset: 0x88A6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x660, symBinAddr: 0x10B00, symSize: 0x10 } - - { offsetInCU: 0x12FB, offset: 0x88A8B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x6C0, symBinAddr: 0x10B60, symSize: 0x90 } - - { offsetInCU: 0x130F, offset: 0x88A9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x750, symBinAddr: 0x10BF0, symSize: 0x30 } - - { offsetInCU: 0x1428, offset: 0x88BB8, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x7F0, symBinAddr: 0x10C90, symSize: 0x300 } - - { offsetInCU: 0x17D2, offset: 0x88F62, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xC20, symBinAddr: 0x110C0, symSize: 0x30 } - - { offsetInCU: 0x180F, offset: 0x88F9F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xC90, symBinAddr: 0x11130, symSize: 0x40 } - - { offsetInCU: 0x1836, offset: 0x88FC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xCD0, symBinAddr: 0x11170, symSize: 0x40 } - - { offsetInCU: 0x185B, offset: 0x88FEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xD10, symBinAddr: 0x111B0, symSize: 0x10 } - - { offsetInCU: 0x1882, offset: 0x89012, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xD20, symBinAddr: 0x111C0, symSize: 0x20 } - - { offsetInCU: 0x1896, offset: 0x89026, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xD40, symBinAddr: 0x111E0, symSize: 0x80 } - - { offsetInCU: 0x18DD, offset: 0x8906D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xED0, symBinAddr: 0x11370, symSize: 0xC0 } - - { offsetInCU: 0x193A, offset: 0x890CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1030, symBinAddr: 0x114D0, symSize: 0xB0 } - - { offsetInCU: 0x19D6, offset: 0x89166, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1270, symBinAddr: 0x11700, symSize: 0xB0 } - - { offsetInCU: 0x1AB8, offset: 0x89248, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x13D0, symBinAddr: 0x117B0, symSize: 0xA0 } - - { offsetInCU: 0x1BC4, offset: 0x89354, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x15E0, symBinAddr: 0x11940, symSize: 0x70 } - - { offsetInCU: 0x1CBF, offset: 0x8944F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x17F0, symBinAddr: 0x11B50, symSize: 0x410 } - - { offsetInCU: 0x4F, offset: 0x89867, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x980, symBinAddr: 0x12442E0, symSize: 0x0 } - - { offsetInCU: 0x5D, offset: 0x89875, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x12150, symSize: 0x30 } - - { offsetInCU: 0x75, offset: 0x8988D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x30, symBinAddr: 0x12180, symSize: 0xF0 } - - { offsetInCU: 0xBC, offset: 0x898D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x130, symBinAddr: 0x12280, symSize: 0x40 } - - { offsetInCU: 0x130, offset: 0x89948, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3C0, symBinAddr: 0x12510, symSize: 0x80 } - - { offsetInCU: 0x18F, offset: 0x899A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x490, symBinAddr: 0x125E0, symSize: 0x30 } - - { offsetInCU: 0x1E2, offset: 0x899FA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x500, symBinAddr: 0x12650, symSize: 0x200 } - - { offsetInCU: 0x261, offset: 0x89A79, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x4F0, symBinAddr: 0x12640, symSize: 0x10 } - - { offsetInCU: 0x29D, offset: 0x89AB5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x700, symBinAddr: 0x12850, symSize: 0x20 } - - { offsetInCU: 0x2BC, offset: 0x89AD4, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x740, symBinAddr: 0x12890, symSize: 0x20 } - - { offsetInCU: 0x2E5, offset: 0x89AFD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x790, symBinAddr: 0x128E0, symSize: 0x20 } - - { offsetInCU: 0x2F9, offset: 0x89B11, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x7B0, symBinAddr: 0x12900, symSize: 0x20 } - - { offsetInCU: 0x30D, offset: 0x89B25, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x7D0, symBinAddr: 0x12920, symSize: 0x10 } - - { offsetInCU: 0x321, offset: 0x89B39, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGMa', symObjAddr: 0x850, symBinAddr: 0x12960, symSize: 0x50 } - - { offsetInCU: 0x335, offset: 0x89B4D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8D0, symBinAddr: 0x129B0, symSize: 0x20 } - - { offsetInCU: 0x369, offset: 0x89B81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x910, symBinAddr: 0x129F0, symSize: 0x20 } - - { offsetInCU: 0x4FE, offset: 0x89D16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x120, symBinAddr: 0x12270, symSize: 0x10 } - - { offsetInCU: 0x58B, offset: 0x89DA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x170, symBinAddr: 0x122C0, symSize: 0x10 } - - { offsetInCU: 0x59F, offset: 0x89DB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x180, symBinAddr: 0x122D0, symSize: 0x240 } - - { offsetInCU: 0x678, offset: 0x89E90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x440, symBinAddr: 0x12590, symSize: 0x20 } - - { offsetInCU: 0x68C, offset: 0x89EA4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x460, symBinAddr: 0x125B0, symSize: 0x30 } - - { offsetInCU: 0x6C2, offset: 0x89EDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4C0, symBinAddr: 0x12610, symSize: 0x30 } - - { offsetInCU: 0x27, offset: 0x89F80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x12A60, symSize: 0x20 } - - { offsetInCU: 0x77, offset: 0x89FD0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x12AD0, symSize: 0x30 } - - { offsetInCU: 0xCB, offset: 0x8A024, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x12AB0, symSize: 0x20 } - - { offsetInCU: 0x216, offset: 0x8A16F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x12A60, symSize: 0x20 } - - { offsetInCU: 0x22A, offset: 0x8A183, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x12A80, symSize: 0x30 } - - { offsetInCU: 0x266, offset: 0x8A1BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xA0, symBinAddr: 0x12B00, symSize: 0x2B } - - { offsetInCU: 0x26, offset: 0x8A208, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2CB460, symSize: 0x3990 } - - { offsetInCU: 0x40, offset: 0x8A222, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0xEEC0, symBinAddr: 0xA48A30, symSize: 0x0 } - - { offsetInCU: 0x92, offset: 0x8A274, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0x14EC0, symBinAddr: 0xA4EA30, symSize: 0x0 } - - { offsetInCU: 0xF6, offset: 0x8A2D8, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0x14EE8, symBinAddr: 0xA4EA58, symSize: 0x0 } - - { offsetInCU: 0x10C, offset: 0x8A2EE, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x152F0, symBinAddr: 0xA4EE60, symSize: 0x0 } - - { offsetInCU: 0x123, offset: 0x8A305, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0x14F30, symBinAddr: 0xA4EAA0, symSize: 0x0 } - - { offsetInCU: 0xE22, offset: 0x8B004, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x2CB460, symSize: 0x3990 } - - { offsetInCU: 0x4DAE, offset: 0x8EF90, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0xE6E0, symBinAddr: 0x2D9B40, symSize: 0x3E0 } - - { offsetInCU: 0x4FF1, offset: 0x8F1D3, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x7C20, symBinAddr: 0x2D3080, symSize: 0x270 } - - { offsetInCU: 0x582C, offset: 0x8FA0E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x3990, symBinAddr: 0x2CEDF0, symSize: 0xA10 } - - { offsetInCU: 0x684B, offset: 0x90A2D, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x43A0, symBinAddr: 0x2CF800, symSize: 0xA10 } - - { offsetInCU: 0x6EE9, offset: 0x910CB, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x4DB0, symBinAddr: 0x2D0210, symSize: 0x2B0 } - - { offsetInCU: 0x74BC, offset: 0x9169E, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x5060, symBinAddr: 0x2D04C0, symSize: 0xCD0 } - - { offsetInCU: 0x83FE, offset: 0x925E0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x5D30, symBinAddr: 0x2D1190, symSize: 0xB40 } - - { offsetInCU: 0x8F67, offset: 0x93149, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x6870, symBinAddr: 0x2D1CD0, symSize: 0x13B0 } - - { offsetInCU: 0xA567, offset: 0x94749, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x7FF0, symBinAddr: 0x2D3450, symSize: 0x2A30 } - - { offsetInCU: 0xDC6D, offset: 0x97E4F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x7E90, symBinAddr: 0x2D32F0, symSize: 0x160 } - - { offsetInCU: 0xDEE7, offset: 0x980C9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0xAA20, symBinAddr: 0x2D5E80, symSize: 0x30 } - - { offsetInCU: 0xDFDC, offset: 0x981BE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0xAA50, symBinAddr: 0x2D5EB0, symSize: 0x50 } - - { offsetInCU: 0xE051, offset: 0x98233, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0xAAA0, symBinAddr: 0x2D5F00, symSize: 0x10 } - - { offsetInCU: 0xE0EC, offset: 0x982CE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0xAAB0, symBinAddr: 0x2D5F10, symSize: 0xB0 } - - { offsetInCU: 0xE217, offset: 0x983F9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0xAB60, symBinAddr: 0x2D5FC0, symSize: 0x10 } - - { offsetInCU: 0xE4E9, offset: 0x986CB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0xAB70, symBinAddr: 0x2D5FD0, symSize: 0x21A0 } - - { offsetInCU: 0x1118F, offset: 0x9B371, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0xEAC0, symBinAddr: 0x2D9F20, symSize: 0x2D1 } - - { offsetInCU: 0x117CF, offset: 0x9B9B1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0xCD10, symBinAddr: 0x2D8170, symSize: 0x20 } - - { offsetInCU: 0x11C6C, offset: 0x9BE4E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0xCD30, symBinAddr: 0x2D8190, symSize: 0x19B0 } - - { offsetInCU: 0x26, offset: 0x9CEFE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2DA200, symSize: 0x800 } - - { offsetInCU: 0x41, offset: 0x9CF19, size: 0x8, addend: 0x0, symName: _aes_nohw_rcon, symObjAddr: 0x1B10, symBinAddr: 0xA4EF40, symSize: 0x0 } - - { offsetInCU: 0x484, offset: 0x9D35C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x2DA200, symSize: 0x800 } - - { offsetInCU: 0x1B2B, offset: 0x9EA03, size: 0x8, addend: 0x0, symName: _aes_nohw_sub_bytes, symObjAddr: 0x15F0, symBinAddr: 0x2DB7F0, symSize: 0x300 } - - { offsetInCU: 0x32EE, offset: 0xA01C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_encrypt, symObjAddr: 0x800, symBinAddr: 0x2DAA00, symSize: 0x80 } - - { offsetInCU: 0x33DC, offset: 0xA02B4, size: 0x8, addend: 0x0, symName: _aes_nohw_expand_round_keys, symObjAddr: 0x880, symBinAddr: 0x2DAA80, symSize: 0x1A0 } - - { offsetInCU: 0x386D, offset: 0xA0745, size: 0x8, addend: 0x0, symName: _aes_nohw_to_batch, symObjAddr: 0xA20, symBinAddr: 0x2DAC20, symSize: 0x420 } - - { offsetInCU: 0x3D7D, offset: 0xA0C55, size: 0x8, addend: 0x0, symName: _aes_nohw_encrypt_batch, symObjAddr: 0xE40, symBinAddr: 0x2DB040, symSize: 0x380 } - - { offsetInCU: 0x424C, offset: 0xA1124, size: 0x8, addend: 0x0, symName: _aes_nohw_from_batch, symObjAddr: 0x11C0, symBinAddr: 0x2DB3C0, symSize: 0x250 } - - { offsetInCU: 0x498D, offset: 0xA1865, size: 0x8, addend: 0x0, symName: _aes_nohw_shift_rows, symObjAddr: 0x18F0, symBinAddr: 0x2DBAF0, symSize: 0x149 } - - { offsetInCU: 0x4BF9, offset: 0xA1AD1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_ctr32_encrypt_blocks, symObjAddr: 0x1410, symBinAddr: 0x2DB610, symSize: 0x1E0 } - - { offsetInCU: 0x26, offset: 0xA1EF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2DBC40, symSize: 0x2DC } - - { offsetInCU: 0x1D2, offset: 0xA209E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x2DBC40, symSize: 0x2DC } - - { offsetInCU: 0x26, offset: 0xA22F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2DBF20, symSize: 0x87 } - - { offsetInCU: 0x34, offset: 0xA2305, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x2DBF20, symSize: 0x87 } - - { offsetInCU: 0x26, offset: 0xA2415, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2DBFB0, symSize: 0x46 } - - { offsetInCU: 0x34, offset: 0xA2423, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x2DBFB0, symSize: 0x46 } - - { offsetInCU: 0x86, offset: 0xA2586, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x15F0, symBinAddr: 0xA4EFC0, symSize: 0x0 } - - { offsetInCU: 0xB8, offset: 0xA25B8, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1580, symBinAddr: 0xA4EF50, symSize: 0x0 } - - { offsetInCU: 0xDA, offset: 0xA25DA, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x15B0, symBinAddr: 0xA4EF80, symSize: 0x0 } - - { offsetInCU: 0xF0, offset: 0xA25F0, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x15E0, symBinAddr: 0xA4EFB0, symSize: 0x0 } - - { offsetInCU: 0x3B7, offset: 0xA28B7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x150, symBinAddr: 0x2DC000, symSize: 0x20 } - - { offsetInCU: 0x594, offset: 0xA2A94, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x250, symBinAddr: 0x2DC020, symSize: 0x20 } - - { offsetInCU: 0x63F, offset: 0xA2B3F, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x340, symBinAddr: 0x2DC040, symSize: 0x3A0 } - - { offsetInCU: 0x11A7, offset: 0xA36A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x6E0, symBinAddr: 0x2DC3E0, symSize: 0x140 } - - { offsetInCU: 0x14A2, offset: 0xA39A2, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x820, symBinAddr: 0x2DC520, symSize: 0x6B0 } - - { offsetInCU: 0x26DA, offset: 0xA4BDA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xED0, symBinAddr: 0x2DCBD0, symSize: 0x380 } - - { offsetInCU: 0x2D37, offset: 0xA5237, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0x1250, symBinAddr: 0x2DCF50, symSize: 0x170 } - - { offsetInCU: 0x2F2F, offset: 0xA542F, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0x13C0, symBinAddr: 0x2DD0C0, symSize: 0x1BF } - - { offsetInCU: 0x26, offset: 0xA577A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2DD280, symSize: 0x50 } - - { offsetInCU: 0xFA, offset: 0xA584E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x2DD280, symSize: 0x50 } - - { offsetInCU: 0x18D, offset: 0xA58E1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x50, symBinAddr: 0x2DD2D0, symSize: 0x60 } - - { offsetInCU: 0x2F1, offset: 0xA5A45, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0xB0, symBinAddr: 0x2DD330, symSize: 0x90 } - - { offsetInCU: 0x4C6, offset: 0xA5C1A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0x140, symBinAddr: 0x2DD3C0, symSize: 0x20 } - - { offsetInCU: 0x5E3, offset: 0xA5D37, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0x160, symBinAddr: 0x2DD3E0, symSize: 0xB0 } - - { offsetInCU: 0x696, offset: 0xA5DEA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x210, symBinAddr: 0x2DD490, symSize: 0x70 } - - { offsetInCU: 0x861, offset: 0xA5FB5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x280, symBinAddr: 0x2DD500, symSize: 0x170 } - - { offsetInCU: 0xB67, offset: 0xA62BB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x3F0, symBinAddr: 0x2DD670, symSize: 0x270 } - - { offsetInCU: 0xE6A, offset: 0xA65BE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x660, symBinAddr: 0x2DD8E0, symSize: 0x1A0 } - - { offsetInCU: 0x105D, offset: 0xA67B1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x800, symBinAddr: 0x2DDA80, symSize: 0x280 } - - { offsetInCU: 0x128C, offset: 0xA69E0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0xC20, symBinAddr: 0x2DDD00, symSize: 0x20 } - - { offsetInCU: 0x12F3, offset: 0xA6A47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0xC40, symBinAddr: 0x2DDD20, symSize: 0x20 } - - { offsetInCU: 0x132A, offset: 0xA6A7E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0xC60, symBinAddr: 0x2DDD40, symSize: 0x10 } - - { offsetInCU: 0x13AC, offset: 0xA6B00, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0xC70, symBinAddr: 0x2DDD50, symSize: 0x4A } - - { offsetInCU: 0x26, offset: 0xA6C8C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2DDDA0, symSize: 0x129 } - - { offsetInCU: 0x34, offset: 0xA6C9A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x2DDDA0, symSize: 0x129 } - - { offsetInCU: 0x34, offset: 0xA6D9C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_ia32cap_P, symObjAddr: 0x3F0, symBinAddr: 0x124B140, symSize: 0x0 } - - { offsetInCU: 0x26, offset: 0xA6DF1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0x2DDED0, symSize: 0xF8 } - - { offsetInCU: 0xD5, offset: 0xA6EA0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0x2DDED0, symSize: 0xF8 } - - { offsetInCU: 0x26, offset: 0xA6FF5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0x2DDFD0, symSize: 0x1210 } - - { offsetInCU: 0x92E, offset: 0xA78FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0x2DDFD0, symSize: 0x1210 } - - { offsetInCU: 0x5347, offset: 0xAC316, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base_adx, symObjAddr: 0x1210, symBinAddr: 0x2DF1E0, symSize: 0x1E50 } - - { offsetInCU: 0x9B2F, offset: 0xB0AFE, size: 0x8, addend: 0x0, symName: _inline_x25519_ge_dbl_4, symObjAddr: 0x3060, symBinAddr: 0x2E1030, symSize: 0x361 } - - { offsetInCU: 0x26, offset: 0xB1EEB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0x2E13A0, symSize: 0xD0 } - - { offsetInCU: 0x303, offset: 0xB21C8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0x2E13A0, symSize: 0xD0 } - - { offsetInCU: 0x5A4, offset: 0xB2469, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_update, symObjAddr: 0xD0, symBinAddr: 0x2E1470, symSize: 0x1C0 } - - { offsetInCU: 0x764, offset: 0xB2629, size: 0x8, addend: 0x0, symName: _poly1305_blocks, symObjAddr: 0x5F0, symBinAddr: 0x2E1990, symSize: 0x780 } - - { offsetInCU: 0x903, offset: 0xB27C8, size: 0x8, addend: 0x0, symName: _poly1305_first_block, symObjAddr: 0x290, symBinAddr: 0x2E1630, symSize: 0x360 } - - { offsetInCU: 0xEFC, offset: 0xB2DC1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_finish, symObjAddr: 0xD70, symBinAddr: 0x2E2110, symSize: 0xAA2 } - - { offsetInCU: 0x10, offset: 0xB354A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0x2E2BB2, symSize: 0x2AF } - - { offsetInCU: 0x51, offset: 0xB358B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0x2E2BB2, symSize: 0x2AF } - - { offsetInCU: 0x10, offset: 0xB3580, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0x2E2E61, symSize: 0x1F4 } - - { offsetInCU: 0x54, offset: 0xB35C4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0x2E2E61, symSize: 0x1F4 } - - { offsetInCU: 0x26, offset: 0xB35CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2E3060, symSize: 0x490 } - - { offsetInCU: 0x76, offset: 0xB361C, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0xA50000, symSize: 0x0 } - - { offsetInCU: 0xFA, offset: 0xB36A0, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0xA75000, symSize: 0x0 } - - { offsetInCU: 0x35B, offset: 0xB3901, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x2E3060, symSize: 0x490 } - - { offsetInCU: 0xC5A, offset: 0xB4200, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x490, symBinAddr: 0x2E34F0, symSize: 0x300 } - - { offsetInCU: 0x1135, offset: 0xB46DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x790, symBinAddr: 0x2E37F0, symSize: 0x25D } - - { offsetInCU: 0x10, offset: 0xB4AA0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2E3A80, symSize: 0x3A0 } - - { offsetInCU: 0x48, offset: 0xB4AD8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x2E3A80, symSize: 0x3A0 } - - { offsetInCU: 0x4D, offset: 0xB4ADD, size: 0x8, addend: 0x0, symName: ChaCha20_ssse3, symObjAddr: 0x3A0, symBinAddr: 0x2E3E20, symSize: 0x220 } - - { offsetInCU: 0x60, offset: 0xB4AF0, size: 0x8, addend: 0x0, symName: ChaCha20_4x, symObjAddr: 0x5C0, symBinAddr: 0x2E4040, symSize: 0xA20 } - - { offsetInCU: 0x76, offset: 0xB4B06, size: 0x8, addend: 0x0, symName: ChaCha20_8x, symObjAddr: 0xFE0, symBinAddr: 0x2E4A60, symSize: 0xB4C } - - { offsetInCU: 0x10, offset: 0xB4B18, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0x2E55C0, symSize: 0x40 } - - { offsetInCU: 0x48, offset: 0xB4B50, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0x2E55C0, symSize: 0x40 } - - { offsetInCU: 0x4D, offset: 0xB4B55, size: 0x8, addend: 0x0, symName: _aesni_encrypt2, symObjAddr: 0x40, symBinAddr: 0x2E5600, symSize: 0x60 } - - { offsetInCU: 0x63, offset: 0xB4B6B, size: 0x8, addend: 0x0, symName: _aesni_encrypt3, symObjAddr: 0xA0, symBinAddr: 0x2E5660, symSize: 0x70 } - - { offsetInCU: 0x79, offset: 0xB4B81, size: 0x8, addend: 0x0, symName: _aesni_encrypt4, symObjAddr: 0x110, symBinAddr: 0x2E56D0, symSize: 0x90 } - - { offsetInCU: 0x8F, offset: 0xB4B97, size: 0x8, addend: 0x0, symName: _aesni_encrypt6, symObjAddr: 0x1A0, symBinAddr: 0x2E5760, symSize: 0xE0 } - - { offsetInCU: 0xA5, offset: 0xB4BAD, size: 0x8, addend: 0x0, symName: _aesni_encrypt8, symObjAddr: 0x280, symBinAddr: 0x2E5840, symSize: 0x110 } - - { offsetInCU: 0xD9, offset: 0xB4BE1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x390, symBinAddr: 0x2E5950, symSize: 0x940 } - - { offsetInCU: 0xEA, offset: 0xB4BF2, size: 0x8, addend: 0x0, symName: __aesni_set_encrypt_key, symObjAddr: 0xCD0, symBinAddr: 0x2E6290, symSize: 0x44D } - - { offsetInCU: 0x10, offset: 0xB4BE8, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0x2E66E0, symSize: 0x160 } - - { offsetInCU: 0x3B, offset: 0xB4C13, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0x2E66E0, symSize: 0x160 } - - { offsetInCU: 0x54, offset: 0xB4C2C, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core_2x, symObjAddr: 0x160, symBinAddr: 0x2E6840, symSize: 0x290 } - - { offsetInCU: 0x68, offset: 0xB4C40, size: 0x8, addend: 0x0, symName: _vpaes_schedule_core, symObjAddr: 0x3F0, symBinAddr: 0x2E6AD0, symSize: 0xF0 } - - { offsetInCU: 0x7F, offset: 0xB4C57, size: 0x8, addend: 0x0, symName: _vpaes_schedule_round, symObjAddr: 0x4E0, symBinAddr: 0x2E6BC0, symSize: 0x21 } - - { offsetInCU: 0x99, offset: 0xB4C71, size: 0x8, addend: 0x0, symName: _vpaes_schedule_low_round, symObjAddr: 0x501, symBinAddr: 0x2E6BE1, symSize: 0x9F } - - { offsetInCU: 0xAF, offset: 0xB4C87, size: 0x8, addend: 0x0, symName: _vpaes_schedule_transform, symObjAddr: 0x5A0, symBinAddr: 0x2E6C80, symSize: 0x30 } - - { offsetInCU: 0xC2, offset: 0xB4C9A, size: 0x8, addend: 0x0, symName: _vpaes_schedule_mangle, symObjAddr: 0x5D0, symBinAddr: 0x2E6CB0, symSize: 0x50 } - - { offsetInCU: 0xE9, offset: 0xB4CC1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_set_encrypt_key, symObjAddr: 0x620, symBinAddr: 0x2E6D00, symSize: 0x30 } - - { offsetInCU: 0xF7, offset: 0xB4CCF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_encrypt, symObjAddr: 0x650, symBinAddr: 0x2E6D30, symSize: 0x20 } - - { offsetInCU: 0x11A, offset: 0xB4CF2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_ctr32_encrypt_blocks, symObjAddr: 0x670, symBinAddr: 0x2E6D50, symSize: 0xD0 } - - { offsetInCU: 0x112, offset: 0xB4CEA, size: 0x8, addend: 0x0, symName: _vpaes_preheat, symObjAddr: 0x740, symBinAddr: 0x2E6E20, symSize: 0x31 } - - { offsetInCU: 0x10, offset: 0xB4CFA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2E6E60, symSize: 0x2A0 } - - { offsetInCU: 0x45, offset: 0xB4D2F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x2E6E60, symSize: 0x2A0 } - - { offsetInCU: 0x4C, offset: 0xB4D36, size: 0x8, addend: 0x0, symName: bn_mul4x_mont, symObjAddr: 0x2A0, symBinAddr: 0x2E7100, symSize: 0x560 } - - { offsetInCU: 0x62, offset: 0xB4D4C, size: 0x8, addend: 0x0, symName: bn_sqr8x_mont, symObjAddr: 0x800, symBinAddr: 0x2E7660, symSize: 0x220 } - - { offsetInCU: 0x79, offset: 0xB4D63, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont, symObjAddr: 0xA20, symBinAddr: 0x2E7880, symSize: 0x570 } - - { offsetInCU: 0x10, offset: 0xB4D72, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0x2E7E00, symSize: 0x660 } - - { offsetInCU: 0x4D, offset: 0xB4DAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0x2E7E00, symSize: 0x660 } - - { offsetInCU: 0x54, offset: 0xB4DB6, size: 0x8, addend: 0x0, symName: bn_mul4x_mont_gather5, symObjAddr: 0x660, symBinAddr: 0x2E8460, symSize: 0x100 } - - { offsetInCU: 0x63, offset: 0xB4DC5, size: 0x8, addend: 0x0, symName: mul4x_internal, symObjAddr: 0x760, symBinAddr: 0x2E8560, symSize: 0x7E0 } - - { offsetInCU: 0x85, offset: 0xB4DE7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_power5, symObjAddr: 0xF40, symBinAddr: 0x2E8D40, symSize: 0x180 } - - { offsetInCU: 0xA3, offset: 0xB4E05, size: 0x8, addend: 0x0, symName: __bn_sqr8x_internal, symObjAddr: 0x10C0, symBinAddr: 0x2E8EC0, symSize: 0x579 } - - { offsetInCU: 0xAA, offset: 0xB4E0C, size: 0x8, addend: 0x0, symName: __bn_sqr8x_reduction, symObjAddr: 0x1639, symBinAddr: 0x2E9439, symSize: 0x347 } - - { offsetInCU: 0xC0, offset: 0xB4E22, size: 0x8, addend: 0x0, symName: __bn_post4x_internal, symObjAddr: 0x1980, symBinAddr: 0x2E9780, symSize: 0xA0 } - - { offsetInCU: 0xD9, offset: 0xB4E3B, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont_gather5, symObjAddr: 0x1A20, symBinAddr: 0x2E9820, symSize: 0xE0 } - - { offsetInCU: 0xE8, offset: 0xB4E4A, size: 0x8, addend: 0x0, symName: mulx4x_internal, symObjAddr: 0x1B00, symBinAddr: 0x2E9900, symSize: 0x7E0 } - - { offsetInCU: 0xF9, offset: 0xB4E5B, size: 0x8, addend: 0x0, symName: bn_powerx5, symObjAddr: 0x22E0, symBinAddr: 0x2EA0E0, symSize: 0x160 } - - { offsetInCU: 0x128, offset: 0xB4E8A, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_internal, symObjAddr: 0x2440, symBinAddr: 0x2EA240, symSize: 0x637 } - - { offsetInCU: 0x12F, offset: 0xB4E91, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_reduction, symObjAddr: 0x2A77, symBinAddr: 0x2EA877, symSize: 0x329 } - - { offsetInCU: 0x145, offset: 0xB4EA7, size: 0x8, addend: 0x0, symName: __bn_postx4x_internal, symObjAddr: 0x2DA0, symBinAddr: 0x2EABA0, symSize: 0x90 } - - { offsetInCU: 0x163, offset: 0xB4EC5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_scatter5, symObjAddr: 0x2E30, symBinAddr: 0x2EAC30, symSize: 0x30 } - - { offsetInCU: 0x178, offset: 0xB4EDA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_gather5, symObjAddr: 0x2E60, symBinAddr: 0x2EAC60, symSize: 0x27F } - - { offsetInCU: 0x10, offset: 0xB4EDC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0x2EAEE0, symSize: 0x80 } - - { offsetInCU: 0x4A, offset: 0xB4F16, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0x2EAEE0, symSize: 0x80 } - - { offsetInCU: 0x64, offset: 0xB4F30, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0x80, symBinAddr: 0x2EAF60, symSize: 0x360 } - - { offsetInCU: 0x7E, offset: 0xB4F4A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x3E0, symBinAddr: 0x2EB2C0, symSize: 0x300 } - - { offsetInCU: 0x85, offset: 0xB4F51, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_mul_montx, symObjAddr: 0x6E0, symBinAddr: 0x2EB5C0, symSize: 0x3C0 } - - { offsetInCU: 0x9B, offset: 0xB4F67, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_sqr_montx, symObjAddr: 0xAA0, symBinAddr: 0x2EB980, symSize: 0x320 } - - { offsetInCU: 0xB5, offset: 0xB4F81, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0xDC0, symBinAddr: 0x2EBCA0, symSize: 0xA0 } - - { offsetInCU: 0xC4, offset: 0xB4F90, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montq, symObjAddr: 0xE60, symBinAddr: 0x2EBD40, symSize: 0x240 } - - { offsetInCU: 0xE1, offset: 0xB4FAD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x10A0, symBinAddr: 0x2EBF80, symSize: 0x80 } - - { offsetInCU: 0xF0, offset: 0xB4FBC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montq, symObjAddr: 0x1120, symBinAddr: 0x2EC000, symSize: 0x1A0 } - - { offsetInCU: 0x106, offset: 0xB4FD2, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montx, symObjAddr: 0x12C0, symBinAddr: 0x2EC1A0, symSize: 0x260 } - - { offsetInCU: 0x11C, offset: 0xB4FE8, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montx, symObjAddr: 0x1520, symBinAddr: 0x2EC400, symSize: 0x1C0 } - - { offsetInCU: 0x142, offset: 0xB500E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x16E0, symBinAddr: 0x2EC5C0, symSize: 0xE0 } - - { offsetInCU: 0x158, offset: 0xB5024, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x17C0, symBinAddr: 0x2EC6A0, symSize: 0xC0 } - - { offsetInCU: 0x162, offset: 0xB502E, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w5, symObjAddr: 0x1880, symBinAddr: 0x2EC760, symSize: 0xC0 } - - { offsetInCU: 0x178, offset: 0xB5044, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w7, symObjAddr: 0x1940, symBinAddr: 0x2EC820, symSize: 0xE0 } - - { offsetInCU: 0x188, offset: 0xB5054, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_toq, symObjAddr: 0x1A20, symBinAddr: 0x2EC900, symSize: 0x60 } - - { offsetInCU: 0x1A0, offset: 0xB506C, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromq, symObjAddr: 0x1A80, symBinAddr: 0x2EC960, symSize: 0x60 } - - { offsetInCU: 0x1B1, offset: 0xB507D, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subq, symObjAddr: 0x1AE0, symBinAddr: 0x2EC9C0, symSize: 0x40 } - - { offsetInCU: 0x1CC, offset: 0xB5098, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2q, symObjAddr: 0x1B20, symBinAddr: 0x2ECA00, symSize: 0x60 } - - { offsetInCU: 0x1ED, offset: 0xB50B9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x1B80, symBinAddr: 0x2ECA60, symSize: 0x320 } - - { offsetInCU: 0x200, offset: 0xB50CC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x1EA0, symBinAddr: 0x2ECD80, symSize: 0x780 } - - { offsetInCU: 0x21D, offset: 0xB50E9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0x2620, symBinAddr: 0x2ED500, symSize: 0x580 } - - { offsetInCU: 0x222, offset: 0xB50EE, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_tox, symObjAddr: 0x2BA0, symBinAddr: 0x2EDA80, symSize: 0x60 } - - { offsetInCU: 0x23A, offset: 0xB5106, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromx, symObjAddr: 0x2C00, symBinAddr: 0x2EDAE0, symSize: 0x60 } - - { offsetInCU: 0x24B, offset: 0xB5117, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subx, symObjAddr: 0x2C60, symBinAddr: 0x2EDB40, symSize: 0x60 } - - { offsetInCU: 0x266, offset: 0xB5132, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2x, symObjAddr: 0x2CC0, symBinAddr: 0x2EDBA0, symSize: 0x60 } - - { offsetInCU: 0x27F, offset: 0xB514B, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_doublex, symObjAddr: 0x2D20, symBinAddr: 0x2EDC00, symSize: 0x320 } - - { offsetInCU: 0x292, offset: 0xB515E, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_addx, symObjAddr: 0x3040, symBinAddr: 0x2EDF20, symSize: 0x760 } - - { offsetInCU: 0x2AF, offset: 0xB517B, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_add_affinex, symObjAddr: 0x37A0, symBinAddr: 0x2EE680, symSize: 0x555 } - - { offsetInCU: 0x10, offset: 0xB517A, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0x2EEBE0, symSize: 0x5A0 } - - { offsetInCU: 0x3D, offset: 0xB51A7, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0x2EEBE0, symSize: 0x5A0 } - - { offsetInCU: 0x61, offset: 0xB51CB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_decrypt, symObjAddr: 0x5A0, symBinAddr: 0x2EF180, symSize: 0x140 } - - { offsetInCU: 0x63, offset: 0xB51CD, size: 0x8, addend: 0x0, symName: _aesni_ctr32_6x, symObjAddr: 0x6E0, symBinAddr: 0x2EF2C0, symSize: 0x180 } - - { offsetInCU: 0x8D, offset: 0xB51F7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_encrypt, symObjAddr: 0x860, symBinAddr: 0x2EF440, symSize: 0x423 } - - { offsetInCU: 0x10, offset: 0xB51F2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2EF880, symSize: 0x260 } - - { offsetInCU: 0x48, offset: 0xB522A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x2EF880, symSize: 0x260 } - - { offsetInCU: 0x5F, offset: 0xB5241, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x260, symBinAddr: 0x2EFAE0, symSize: 0xC0 } - - { offsetInCU: 0x75, offset: 0xB5257, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x320, symBinAddr: 0x2EFBA0, symSize: 0x660 } - - { offsetInCU: 0x88, offset: 0xB526A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_avx, symObjAddr: 0x980, symBinAddr: 0x2F0200, symSize: 0x1A0 } - - { offsetInCU: 0x9F, offset: 0xB5281, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_avx, symObjAddr: 0xB20, symBinAddr: 0x2F03A0, symSize: 0x697 } - - { offsetInCU: 0x10, offset: 0xB5280, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2F0A40, symSize: 0x1240 } - - { offsetInCU: 0x51, offset: 0xB52C1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2F0A40, symSize: 0x1240 } - - { offsetInCU: 0x5A, offset: 0xB52CA, size: 0x8, addend: 0x0, symName: sha512_block_data_order_avx, symObjAddr: 0x1240, symBinAddr: 0x2F1C80, symSize: 0x1176 } - - { offsetInCU: 0x10, offset: 0xB52CC, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0x2F2E00, symSize: 0x200 } - - { offsetInCU: 0x44, offset: 0xB5300, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0x2F2E00, symSize: 0x200 } - - { offsetInCU: 0x66, offset: 0xB5322, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x200, symBinAddr: 0x2F3000, symSize: 0x21C0 } - - { offsetInCU: 0x7C, offset: 0xB5338, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x23C0, symBinAddr: 0x2F51C0, symSize: 0x1D2D } - - { offsetInCU: 0x83, offset: 0xB533F, size: 0x8, addend: 0x0, symName: process_extra_in_trailer, symObjAddr: 0x40ED, symBinAddr: 0x2F6EED, symSize: 0x553 } - - { offsetInCU: 0x9C, offset: 0xB5358, size: 0x8, addend: 0x0, symName: chacha20_poly1305_open_avx2, symObjAddr: 0x4640, symBinAddr: 0x2F7440, symSize: 0x25C0 } - - { offsetInCU: 0xB2, offset: 0xB536E, size: 0x8, addend: 0x0, symName: chacha20_poly1305_seal_avx2, symObjAddr: 0x6C00, symBinAddr: 0x2F9A00, symSize: 0x2F01 } - - { offsetInCU: 0x10, offset: 0xB5370, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2FC940, symSize: 0x1200 } - - { offsetInCU: 0x51, offset: 0xB53B1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x2FC940, symSize: 0x1200 } - - { offsetInCU: 0x5D, offset: 0xB53BD, size: 0x8, addend: 0x0, symName: sha256_block_data_order_shaext, symObjAddr: 0x1200, symBinAddr: 0x2FDB40, symSize: 0x340 } - - { offsetInCU: 0x72, offset: 0xB53D2, size: 0x8, addend: 0x0, symName: sha256_block_data_order_ssse3, symObjAddr: 0x1540, symBinAddr: 0x2FDE80, symSize: 0xEC0 } - - { offsetInCU: 0x86, offset: 0xB53E6, size: 0x8, addend: 0x0, symName: sha256_block_data_order_avx, symObjAddr: 0x2400, symBinAddr: 0x2FED40, symSize: 0xEF7 } + - { offsetInCU: 0x34, offset: 0x78EE9, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionString, symObjAddr: 0x0, symBinAddr: 0xA1F000, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x78F1E, size: 0x8, addend: 0x0, symName: _CanvasNativeVersionNumber, symObjAddr: 0x38, symBinAddr: 0xA1F038, symSize: 0x0 } + - { offsetInCU: 0x3F, offset: 0x78F73, size: 0x8, addend: 0x0, symName: ___swift_memcpy16_8, symObjAddr: 0x40, symBinAddr: 0x1D80, symSize: 0x10 } + - { offsetInCU: 0x53, offset: 0x78F87, size: 0x8, addend: 0x0, symName: ___swift_noop_void_return, symObjAddr: 0x50, symBinAddr: 0x1D90, symSize: 0x10 } + - { offsetInCU: 0x67, offset: 0x78F9B, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwet', symObjAddr: 0x60, symBinAddr: 0x1DA0, symSize: 0x20 } + - { offsetInCU: 0x7B, offset: 0x78FAF, size: 0x8, addend: 0x0, symName: '_$sSo6CGSizeVwst', symObjAddr: 0x80, symBinAddr: 0x1DC0, symSize: 0x30 } + - { offsetInCU: 0x8F, offset: 0x78FC3, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwCP', symObjAddr: 0xD0, symBinAddr: 0x1E10, symSize: 0x30 } + - { offsetInCU: 0xA3, offset: 0x78FD7, size: 0x8, addend: 0x0, symName: ___swift_memcpy32_8, symObjAddr: 0x100, symBinAddr: 0x1E40, symSize: 0x20 } + - { offsetInCU: 0xB7, offset: 0x78FEB, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwet', symObjAddr: 0x120, symBinAddr: 0x1E60, symSize: 0x20 } + - { offsetInCU: 0xCB, offset: 0x78FFF, size: 0x8, addend: 0x0, symName: '_$sSo6CGRectVwst', symObjAddr: 0x140, symBinAddr: 0x1E80, symSize: 0x30 } + - { offsetInCU: 0x4F, offset: 0x791E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC11_WriteQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x30B0, symBinAddr: 0x12D2E60, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x79202, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10_ReadQueue33_05178D28796EA758448493B56DC45144LLSo011NSOperationE0CSgvpZ', symObjAddr: 0x30B8, symBinAddr: 0x12D2E68, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x79236, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTo', symObjAddr: 0x10, symBinAddr: 0x1F50, symSize: 0x40 } + - { offsetInCU: 0xF3, offset: 0x7928C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x60, symBinAddr: 0x1FA0, symSize: 0x60 } + - { offsetInCU: 0x144, offset: 0x792DD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0xD0, symBinAddr: 0x2010, symSize: 0x40 } + - { offsetInCU: 0x19F, offset: 0x79338, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x120, symBinAddr: 0x2060, symSize: 0x50 } + - { offsetInCU: 0x204, offset: 0x7939D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0x180, symBinAddr: 0x20C0, symSize: 0x60 } + - { offsetInCU: 0x27D, offset: 0x79416, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x1F0, symBinAddr: 0x2130, symSize: 0x90 } + - { offsetInCU: 0x2DA, offset: 0x79473, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x290, symBinAddr: 0x21D0, symSize: 0x20 } + - { offsetInCU: 0x35C, offset: 0x794F5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZTo', symObjAddr: 0x2C0, symBinAddr: 0x2200, symSize: 0x20 } + - { offsetInCU: 0x40B, offset: 0x795A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZTo', symObjAddr: 0x350, symBinAddr: 0x2290, symSize: 0x80 } + - { offsetInCU: 0x4D0, offset: 0x79669, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZTo', symObjAddr: 0x440, symBinAddr: 0x2380, symSize: 0x80 } + - { offsetInCU: 0x59F, offset: 0x79738, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZTo', symObjAddr: 0x530, symBinAddr: 0x2470, symSize: 0x80 } + - { offsetInCU: 0x669, offset: 0x79802, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZTo', symObjAddr: 0x630, symBinAddr: 0x2570, symSize: 0x90 } + - { offsetInCU: 0x701, offset: 0x7989A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZTo', symObjAddr: 0x6D0, symBinAddr: 0x2610, symSize: 0x10 } + - { offsetInCU: 0x768, offset: 0x79901, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZTo', symObjAddr: 0x6F0, symBinAddr: 0x2630, symSize: 0x10 } + - { offsetInCU: 0x7BF, offset: 0x79958, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZTo', symObjAddr: 0x710, symBinAddr: 0x2650, symSize: 0x10 } + - { offsetInCU: 0x816, offset: 0x799AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZTo', symObjAddr: 0x730, symBinAddr: 0x2670, symSize: 0x10 } + - { offsetInCU: 0x86D, offset: 0x79A06, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZTo', symObjAddr: 0x750, symBinAddr: 0x2690, symSize: 0x10 } + - { offsetInCU: 0x8C4, offset: 0x79A5D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZTo', symObjAddr: 0x770, symBinAddr: 0x26B0, symSize: 0x10 } + - { offsetInCU: 0x943, offset: 0x79ADC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZTo', symObjAddr: 0x790, symBinAddr: 0x26D0, symSize: 0x40 } + - { offsetInCU: 0x9EE, offset: 0x79B87, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZTo', symObjAddr: 0x7E0, symBinAddr: 0x2720, symSize: 0x20 } + - { offsetInCU: 0xA61, offset: 0x79BFA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZTo', symObjAddr: 0x810, symBinAddr: 0x2750, symSize: 0x10 } + - { offsetInCU: 0xAB8, offset: 0x79C51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZTo', symObjAddr: 0x880, symBinAddr: 0x27C0, symSize: 0x70 } + - { offsetInCU: 0xB43, offset: 0x79CDC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTo', symObjAddr: 0xA90, symBinAddr: 0x29D0, symSize: 0xA0 } + - { offsetInCU: 0xB94, offset: 0x79D2D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZTo', symObjAddr: 0xD90, symBinAddr: 0x2CD0, symSize: 0xA0 } + - { offsetInCU: 0xBE5, offset: 0x79D7E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZTo', symObjAddr: 0x10F0, symBinAddr: 0x3030, symSize: 0xA0 } + - { offsetInCU: 0xC41, offset: 0x79DDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTo', symObjAddr: 0x1540, symBinAddr: 0x3480, symSize: 0xD0 } + - { offsetInCU: 0xC89, offset: 0x79E22, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTo', symObjAddr: 0x1620, symBinAddr: 0x3560, symSize: 0x40 } + - { offsetInCU: 0xCE9, offset: 0x79E82, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfcTo', symObjAddr: 0x16B0, symBinAddr: 0x35F0, symSize: 0x30 } + - { offsetInCU: 0xD3C, offset: 0x79ED5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZTf4nd_n', symObjAddr: 0x1720, symBinAddr: 0x3660, symSize: 0x300 } + - { offsetInCU: 0xF6C, offset: 0x7A105, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZTf4nnnd_n', symObjAddr: 0x1A20, symBinAddr: 0x3960, symSize: 0x260 } + - { offsetInCU: 0x1166, offset: 0x7A2FF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZTf4nnd_n', symObjAddr: 0x1C80, symBinAddr: 0x3BC0, symSize: 0xD0 } + - { offsetInCU: 0x1263, offset: 0x7A3FC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZTf4nnnnd_n', symObjAddr: 0x1D50, symBinAddr: 0x3C90, symSize: 0x1B0 } + - { offsetInCU: 0x13D8, offset: 0x7A571, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZTf4nnnnnnd_n', symObjAddr: 0x1F00, symBinAddr: 0x3E40, symSize: 0x1D0 } + - { offsetInCU: 0x156D, offset: 0x7A706, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZTf4nnnnnnnnnnd_n', symObjAddr: 0x20D0, symBinAddr: 0x4010, symSize: 0x200 } + - { offsetInCU: 0x1759, offset: 0x7A8F2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZTf4nnnd_n', symObjAddr: 0x22D0, symBinAddr: 0x4210, symSize: 0x1D0 } + - { offsetInCU: 0x1823, offset: 0x7A9BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZTf4nnnnd_n', symObjAddr: 0x2660, symBinAddr: 0x45A0, symSize: 0x200 } + - { offsetInCU: 0x1904, offset: 0x7AA9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZTf4d_n', symObjAddr: 0x2860, symBinAddr: 0x47A0, symSize: 0x110 } + - { offsetInCU: 0x19AF, offset: 0x7AB48, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TR', symObjAddr: 0xB30, symBinAddr: 0x2A70, symSize: 0x70 } + - { offsetInCU: 0x19C7, offset: 0x7AB60, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TR', symObjAddr: 0xE30, symBinAddr: 0x2D70, symSize: 0x50 } + - { offsetInCU: 0x1A34, offset: 0x7ABCD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfETo', symObjAddr: 0x1710, symBinAddr: 0x3650, symSize: 0x10 } + - { offsetInCU: 0x1ABF, offset: 0x7AC58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCMa', symObjAddr: 0x2970, symBinAddr: 0x48B0, symSize: 0x20 } + - { offsetInCU: 0x1AD3, offset: 0x7AC6C, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgACIeyByy_SSSgADIeggg_TRTA', symObjAddr: 0x29B0, symBinAddr: 0x48F0, symSize: 0x10 } + - { offsetInCU: 0x1AF2, offset: 0x7AC8B, size: 0x8, addend: 0x0, symName: '_$sSo7NSErrorCSg10ObjectiveC8ObjCBoolVIeyByy_ACSbIeggy_TRTA', symObjAddr: 0x29C0, symBinAddr: 0x4900, symSize: 0x20 } + - { offsetInCU: 0x1B1B, offset: 0x7ACB4, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSgSo6NSDataCSgIeyByy_SSSgAFIeggg_TRTA', symObjAddr: 0x29E0, symBinAddr: 0x4920, symSize: 0x10 } + - { offsetInCU: 0x1B2F, offset: 0x7ACC8, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCMa', symObjAddr: 0x29F0, symBinAddr: 0x4930, symSize: 0x30 } + - { offsetInCU: 0x1B43, offset: 0x7ACDC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_TA', symObjAddr: 0x2A70, symBinAddr: 0x49B0, symSize: 0x40 } + - { offsetInCU: 0x1B57, offset: 0x7ACF0, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x2AB0, symBinAddr: 0x49F0, symSize: 0x20 } + - { offsetInCU: 0x1B6B, offset: 0x7AD04, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x2AD0, symBinAddr: 0x4A10, symSize: 0x10 } + - { offsetInCU: 0x1B7F, offset: 0x7AD18, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2B00, symBinAddr: 0x4A40, symSize: 0x40 } + - { offsetInCU: 0x1BB3, offset: 0x7AD4C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2BC0, symBinAddr: 0x4B00, symSize: 0x40 } + - { offsetInCU: 0x1BF1, offset: 0x7AD8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2C00, symBinAddr: 0x4B40, symSize: 0x20 } + - { offsetInCU: 0x1C25, offset: 0x7ADBE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2CB0, symBinAddr: 0x4BF0, symSize: 0x40 } + - { offsetInCU: 0x1C59, offset: 0x7ADF2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_yyYbcfU0_TA', symObjAddr: 0x2D20, symBinAddr: 0x4C60, symSize: 0x30 } + - { offsetInCU: 0x1C95, offset: 0x7AE2E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_TA', symObjAddr: 0x2DA0, symBinAddr: 0x4CE0, symSize: 0x30 } + - { offsetInCU: 0x1CA9, offset: 0x7AE42, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_yyYbcfU_TA', symObjAddr: 0x2DD0, symBinAddr: 0x4D10, symSize: 0x40 } + - { offsetInCU: 0x2176, offset: 0x7B30F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC19getBytesFromUIImageySo13NSMutableDataCSo0G0CFZ', symObjAddr: 0x0, symBinAddr: 0x1F40, symSize: 0x10 } + - { offsetInCU: 0x2191, offset: 0x7B32A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x50, symBinAddr: 0x1F90, symSize: 0x10 } + - { offsetInCU: 0x21AC, offset: 0x7B345, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC25loadImageAssetWithContextySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0xC0, symBinAddr: 0x2000, symSize: 0x10 } + - { offsetInCU: 0x21CD, offset: 0x7B366, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x110, symBinAddr: 0x2050, symSize: 0x10 } + - { offsetInCU: 0x21E8, offset: 0x7B381, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2dx2dy2dw2dhys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0x170, symBinAddr: 0x20B0, symSize: 0x10 } + - { offsetInCU: 0x2203, offset: 0x7B39C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9drawImage7context5image2sx2sy2sw2sh2dx2dy2dw2dhys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x1E0, symBinAddr: 0x2120, symSize: 0x10 } + - { offsetInCU: 0x221E, offset: 0x7B3B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23initWebGPUWithViewLayerys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x280, symBinAddr: 0x21C0, symSize: 0x10 } + - { offsetInCU: 0x22AC, offset: 0x7B445, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC18initWebGPUWithViewys5Int64VAF_AFs6UInt32VAHtFZ', symObjAddr: 0x2B0, symBinAddr: 0x21F0, symSize: 0x10 } + - { offsetInCU: 0x232B, offset: 0x7B4C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14initGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbtFZ', symObjAddr: 0x2E0, symBinAddr: 0x2220, symSize: 0x70 } + - { offsetInCU: 0x247D, offset: 0x7B616, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC20initSharedGLWithViewys5Int64VAF_S4bs5Int32VS5bAHSbAFtFZ', symObjAddr: 0x3D0, symBinAddr: 0x2310, symSize: 0x70 } + - { offsetInCU: 0x25DB, offset: 0x7B774, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC24initGLWithWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbtFZ', symObjAddr: 0x4C0, symBinAddr: 0x2400, symSize: 0x70 } + - { offsetInCU: 0x2739, offset: 0x7B8D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC26initSharedGLWidthAndHeightys5Int64Vs5Int32V_AHS4bAHS5bAHSbAFtFZ', symObjAddr: 0x5B0, symBinAddr: 0x24F0, symSize: 0x80 } + - { offsetInCU: 0x28AD, offset: 0x7BA46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15resize2DContextyys5Int64V_S2ftFZ', symObjAddr: 0x6C0, symBinAddr: 0x2600, symSize: 0x10 } + - { offsetInCU: 0x291D, offset: 0x7BAB6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC14flush2DContextyys5Int64VFZ', symObjAddr: 0x6E0, symBinAddr: 0x2620, symSize: 0x10 } + - { offsetInCU: 0x2960, offset: 0x7BAF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC7flushGLySbs5Int64VFZ', symObjAddr: 0x700, symBinAddr: 0x2640, symSize: 0x10 } + - { offsetInCU: 0x29A5, offset: 0x7BB3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9releaseGLyys5Int64VFZ', symObjAddr: 0x720, symBinAddr: 0x2660, symSize: 0x10 } + - { offsetInCU: 0x29E8, offset: 0x7BB81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC12getGLPointerys5Int64VAFFZ', symObjAddr: 0x740, symBinAddr: 0x2680, symSize: 0x10 } + - { offsetInCU: 0x2A2B, offset: 0x7BBC4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC16releaseGLPointeryys5Int64VFZ', symObjAddr: 0x760, symBinAddr: 0x26A0, symSize: 0x10 } + - { offsetInCU: 0x2A6E, offset: 0x7BC07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC15create2DContextys5Int64VAF_s5Int32VAHSbSfA2HSfAHtFZ', symObjAddr: 0x780, symBinAddr: 0x26C0, symSize: 0x10 } + - { offsetInCU: 0x2B54, offset: 0x7BCED, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC23updateGLSurfaceWithViewyys5Int64V_s5Int32VAhFtFZ', symObjAddr: 0x7D0, symBinAddr: 0x2710, symSize: 0x10 } + - { offsetInCU: 0x2BD3, offset: 0x7BD6C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC6test2Dyys5Int64VFZ', symObjAddr: 0x800, symBinAddr: 0x2740, symSize: 0x10 } + - { offsetInCU: 0x2C16, offset: 0x7BDAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC13testToDataURLySSs5Int64VFZ', symObjAddr: 0x820, symBinAddr: 0x2760, symSize: 0x60 } + - { offsetInCU: 0x2CD7, offset: 0x7BE70, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZ', symObjAddr: 0x8F0, symBinAddr: 0x2830, symSize: 0x10 } + - { offsetInCU: 0x2CEB, offset: 0x7BE84, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC9writeFileyySo6NSDataC_SSySSSg_AGtctFZyyYbcfU_', symObjAddr: 0x900, symBinAddr: 0x2840, symSize: 0x190 } + - { offsetInCU: 0x2D8B, offset: 0x7BF24, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZ', symObjAddr: 0xBA0, symBinAddr: 0x2AE0, symSize: 0x30 } + - { offsetInCU: 0x2D9F, offset: 0x7BF38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC8readFileyySS_ySSSg_So6NSDataCSgtctFZyyYbcfU_', symObjAddr: 0xBD0, symBinAddr: 0x2B10, symSize: 0x1C0 } + - { offsetInCU: 0x2E89, offset: 0x7C022, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZ', symObjAddr: 0xE80, symBinAddr: 0x2DC0, symSize: 0x30 } + - { offsetInCU: 0x2E9D, offset: 0x7C036, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC10deleteFileyySS_ySo7NSErrorCSg_SbtctFZyyYbcfU_', symObjAddr: 0xEB0, symBinAddr: 0x2DF0, symSize: 0x240 } + - { offsetInCU: 0x2F51, offset: 0x7C0EA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZ', symObjAddr: 0x1190, symBinAddr: 0x30D0, symSize: 0x10 } + - { offsetInCU: 0x2F65, offset: 0x7C0FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC17handleBase64ImageyySS_S2SySSSg_AEtctFZyyYbcfU_', symObjAddr: 0x11A0, symBinAddr: 0x30E0, symSize: 0x3A0 } + - { offsetInCU: 0x31FB, offset: 0x7C394, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersC32getPixelsPerInchForCurrentDeviceSSyFZ', symObjAddr: 0x1610, symBinAddr: 0x3550, symSize: 0x10 } + - { offsetInCU: 0x3216, offset: 0x7C3AF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfC', symObjAddr: 0x1660, symBinAddr: 0x35A0, symSize: 0x20 } + - { offsetInCU: 0x322A, offset: 0x7C3C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCACycfc', symObjAddr: 0x1680, symBinAddr: 0x35C0, symSize: 0x30 } + - { offsetInCU: 0x3260, offset: 0x7C3F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7HelpersCfD', symObjAddr: 0x16E0, symBinAddr: 0x3620, symSize: 0x30 } + - { offsetInCU: 0x4F, offset: 0x7C631, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LLSo7GLKViewCvpZ', symObjAddr: 0x5C38, symBinAddr: 0x12D2EA0, symSize: 0x0 } + - { offsetInCU: 0x69, offset: 0x7C64B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15_shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvpZ', symObjAddr: 0x5C40, symBinAddr: 0x12D2EA8, symSize: 0x0 } + - { offsetInCU: 0x83, offset: 0x7C665, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5storeSo19NSMutableDictionaryCvpZ', symObjAddr: 0x5C48, symBinAddr: 0x12D2EB0, symSize: 0x0 } + - { offsetInCU: 0x9D, offset: 0x7C67F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LLSo10NSMapTableCySo8NSStringCACGvpZ', symObjAddr: 0x5C50, symBinAddr: 0x12D2EB8, symSize: 0x0 } + - { offsetInCU: 0xAB, offset: 0x7C68D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19shared_context_view33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0x0, symBinAddr: 0x4FE0, symSize: 0x60 } + - { offsetInCU: 0xF0, offset: 0x7C6D2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5store_WZ', symObjAddr: 0x60, symBinAddr: 0x5040, symSize: 0x30 } + - { offsetInCU: 0x135, offset: 0x7C717, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5views33_508084857CA7D194CA72FEB80DD78002LL_WZ', symObjAddr: 0xD0, symBinAddr: 0x50B0, symSize: 0x40 } + - { offsetInCU: 0x187, offset: 0x7C769, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvgTo', symObjAddr: 0x1B0, symBinAddr: 0x5190, symSize: 0x20 } + - { offsetInCU: 0x1DD, offset: 0x7C7BF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC3ptrSvSgvsTo', symObjAddr: 0x1D0, symBinAddr: 0x51B0, symSize: 0x20 } + - { offsetInCU: 0x236, offset: 0x7C818, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvgTo', symObjAddr: 0x1F0, symBinAddr: 0x51D0, symSize: 0x20 } + - { offsetInCU: 0x28C, offset: 0x7C86E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6mtlPtrSvSgvsTo', symObjAddr: 0x210, symBinAddr: 0x51F0, symSize: 0x20 } + - { offsetInCU: 0x2E5, offset: 0x7C8C7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvgTo', symObjAddr: 0x320, symBinAddr: 0x5300, symSize: 0x40 } + - { offsetInCU: 0x320, offset: 0x7C902, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvsTo', symObjAddr: 0x390, symBinAddr: 0x5370, symSize: 0x30 } + - { offsetInCU: 0x3AF, offset: 0x7C991, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvgTo', symObjAddr: 0x5D0, symBinAddr: 0x55B0, symSize: 0x40 } + - { offsetInCU: 0x405, offset: 0x7C9E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64VvsTo', symObjAddr: 0x640, symBinAddr: 0x5620, symSize: 0x40 } + - { offsetInCU: 0x45E, offset: 0x7CA40, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvgTo', symObjAddr: 0x680, symBinAddr: 0x5660, symSize: 0x40 } + - { offsetInCU: 0x4B4, offset: 0x7CA96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64VvsTo', symObjAddr: 0x6F0, symBinAddr: 0x56D0, symSize: 0x40 } + - { offsetInCU: 0x50D, offset: 0x7CAEF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvgTo', symObjAddr: 0x730, symBinAddr: 0x5710, symSize: 0x20 } + - { offsetInCU: 0x563, offset: 0x7CB45, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15native2DContexts5Int64VvsTo', symObjAddr: 0x750, symBinAddr: 0x5730, symSize: 0x20 } + - { offsetInCU: 0x5BC, offset: 0x7CB9E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvgTo', symObjAddr: 0x770, symBinAddr: 0x5750, symSize: 0x20 } + - { offsetInCU: 0x614, offset: 0x7CBF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7mtlViewSo7MTKViewCvsTo', symObjAddr: 0x790, symBinAddr: 0x5770, symSize: 0x30 } + - { offsetInCU: 0x66D, offset: 0x7CC4F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvgTo', symObjAddr: 0x7C0, symBinAddr: 0x57A0, symSize: 0x20 } + - { offsetInCU: 0x6C5, offset: 0x7CCA7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7glkViewAA0A7GLKViewCvsTo', symObjAddr: 0x7E0, symBinAddr: 0x57C0, symSize: 0x30 } + - { offsetInCU: 0x71E, offset: 0x7CD00, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvgTo', symObjAddr: 0x810, symBinAddr: 0x57F0, symSize: 0x20 } + - { offsetInCU: 0x774, offset: 0x7CD56, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC4is2DSbvsTo', symObjAddr: 0x830, symBinAddr: 0x5810, symSize: 0x10 } + - { offsetInCU: 0x7CD, offset: 0x7CDAF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvgTo', symObjAddr: 0x840, symBinAddr: 0x5820, symSize: 0x20 } + - { offsetInCU: 0x823, offset: 0x7CE05, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC7isMetalSbvsTo', symObjAddr: 0x860, symBinAddr: 0x5840, symSize: 0x10 } + - { offsetInCU: 0x866, offset: 0x7CE48, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivgTo', symObjAddr: 0x870, symBinAddr: 0x5850, symSize: 0x30 } + - { offsetInCU: 0x898, offset: 0x7CE7A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivgTo', symObjAddr: 0x960, symBinAddr: 0x5940, symSize: 0x30 } + - { offsetInCU: 0x8E0, offset: 0x7CEC2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvgTo', symObjAddr: 0xA50, symBinAddr: 0x5A30, symSize: 0x30 } + - { offsetInCU: 0x948, offset: 0x7CF2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvgTo', symObjAddr: 0xAB0, symBinAddr: 0x5A90, symSize: 0x30 } + - { offsetInCU: 0x9E7, offset: 0x7CFC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btFTo', symObjAddr: 0xB20, symBinAddr: 0x5B00, symSize: 0xD0 } + - { offsetInCU: 0xA96, offset: 0x7D078, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VFTo', symObjAddr: 0xDA0, symBinAddr: 0x5D80, symSize: 0x30 } + - { offsetInCU: 0xB46, offset: 0x7D128, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btFTo', symObjAddr: 0x1760, symBinAddr: 0x6740, symSize: 0xD0 } + - { offsetInCU: 0xBB0, offset: 0x7D192, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtFTo', symObjAddr: 0x1A70, symBinAddr: 0x6A50, symSize: 0x90 } + - { offsetInCU: 0xBED, offset: 0x7D1CF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtFTo', symObjAddr: 0x1BF0, symBinAddr: 0x6BD0, symSize: 0x100 } + - { offsetInCU: 0xC6B, offset: 0x7D24D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbFTo', symObjAddr: 0x1DC0, symBinAddr: 0x6DA0, symSize: 0x40 } + - { offsetInCU: 0xC9E, offset: 0x7D280, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvgTo', symObjAddr: 0x1E00, symBinAddr: 0x6DE0, symSize: 0x20 } + - { offsetInCU: 0xCF8, offset: 0x7D2DA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8rendererAA9NSCRenderCSgvsTo', symObjAddr: 0x1E20, symBinAddr: 0x6E00, symSize: 0x30 } + - { offsetInCU: 0xD53, offset: 0x7D335, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyFTo', symObjAddr: 0x1E90, symBinAddr: 0x6E70, symSize: 0x40 } + - { offsetInCU: 0xDE9, offset: 0x7D3CB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VFTo', symObjAddr: 0x1F10, symBinAddr: 0x6EF0, symSize: 0x60 } + - { offsetInCU: 0xEAE, offset: 0x7D490, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VFTo', symObjAddr: 0x1FD0, symBinAddr: 0x6FB0, symSize: 0xA0 } + - { offsetInCU: 0xF3B, offset: 0x7D51D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC23enterBackgroundListeneryycSgvsTo', symObjAddr: 0x20C0, symBinAddr: 0x70A0, symSize: 0x70 } + - { offsetInCU: 0xF9D, offset: 0x7D57F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC20becomeActiveListeneryycSgvsTo', symObjAddr: 0x21D0, symBinAddr: 0x71B0, symSize: 0x70 } + - { offsetInCU: 0xFFA, offset: 0x7D5DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvgTo', symObjAddr: 0x2240, symBinAddr: 0x7220, symSize: 0xB0 } + - { offsetInCU: 0x104A, offset: 0x7D62C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvsTo', symObjAddr: 0x23B0, symBinAddr: 0x7390, symSize: 0x90 } + - { offsetInCU: 0x10DA, offset: 0x7D6BC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x3160, symBinAddr: 0x8140, symSize: 0x30 } + - { offsetInCU: 0x112F, offset: 0x7D711, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x3D20, symBinAddr: 0x8D00, symSize: 0x30 } + - { offsetInCU: 0x1162, offset: 0x7D744, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvgTo', symObjAddr: 0x3D50, symBinAddr: 0x8D30, symSize: 0x20 } + - { offsetInCU: 0x11BA, offset: 0x7D79C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvsTo', symObjAddr: 0x3D70, symBinAddr: 0x8D50, symSize: 0x30 } + - { offsetInCU: 0x1228, offset: 0x7D80A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvgTo', symObjAddr: 0x3E20, symBinAddr: 0x8E00, symSize: 0x30 } + - { offsetInCU: 0x1282, offset: 0x7D864, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13readyListenerAA0cE0_pSgvsTo', symObjAddr: 0x3E50, symBinAddr: 0x8E30, symSize: 0x30 } + - { offsetInCU: 0x12E2, offset: 0x7D8C4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgFTo', symObjAddr: 0x3EB0, symBinAddr: 0x8E90, symSize: 0x30 } + - { offsetInCU: 0x1426, offset: 0x7DA08, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyFTo', symObjAddr: 0x4290, symBinAddr: 0x9270, symSize: 0x30 } + - { offsetInCU: 0x1459, offset: 0x7DA3B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfDTo', symObjAddr: 0x45B0, symBinAddr: 0x9590, symSize: 0x20 } + - { offsetInCU: 0x1494, offset: 0x7DA76, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTo', symObjAddr: 0x46A0, symBinAddr: 0x9680, symSize: 0x30 } + - { offsetInCU: 0x14C7, offset: 0x7DAA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14shared_context33_508084857CA7D194CA72FEB80DD78002LLs5Int64VvgZTf4d_n', symObjAddr: 0x50D0, symBinAddr: 0xA0B0, symSize: 0x2A0 } + - { offsetInCU: 0x162F, offset: 0x7DC11, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZTf4nnd_n', symObjAddr: 0x5440, symBinAddr: 0xA420, symSize: 0xC0 } + - { offsetInCU: 0x184B, offset: 0x7DE2D, size: 0x8, addend: 0x0, symName: '_$sIeg_IeyB_TR', symObjAddr: 0x2090, symBinAddr: 0x7070, symSize: 0x30 } + - { offsetInCU: 0x1863, offset: 0x7DE45, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_So8NSStringCABIeyByy_TR', symObjAddr: 0x2340, symBinAddr: 0x7320, symSize: 0x70 } + - { offsetInCU: 0x187B, offset: 0x7DE5D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTK', symObjAddr: 0x24A0, symBinAddr: 0x7480, symSize: 0x90 } + - { offsetInCU: 0x18B3, offset: 0x7DE95, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvpACTk', symObjAddr: 0x2530, symBinAddr: 0x7510, symSize: 0xC0 } + - { offsetInCU: 0x18F3, offset: 0x7DED5, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TR', symObjAddr: 0x25F0, symBinAddr: 0x75D0, symSize: 0x70 } + - { offsetInCU: 0x19A3, offset: 0x7DF85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfETo', symObjAddr: 0x45D0, symBinAddr: 0x95B0, symSize: 0xC0 } + - { offsetInCU: 0x19D3, offset: 0x7DFB5, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOy', symObjAddr: 0x46D0, symBinAddr: 0x96B0, symSize: 0x20 } + - { offsetInCU: 0x19E7, offset: 0x7DFC9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCMa', symObjAddr: 0x46F0, symBinAddr: 0x96D0, symSize: 0x20 } + - { offsetInCU: 0x19FB, offset: 0x7DFDD, size: 0x8, addend: 0x0, symName: '_$ss29getContiguousArrayStorageType3fors01_bcD0CyxGmxm_tlFSo18NSLayoutConstraintC_Tgm5', symObjAddr: 0x4710, symBinAddr: 0x96F0, symSize: 0x60 } + - { offsetInCU: 0x1C02, offset: 0x7E1E4, size: 0x8, addend: 0x0, symName: ___swift_instantiateConcreteTypeFromMangledName, symObjAddr: 0x5370, symBinAddr: 0xA350, symSize: 0x40 } + - { offsetInCU: 0x1C16, offset: 0x7E1F8, size: 0x8, addend: 0x0, symName: '_$sypSgWOh', symObjAddr: 0x53B0, symBinAddr: 0xA390, symSize: 0x30 } + - { offsetInCU: 0x1C2A, offset: 0x7E20C, size: 0x8, addend: 0x0, symName: ___swift_project_boxed_opaque_existential_0, symObjAddr: 0x53E0, symBinAddr: 0xA3C0, symSize: 0x30 } + - { offsetInCU: 0x1C3E, offset: 0x7E220, size: 0x8, addend: 0x0, symName: ___swift_destroy_boxed_opaque_existential_0, symObjAddr: 0x5410, symBinAddr: 0xA3F0, symSize: 0x30 } + - { offsetInCU: 0x1C5D, offset: 0x7E23F, size: 0x8, addend: 0x0, symName: '_$sSo8NSStringCSo19UIGestureRecognizerCIeyByy_SSADIeggg_TRTA', symObjAddr: 0x59A0, symBinAddr: 0xA980, symSize: 0x40 } + - { offsetInCU: 0x1C86, offset: 0x7E268, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x59E0, symBinAddr: 0xA9C0, symSize: 0x20 } + - { offsetInCU: 0x1C9A, offset: 0x7E27C, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x5A00, symBinAddr: 0xA9E0, symSize: 0x10 } + - { offsetInCU: 0x1CAE, offset: 0x7E290, size: 0x8, addend: 0x0, symName: '_$sIeg_SgWOe', symObjAddr: 0x5A10, symBinAddr: 0xA9F0, symSize: 0x20 } + - { offsetInCU: 0x1CCD, offset: 0x7E2AF, size: 0x8, addend: 0x0, symName: '_$sIeyB_Ieg_TRTA', symObjAddr: 0x5A30, symBinAddr: 0xAA10, symSize: 0x10 } + - { offsetInCU: 0x1CF6, offset: 0x7E2D8, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCytIegnnr_SSABIeggg_TRTA', symObjAddr: 0x5A60, symBinAddr: 0xAA40, symSize: 0x20 } + - { offsetInCU: 0x1D15, offset: 0x7E2F7, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SSABytIegnnr_TRTA', symObjAddr: 0x5A80, symBinAddr: 0xAA60, symSize: 0x30 } + - { offsetInCU: 0x1D3E, offset: 0x7E320, size: 0x8, addend: 0x0, symName: '_$sypWOb', symObjAddr: 0x5AB0, symBinAddr: 0xAA90, symSize: 0x20 } + - { offsetInCU: 0x1D52, offset: 0x7E334, size: 0x8, addend: 0x0, symName: '_$sypWOc', symObjAddr: 0x5B00, symBinAddr: 0xAAE0, symSize: 0x30 } + - { offsetInCU: 0x1FD7, offset: 0x7E5B9, size: 0x8, addend: 0x0, symName: '_$sSD17dictionaryLiteralSDyxq_Gx_q_td_tcfCSS_ypTgm5Tf4g_n', symObjAddr: 0x4FE0, symBinAddr: 0x9FC0, symSize: 0xF0 } + - { offsetInCU: 0x2469, offset: 0x7EA4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvg', symObjAddr: 0x360, symBinAddr: 0x5340, symSize: 0x30 } + - { offsetInCU: 0x249A, offset: 0x7EA7C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvs', symObjAddr: 0x3C0, symBinAddr: 0x53A0, symSize: 0xE0 } + - { offsetInCU: 0x24E4, offset: 0x7EAC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM', symObjAddr: 0x4A0, symBinAddr: 0x5480, symSize: 0x50 } + - { offsetInCU: 0x2507, offset: 0x7EAE9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC9autoScaleSbvM.resume.0', symObjAddr: 0x4F0, symBinAddr: 0x54D0, symSize: 0xE0 } + - { offsetInCU: 0x2548, offset: 0x7EB2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8nativeGLs5Int64Vvg', symObjAddr: 0x610, symBinAddr: 0x55F0, symSize: 0x30 } + - { offsetInCU: 0x259E, offset: 0x7EB80, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13nativeContexts5Int64Vvg', symObjAddr: 0x6C0, symBinAddr: 0x56A0, symSize: 0x30 } + - { offsetInCU: 0x270A, offset: 0x7ECEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18drawingBufferWidthSivg', symObjAddr: 0x8A0, symBinAddr: 0x5880, symSize: 0xC0 } + - { offsetInCU: 0x282F, offset: 0x7EE11, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC19drawingBufferHeightSivg', symObjAddr: 0x990, symBinAddr: 0x5970, symSize: 0xC0 } + - { offsetInCU: 0x2975, offset: 0x7EF57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5widthSfvg', symObjAddr: 0xA80, symBinAddr: 0x5A60, symSize: 0x30 } + - { offsetInCU: 0x29BB, offset: 0x7EF9D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6heightSfvg', symObjAddr: 0xAE0, symBinAddr: 0x5AC0, symSize: 0x30 } + - { offsetInCU: 0x29ED, offset: 0x7EFCF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11initContextyySS_S4bs5Int32VS5btF', symObjAddr: 0xB10, symBinAddr: 0x5AF0, symSize: 0x10 } + - { offsetInCU: 0x2B6A, offset: 0x7F14C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17initWebGPUContextyys5Int64VF', symObjAddr: 0xBF0, symBinAddr: 0x5BD0, symSize: 0x1B0 } + - { offsetInCU: 0x2F4D, offset: 0x7F52F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC015initContextWithE10AttributesyySS_S4bs5Int32VS5btF', symObjAddr: 0xDD0, symBinAddr: 0x5DB0, symSize: 0x990 } + - { offsetInCU: 0x36DB, offset: 0x7FCBD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC15create2DContextys5Int64VSb_S3bs5Int32VS5bAHtF', symObjAddr: 0x1830, symBinAddr: 0x6810, symSize: 0x240 } + - { offsetInCU: 0x3B67, offset: 0x80149, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11forceLayoutyy12CoreGraphics7CGFloatV_AGtF', symObjAddr: 0x1B00, symBinAddr: 0x6AE0, symSize: 0xF0 } + - { offsetInCU: 0x3BF6, offset: 0x801D8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC8snapshotySo7UIImageCSgSbF', symObjAddr: 0x1CF0, symBinAddr: 0x6CD0, symSize: 0xD0 } + - { offsetInCU: 0x3D4F, offset: 0x80331, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6renderSbyF', symObjAddr: 0x1E50, symBinAddr: 0x6E30, symSize: 0x40 } + - { offsetInCU: 0x3DD3, offset: 0x803B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC13context2DTestyys5Int64VF', symObjAddr: 0x1ED0, symBinAddr: 0x6EB0, symSize: 0x40 } + - { offsetInCU: 0x3EF2, offset: 0x804D4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC22context2DTestToDataURLySSs5Int64VF', symObjAddr: 0x1F70, symBinAddr: 0x6F50, symSize: 0x60 } + - { offsetInCU: 0x3FE8, offset: 0x805CA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvg', symObjAddr: 0x22F0, symBinAddr: 0x72D0, symSize: 0x50 } + - { offsetInCU: 0x4032, offset: 0x80614, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvs', symObjAddr: 0x2440, symBinAddr: 0x7420, symSize: 0x60 } + - { offsetInCU: 0x4059, offset: 0x8063B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM', symObjAddr: 0x2660, symBinAddr: 0x7640, symSize: 0x40 } + - { offsetInCU: 0x407F, offset: 0x80661, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC18touchEventListenerySS_So19UIGestureRecognizerCtcSgvM.resume.0', symObjAddr: 0x26A0, symBinAddr: 0x7680, symSize: 0x10 } + - { offsetInCU: 0x4141, offset: 0x80723, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x26B0, symBinAddr: 0x7690, symSize: 0xAB0 } + - { offsetInCU: 0x4366, offset: 0x80948, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfC', symObjAddr: 0x3190, symBinAddr: 0x8170, symSize: 0x80 } + - { offsetInCU: 0x438F, offset: 0x80971, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC5frameACSo6CGRectV_tcfc', symObjAddr: 0x3210, symBinAddr: 0x81F0, symSize: 0xB10 } + - { offsetInCU: 0x45D5, offset: 0x80BB7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC17ignoreTouchEventsSbvW', symObjAddr: 0x3DA0, symBinAddr: 0x8D80, symSize: 0x80 } + - { offsetInCU: 0x46CB, offset: 0x80CAD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC11setListeneryyAA0cE0_pSgF', symObjAddr: 0x3E80, symBinAddr: 0x8E60, symSize: 0x30 } + - { offsetInCU: 0x4767, offset: 0x80D49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC6resize33_508084857CA7D194CA72FEB80DD78002LLyyF', symObjAddr: 0x3EE0, symBinAddr: 0x8EC0, symSize: 0x110 } + - { offsetInCU: 0x49B8, offset: 0x80F9A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC14layoutSubviewsyyF', symObjAddr: 0x3FF0, symBinAddr: 0x8FD0, symSize: 0x2A0 } + - { offsetInCU: 0x4C14, offset: 0x811F6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasCfD', symObjAddr: 0x42C0, symBinAddr: 0x92A0, symSize: 0x2F0 } + - { offsetInCU: 0x4CA2, offset: 0x81284, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCCanvasC21getBoundingClientRectyySo6UIViewC_SvtFZ', symObjAddr: 0x4690, symBinAddr: 0x9670, symSize: 0x10 } + - { offsetInCU: 0x4CCA, offset: 0x812AC, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4findys10_HashTableV6BucketV6bucket_Sb5foundtxSHRzlFSS_Tg5', symObjAddr: 0x4770, symBinAddr: 0x9750, symSize: 0x60 } + - { offsetInCU: 0x4D24, offset: 0x81306, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV7_insert2at3key5valueys10_HashTableV6BucketV_xnq_ntFSS_ypTg5', symObjAddr: 0x47D0, symBinAddr: 0x97B0, symSize: 0x60 } + - { offsetInCU: 0x4D90, offset: 0x81372, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV12mutatingFind_8isUniques10_HashTableV6BucketV6bucket_Sb5foundtx_SbtFSS_ypTg5', symObjAddr: 0x4830, symBinAddr: 0x9810, symSize: 0xB0 } + - { offsetInCU: 0x4DCD, offset: 0x813AF, size: 0x8, addend: 0x0, symName: '_$ss22__RawDictionaryStorageC4find_9hashValues10_HashTableV6BucketV6bucket_Sb5foundtx_SitSHRzlFSS_Tg5', symObjAddr: 0x48E0, symBinAddr: 0x98C0, symSize: 0xE0 } + - { offsetInCU: 0x4E38, offset: 0x8141A, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV4copyyyFSS_ypTg5', symObjAddr: 0x49C0, symBinAddr: 0x99A0, symSize: 0x260 } + - { offsetInCU: 0x4EE0, offset: 0x814C2, size: 0x8, addend: 0x0, symName: '_$ss17_NativeDictionaryV20_copyOrMoveAndResize8capacity12moveElementsySi_SbtFSS_ypTg5', symObjAddr: 0x4C20, symBinAddr: 0x9C00, symSize: 0x3C0 } + - { offsetInCU: 0x27, offset: 0x81716, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xABC0, symSize: 0x20 } + - { offsetInCU: 0x62, offset: 0x81751, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCMa', symObjAddr: 0x20, symBinAddr: 0xABE0, symSize: 0x14 } + - { offsetInCU: 0x1AF, offset: 0x8189E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative7GLUtilsCfD', symObjAddr: 0x0, symBinAddr: 0xABC0, symSize: 0x20 } + - { offsetInCU: 0x65, offset: 0x8192B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvgTo', symObjAddr: 0x0, symBinAddr: 0xAC00, symSize: 0x10 } + - { offsetInCU: 0xBB, offset: 0x81981, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8mPrograms6UInt32VvsTo', symObjAddr: 0x10, symBinAddr: 0xAC10, symSize: 0x10 } + - { offsetInCU: 0x114, offset: 0x819DA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvgTo', symObjAddr: 0x20, symBinAddr: 0xAC20, symSize: 0x40 } + - { offsetInCU: 0x16A, offset: 0x81A30, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3rbos6UInt32VvsTo', symObjAddr: 0x60, symBinAddr: 0xAC60, symSize: 0x40 } + - { offsetInCU: 0x1C3, offset: 0x81A89, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvgTo', symObjAddr: 0xA0, symBinAddr: 0xACA0, symSize: 0x40 } + - { offsetInCU: 0x219, offset: 0x81ADF, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3fbos6UInt32VvsTo', symObjAddr: 0xE0, symBinAddr: 0xACE0, symSize: 0x40 } + - { offsetInCU: 0x272, offset: 0x81B38, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivgTo', symObjAddr: 0x120, symBinAddr: 0xAD20, symSize: 0x20 } + - { offsetInCU: 0x2C8, offset: 0x81B8E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC5widthSivsTo', symObjAddr: 0x140, symBinAddr: 0xAD40, symSize: 0x20 } + - { offsetInCU: 0x321, offset: 0x81BE7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivgTo', symObjAddr: 0x160, symBinAddr: 0xAD60, symSize: 0x20 } + - { offsetInCU: 0x377, offset: 0x81C3D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC6heightSivsTo', symObjAddr: 0x180, symBinAddr: 0xAD80, symSize: 0x20 } + - { offsetInCU: 0x3D0, offset: 0x81C96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvgTo', symObjAddr: 0x1A0, symBinAddr: 0xADA0, symSize: 0x40 } + - { offsetInCU: 0x426, offset: 0x81CEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC2abs6UInt32VvsTo', symObjAddr: 0x1E0, symBinAddr: 0xADE0, symSize: 0x40 } + - { offsetInCU: 0x47F, offset: 0x81D45, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvgTo', symObjAddr: 0x220, symBinAddr: 0xAE20, symSize: 0x10 } + - { offsetInCU: 0x4D5, offset: 0x81D9B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC3poss5Int32VvsTo', symObjAddr: 0x230, symBinAddr: 0xAE30, symSize: 0x10 } + - { offsetInCU: 0x52E, offset: 0x81DF4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvgTo', symObjAddr: 0x240, symBinAddr: 0xAE40, symSize: 0x10 } + - { offsetInCU: 0x584, offset: 0x81E4A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10samplerPoss5Int32VvsTo', symObjAddr: 0x250, symBinAddr: 0xAE50, symSize: 0x10 } + - { offsetInCU: 0x5DD, offset: 0x81EA3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvgTo', symObjAddr: 0x260, symBinAddr: 0xAE60, symSize: 0x40 } + - { offsetInCU: 0x633, offset: 0x81EF9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9vextexBufSaySfGvsTo', symObjAddr: 0x2A0, symBinAddr: 0xAEA0, symSize: 0x40 } + - { offsetInCU: 0x676, offset: 0x81F3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13SIZE_OF_FLOATSivgZTo', symObjAddr: 0x2E0, symBinAddr: 0xAEE0, symSize: 0x10 } + - { offsetInCU: 0x692, offset: 0x81F58, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13VERTEX_SHADERSSvgZTo', symObjAddr: 0x2F0, symBinAddr: 0xAEF0, symSize: 0x30 } + - { offsetInCU: 0x6C4, offset: 0x81F8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvgTo', symObjAddr: 0x320, symBinAddr: 0xAF20, symSize: 0x20 } + - { offsetInCU: 0x71C, offset: 0x81FE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7surfaceSo9IOSurfaceCSgvsTo', symObjAddr: 0x340, symBinAddr: 0xAF40, symSize: 0x30 } + - { offsetInCU: 0x775, offset: 0x8203B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvgTo', symObjAddr: 0x490, symBinAddr: 0xB090, symSize: 0x20 } + - { offsetInCU: 0x7CB, offset: 0x82091, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC8pixelBufs9UnmanagedVySo11CVBufferRefaGSgvsTo', symObjAddr: 0x4B0, symBinAddr: 0xB0B0, symSize: 0x20 } + - { offsetInCU: 0x83A, offset: 0x82100, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfcTo', symObjAddr: 0x680, symBinAddr: 0xB240, symSize: 0x20 } + - { offsetInCU: 0x86C, offset: 0x82132, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyFTo', symObjAddr: 0x7E0, symBinAddr: 0xB3A0, symSize: 0x30 } + - { offsetInCU: 0x8C4, offset: 0x8218A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTo', symObjAddr: 0x830, symBinAddr: 0xB3F0, symSize: 0x80 } + - { offsetInCU: 0x928, offset: 0x821EE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTo', symObjAddr: 0x8B0, symBinAddr: 0xB470, symSize: 0x80 } + - { offsetInCU: 0x9CA, offset: 0x82290, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyFTo', symObjAddr: 0xCE0, symBinAddr: 0xB8A0, symSize: 0x30 } + - { offsetInCU: 0xAB4, offset: 0x8237A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCMa', symObjAddr: 0x660, symBinAddr: 0xB220, symSize: 0x20 } + - { offsetInCU: 0xB33, offset: 0x823F9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfETo', symObjAddr: 0xD40, symBinAddr: 0xB900, symSize: 0x60 } + - { offsetInCU: 0x1271, offset: 0x82B37, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfC', symObjAddr: 0x4D0, symBinAddr: 0xB0D0, symSize: 0x20 } + - { offsetInCU: 0x128B, offset: 0x82B51, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCACycfc', symObjAddr: 0x4F0, symBinAddr: 0xB0F0, symSize: 0x130 } + - { offsetInCU: 0x12BB, offset: 0x82B81, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC7destroyyyF', symObjAddr: 0x6A0, symBinAddr: 0xB260, symSize: 0x140 } + - { offsetInCU: 0x1474, offset: 0x82D3A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtF', symObjAddr: 0x810, symBinAddr: 0xB3D0, symSize: 0x20 } + - { offsetInCU: 0x1525, offset: 0x82DEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC13createSurfaceyyF', symObjAddr: 0x930, symBinAddr: 0xB4F0, symSize: 0x3B0 } + - { offsetInCU: 0x18BB, offset: 0x83181, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderCfD', symObjAddr: 0xD10, symBinAddr: 0xB8D0, symSize: 0x30 } + - { offsetInCU: 0x19B4, offset: 0x8327A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC10texImage2Dyys5Int32V_A4fA9NSCCanvasCAHSbtFTf4ddnndnndn_n', symObjAddr: 0xDA0, symBinAddr: 0xB960, symSize: 0x720 } + - { offsetInCU: 0x231C, offset: 0x83BE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative9NSCRenderC9drawFrame6buffer5width6height14internalFormat6format10flipYWebGLySo11CVBufferRefa_S2is5Int32VANSbtFTf4nnnnndn_n', symObjAddr: 0x1520, symBinAddr: 0xC0E0, symSize: 0x7EC } + - { offsetInCU: 0x10C, offset: 0x8478B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfcTo', symObjAddr: 0x1120, symBinAddr: 0xD9B0, symSize: 0x60 } + - { offsetInCU: 0x19C, offset: 0x8481B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCfETo', symObjAddr: 0x11A0, symBinAddr: 0xDA30, symSize: 0x20 } + - { offsetInCU: 0x1CB, offset: 0x8484A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6handleyySo19UIGestureRecognizerCFTo', symObjAddr: 0x11C0, symBinAddr: 0xDA50, symSize: 0x10 } + - { offsetInCU: 0x368, offset: 0x849E7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCACycfcTo', symObjAddr: 0x1A40, symBinAddr: 0xE2D0, symSize: 0x30 } + - { offsetInCU: 0x5E4, offset: 0x84C63, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCfETo', symObjAddr: 0x1AC0, symBinAddr: 0xE350, symSize: 0x60 } + - { offsetInCU: 0x613, offset: 0x84C92, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerCMa', symObjAddr: 0x1B20, symBinAddr: 0xE3B0, symSize: 0x20 } + - { offsetInCU: 0x627, offset: 0x84CA6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerCMa', symObjAddr: 0x1B40, symBinAddr: 0xE3D0, symSize: 0x20 } + - { offsetInCU: 0x63B, offset: 0x84CBA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwCP', symObjAddr: 0x1B60, symBinAddr: 0xE3F0, symSize: 0x30 } + - { offsetInCU: 0x64F, offset: 0x84CCE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwxx', symObjAddr: 0x1B90, symBinAddr: 0xE420, symSize: 0x10 } + - { offsetInCU: 0x663, offset: 0x84CE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwcp', symObjAddr: 0x1BA0, symBinAddr: 0xE430, symSize: 0x30 } + - { offsetInCU: 0x677, offset: 0x84CF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwca', symObjAddr: 0x1BD0, symBinAddr: 0xE460, symSize: 0x50 } + - { offsetInCU: 0x68B, offset: 0x84D0A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwta', symObjAddr: 0x1C40, symBinAddr: 0xE4B0, symSize: 0x40 } + - { offsetInCU: 0x69F, offset: 0x84D1E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwet', symObjAddr: 0x1C80, symBinAddr: 0xE4F0, symSize: 0x40 } + - { offsetInCU: 0x6B3, offset: 0x84D32, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVwst', symObjAddr: 0x1CC0, symBinAddr: 0xE530, symSize: 0x50 } + - { offsetInCU: 0x6C7, offset: 0x84D46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC7PointerVMa', symObjAddr: 0x1D10, symBinAddr: 0xE580, symSize: 0x10 } + - { offsetInCU: 0x6DB, offset: 0x84D5A, size: 0x8, addend: 0x0, symName: '_$sypSgWOc', symObjAddr: 0x1D20, symBinAddr: 0xE590, symSize: 0x40 } + - { offsetInCU: 0x6EF, offset: 0x84D6E, size: 0x8, addend: 0x0, symName: '_$sSo7UITouchCSo8NSObjectCSH10ObjectiveCWl', symObjAddr: 0x1E30, symBinAddr: 0xE5D0, symSize: 0x50 } + - { offsetInCU: 0x703, offset: 0x84D82, size: 0x8, addend: 0x0, symName: '_$sSh8IteratorV8_VariantOyx__GSHRzlWOe', symObjAddr: 0x1E80, symBinAddr: 0xE620, symSize: 0x20 } + - { offsetInCU: 0x761, offset: 0x84DE0, size: 0x8, addend: 0x0, symName: '_$sSSSo19UIGestureRecognizerCIeggg_SgWOe', symObjAddr: 0x21A0, symBinAddr: 0xE940, symSize: 0x14 } + - { offsetInCU: 0xCB4, offset: 0x85333, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesBegan_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x0, symBinAddr: 0xC8D0, symSize: 0x630 } + - { offsetInCU: 0xF39, offset: 0x855B8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC12touchesMoved_4withyShySo7UITouchCG_So7UIEventCtF', symObjAddr: 0x650, symBinAddr: 0xCF20, symSize: 0xE0 } + - { offsetInCU: 0xFB8, offset: 0x85637, size: 0x8, addend: 0x0, symName: '_$sSa6remove2atxSi_tF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x800, symBinAddr: 0xD0B0, symSize: 0xB0 } + - { offsetInCU: 0x102A, offset: 0x856A9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC22TouchGestureRecognizerC6target6actionAEypSg_10ObjectiveC8SelectorVSgtcfc', symObjAddr: 0x1030, symBinAddr: 0xD8C0, symSize: 0xF0 } + - { offsetInCU: 0x1179, offset: 0x857F8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6onMove33_044DDF836BDB3B89B481C6F58BB6EF6BLLyySo19UIGestureRecognizerC_ShySo7UITouchCGSgtF', symObjAddr: 0x1590, symBinAddr: 0xDE20, symSize: 0x4B0 } + - { offsetInCU: 0x18C2, offset: 0x85F41, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNewAByxGyF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1EA0, symBinAddr: 0xE640, symSize: 0x20 } + - { offsetInCU: 0x195A, offset: 0x85FD9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative15NSCTouchHandlerC6canvasAcA9NSCCanvasC_tcfcTf4gn_n', symObjAddr: 0x1EC0, symBinAddr: 0xE660, symSize: 0x1F0 } + - { offsetInCU: 0x27, offset: 0x861A2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xE960, symSize: 0x30 } + - { offsetInCU: 0x4B, offset: 0x861C6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvpZ', symObjAddr: 0x2A0, symBinAddr: 0x12D31C8, symSize: 0x0 } + - { offsetInCU: 0x65, offset: 0x861E0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC14FAILED_TO_LOADSSvgZTo', symObjAddr: 0x0, symBinAddr: 0xE960, symSize: 0x30 } + - { offsetInCU: 0x98, offset: 0x86213, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZTo', symObjAddr: 0x160, symBinAddr: 0xEAC0, symSize: 0x30 } + - { offsetInCU: 0x104, offset: 0x8627F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfcTo', symObjAddr: 0x200, symBinAddr: 0xEB60, symSize: 0x30 } + - { offsetInCU: 0x158, offset: 0x862D3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queue_WZ', symObjAddr: 0x30, symBinAddr: 0xE990, symSize: 0xF0 } + - { offsetInCU: 0x183, offset: 0x862FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCMa', symObjAddr: 0x1E0, symBinAddr: 0xEB40, symSize: 0x20 } + - { offsetInCU: 0x197, offset: 0x86312, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfETo', symObjAddr: 0x260, symBinAddr: 0xEBC0, symSize: 0x10 } + - { offsetInCU: 0x1C2, offset: 0x8633D, size: 0x8, addend: 0x0, symName: '_$sSo17OS_dispatch_queueCMa', symObjAddr: 0x270, symBinAddr: 0xEBD0, symSize: 0x2F } + - { offsetInCU: 0x34A, offset: 0x864C5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapC5queueSo012OS_dispatch_E0CvgZ', symObjAddr: 0x120, symBinAddr: 0xEA80, symSize: 0x40 } + - { offsetInCU: 0x38A, offset: 0x86505, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfC', symObjAddr: 0x190, symBinAddr: 0xEAF0, symSize: 0x20 } + - { offsetInCU: 0x39E, offset: 0x86519, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCACycfc', symObjAddr: 0x1B0, symBinAddr: 0xEB10, symSize: 0x30 } + - { offsetInCU: 0x3DA, offset: 0x86555, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative14NSCImageBitmapCfD', symObjAddr: 0x230, symBinAddr: 0xEB90, symSize: 0x30 } + - { offsetInCU: 0x2B, offset: 0x865A3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xEC00, symSize: 0xA0 } + - { offsetInCU: 0x66, offset: 0x865DE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZTo', symObjAddr: 0xA0, symBinAddr: 0xECA0, symSize: 0xA0 } + - { offsetInCU: 0xF9, offset: 0x86671, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZTo', symObjAddr: 0x1D0, symBinAddr: 0xEDD0, symSize: 0x100 } + - { offsetInCU: 0x1AD, offset: 0x86725, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZTo', symObjAddr: 0x300, symBinAddr: 0xEF00, symSize: 0x30 } + - { offsetInCU: 0x22D, offset: 0x867A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTo', symObjAddr: 0x340, symBinAddr: 0xEF40, symSize: 0x90 } + - { offsetInCU: 0x2A6, offset: 0x8681E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZTo', symObjAddr: 0x4E0, symBinAddr: 0xF0E0, symSize: 0x140 } + - { offsetInCU: 0x345, offset: 0x868BD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfcTo', symObjAddr: 0x670, symBinAddr: 0xF270, symSize: 0x30 } + - { offsetInCU: 0x398, offset: 0x86910, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZTf4nnnnnndd_n', symObjAddr: 0x6D0, symBinAddr: 0xF2D0, symSize: 0x170 } + - { offsetInCU: 0x50B, offset: 0x86A83, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC7getFile33_F00B23A4165DD6ABFCD23C8811C7DF43LLyS2SKFZTf4nd_g', symObjAddr: 0x840, symBinAddr: 0xF440, symSize: 0x310 } + - { offsetInCU: 0x5EA, offset: 0x86B62, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCMa', symObjAddr: 0xB50, symBinAddr: 0xF750, symSize: 0x20 } + - { offsetInCU: 0x5FE, offset: 0x86B76, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOAEs5ErrorAAWl', symObjAddr: 0xB70, symBinAddr: 0xF770, symSize: 0x30 } + - { offsetInCU: 0x612, offset: 0x86B8A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwCP', symObjAddr: 0xBA0, symBinAddr: 0xF7A0, symSize: 0x30 } + - { offsetInCU: 0x626, offset: 0x86B9E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwxx', symObjAddr: 0xBD0, symBinAddr: 0xF7D0, symSize: 0x10 } + - { offsetInCU: 0x63A, offset: 0x86BB2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwca', symObjAddr: 0xBE0, symBinAddr: 0xF7E0, symSize: 0x40 } + - { offsetInCU: 0x64E, offset: 0x86BC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwta', symObjAddr: 0xC30, symBinAddr: 0xF820, symSize: 0x30 } + - { offsetInCU: 0x662, offset: 0x86BDA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwet', symObjAddr: 0xC60, symBinAddr: 0xF850, symSize: 0x40 } + - { offsetInCU: 0x676, offset: 0x86BEE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwst', symObjAddr: 0xCA0, symBinAddr: 0xF890, symSize: 0x40 } + - { offsetInCU: 0x68A, offset: 0x86C02, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwug', symObjAddr: 0xCE0, symBinAddr: 0xF8D0, symSize: 0x10 } + - { offsetInCU: 0x69E, offset: 0x86C16, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwup', symObjAddr: 0xCF0, symBinAddr: 0xF8E0, symSize: 0x10 } + - { offsetInCU: 0x6B2, offset: 0x86C2A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOwui', symObjAddr: 0xD00, symBinAddr: 0xF8F0, symSize: 0x10 } + - { offsetInCU: 0x6C6, offset: 0x86C3E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOMa', symObjAddr: 0xD10, symBinAddr: 0xF900, symSize: 0x10 } + - { offsetInCU: 0x74E, offset: 0x86CC6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP7_domainSSvgTW', symObjAddr: 0x3D0, symBinAddr: 0xEFD0, symSize: 0x10 } + - { offsetInCU: 0x76A, offset: 0x86CE2, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP5_codeSivgTW', symObjAddr: 0x3E0, symBinAddr: 0xEFE0, symSize: 0x10 } + - { offsetInCU: 0x786, offset: 0x86CFE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP9_userInfoyXlSgvgTW', symObjAddr: 0x3F0, symBinAddr: 0xEFF0, symSize: 0x10 } + - { offsetInCU: 0x7A2, offset: 0x86D1A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC8NSCErrorOs5ErrorAAsAFP19_getEmbeddedNSErroryXlSgyFTW', symObjAddr: 0x400, symBinAddr: 0xF000, symSize: 0x10 } + - { offsetInCU: 0xA56, offset: 0x86FCE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC18createTextureCacheSo017CVOpenGLESTextureF3RefaSgyFZ', symObjAddr: 0x0, symBinAddr: 0xEC00, symSize: 0xA0 } + - { offsetInCU: 0xAEC, offset: 0x87064, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11createImageySo11CVBufferRefaSgSo022CVOpenGLESTextureCacheG0a_AFSo012CFDictionaryG0aSgs6UInt32Vs5Int32VA2p2NSitFZ', symObjAddr: 0x140, symBinAddr: 0xED40, symSize: 0x90 } + - { offsetInCU: 0xC71, offset: 0x871E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11setupRenderAA9NSCRenderCyFZ', symObjAddr: 0x2D0, symBinAddr: 0xEED0, symSize: 0x30 } + - { offsetInCU: 0xCBB, offset: 0x87233, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC9drawFrameyySo8AVPlayerC_So0F15ItemVideoOutputCSo6CGSizeVAA9NSCRenderCs5Int32VANSbtFZ', symObjAddr: 0x330, symBinAddr: 0xEF30, symSize: 0x10 } + - { offsetInCU: 0xCDD, offset: 0x87255, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsC11writeToFileyySo6NSDataC_SStKFZ', symObjAddr: 0x410, symBinAddr: 0xF010, symSize: 0xD0 } + - { offsetInCU: 0xD8D, offset: 0x87305, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfC', symObjAddr: 0x620, symBinAddr: 0xF220, symSize: 0x20 } + - { offsetInCU: 0xDA1, offset: 0x87319, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCACycfc', symObjAddr: 0x640, symBinAddr: 0xF240, symSize: 0x30 } + - { offsetInCU: 0xDD7, offset: 0x8734F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative5UtilsCfD', symObjAddr: 0x6A0, symBinAddr: 0xF2A0, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x8746F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0xF920, symSize: 0x10 } + - { offsetInCU: 0x71, offset: 0x874B9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZTo', symObjAddr: 0x10, symBinAddr: 0xF930, symSize: 0x60 } + - { offsetInCU: 0xF6, offset: 0x8753E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZTo', symObjAddr: 0x80, symBinAddr: 0xF9A0, symSize: 0x50 } + - { offsetInCU: 0x193, offset: 0x875DB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZTo', symObjAddr: 0xE0, symBinAddr: 0xFA00, symSize: 0x60 } + - { offsetInCU: 0x25C, offset: 0x876A4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZTo', symObjAddr: 0x150, symBinAddr: 0xFA70, symSize: 0x90 } + - { offsetInCU: 0x339, offset: 0x87781, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfcTo', symObjAddr: 0x230, symBinAddr: 0xFB50, symSize: 0x30 } + - { offsetInCU: 0x38D, offset: 0x877D5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCMa', symObjAddr: 0x290, symBinAddr: 0xFBB0, symSize: 0x14 } + - { offsetInCU: 0x4FD, offset: 0x87945, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC13createPatternys5Int64VAF_So7UIImageCSStFZ', symObjAddr: 0x0, symBinAddr: 0xF920, symSize: 0x10 } + - { offsetInCU: 0x5A0, offset: 0x879E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS2ftFZ', symObjAddr: 0x70, symBinAddr: 0xF990, symSize: 0x10 } + - { offsetInCU: 0x640, offset: 0x87A88, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS4ftFZ', symObjAddr: 0xD0, symBinAddr: 0xF9F0, symSize: 0x10 } + - { offsetInCU: 0x703, offset: 0x87B4B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DC9drawImageyys5Int64V_So7UIImageCS8ftFZ', symObjAddr: 0x140, symBinAddr: 0xFA60, symSize: 0x10 } + - { offsetInCU: 0x80F, offset: 0x87C57, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfC', symObjAddr: 0x1E0, symBinAddr: 0xFB00, symSize: 0x20 } + - { offsetInCU: 0x823, offset: 0x87C6B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCACycfc', symObjAddr: 0x200, symBinAddr: 0xFB20, symSize: 0x30 } + - { offsetInCU: 0x859, offset: 0x87CA1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative27NSCCanvasRenderingContext2DCfD', symObjAddr: 0x260, symBinAddr: 0xFB80, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x87CEB, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0xFBD0, symSize: 0x30 } + - { offsetInCU: 0xA9, offset: 0x87D6D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0x30, symBinAddr: 0xFC00, symSize: 0x50 } + - { offsetInCU: 0x1A6, offset: 0x87E6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZTo', symObjAddr: 0xC0, symBinAddr: 0xFC90, symSize: 0x50 } + - { offsetInCU: 0x289, offset: 0x87F4D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfcTo', symObjAddr: 0x180, symBinAddr: 0xFD50, symSize: 0x30 } + - { offsetInCU: 0x2DD, offset: 0x87FA1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCMa', symObjAddr: 0x160, symBinAddr: 0xFD30, symSize: 0x20 } + - { offsetInCU: 0x487, offset: 0x8814B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC10texImage2Dyys5Int64V_s5Int32VA4HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x0, symBinAddr: 0xFBD0, symSize: 0x30 } + - { offsetInCU: 0x5DD, offset: 0x882A1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextC13texSubImage2Dyys5Int64V_s5Int32VA5HSpys5UInt8VGSuSo6CGSizeVSbtFZ', symObjAddr: 0x80, symBinAddr: 0xFC50, symSize: 0x40 } + - { offsetInCU: 0x725, offset: 0x883E9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfC', symObjAddr: 0x110, symBinAddr: 0xFCE0, symSize: 0x20 } + - { offsetInCU: 0x739, offset: 0x883FD, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCACycfc', symObjAddr: 0x130, symBinAddr: 0xFD00, symSize: 0x30 } + - { offsetInCU: 0x76F, offset: 0x88433, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative24NSCWebGLRenderingContextCfD', symObjAddr: 0x1B0, symBinAddr: 0xFD80, symSize: 0x2B } + - { offsetInCU: 0x61, offset: 0x884B7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvgTo', symObjAddr: 0x10, symBinAddr: 0xFDC0, symSize: 0x20 } + - { offsetInCU: 0xB7, offset: 0x8850D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7isDirtySbvsTo', symObjAddr: 0x30, symBinAddr: 0xFDE0, symSize: 0x10 } + - { offsetInCU: 0x110, offset: 0x88566, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvgTo', symObjAddr: 0x40, symBinAddr: 0xFDF0, symSize: 0x40 } + - { offsetInCU: 0x168, offset: 0x885BE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvsTo', symObjAddr: 0xC0, symBinAddr: 0xFE70, symSize: 0x40 } + - { offsetInCU: 0x1C3, offset: 0x88619, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvgTo', symObjAddr: 0x100, symBinAddr: 0xFEB0, symSize: 0x10 } + - { offsetInCU: 0x219, offset: 0x8866F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC3fbos6UInt32VvsTo', symObjAddr: 0x110, symBinAddr: 0xFEC0, symSize: 0x10 } + - { offsetInCU: 0x272, offset: 0x886C8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfcTo', symObjAddr: 0x1C0, symBinAddr: 0xFF70, symSize: 0x80 } + - { offsetInCU: 0x2CA, offset: 0x88720, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0x300, symBinAddr: 0x100B0, symSize: 0xA0 } + - { offsetInCU: 0x32C, offset: 0x88782, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x470, symBinAddr: 0x10220, symSize: 0x30 } + - { offsetInCU: 0x35E, offset: 0x887B4, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC12bindDrawableyyFTo', symObjAddr: 0x520, symBinAddr: 0x10250, symSize: 0xA0 } + - { offsetInCU: 0x3DF, offset: 0x88835, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC14deleteDrawableyyFTo', symObjAddr: 0x600, symBinAddr: 0x102F0, symSize: 0x60 } + - { offsetInCU: 0x44F, offset: 0x888A5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTo', symObjAddr: 0x670, symBinAddr: 0x10360, symSize: 0x50 } + - { offsetInCU: 0x4C1, offset: 0x88917, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfcTo', symObjAddr: 0x780, symBinAddr: 0x10470, symSize: 0x30 } + - { offsetInCU: 0x535, offset: 0x8898B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCMa', symObjAddr: 0x1A0, symBinAddr: 0xFF50, symSize: 0x20 } + - { offsetInCU: 0x55F, offset: 0x889B5, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCfETo', symObjAddr: 0x7D0, symBinAddr: 0x104C0, symSize: 0x20 } + - { offsetInCU: 0x65D, offset: 0x88AB3, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VFTo', symObjAddr: 0xAF0, symBinAddr: 0x107E0, symSize: 0x80 } + - { offsetInCU: 0x69B, offset: 0x88AF1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvgTo', symObjAddr: 0xB70, symBinAddr: 0x10860, symSize: 0x20 } + - { offsetInCU: 0x6F1, offset: 0x88B47, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC7isDirtySbvsTo', symObjAddr: 0xB90, symBinAddr: 0x10880, symSize: 0x10 } + - { offsetInCU: 0x74A, offset: 0x88BA0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvgTo', symObjAddr: 0xBA0, symBinAddr: 0x10890, symSize: 0x20 } + - { offsetInCU: 0x7A2, offset: 0x88BF8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC8rendererAA9NSCCanvasCSgvsTo', symObjAddr: 0xBC0, symBinAddr: 0x108B0, symSize: 0x20 } + - { offsetInCU: 0x7FD, offset: 0x88C53, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvgTo', symObjAddr: 0xBE0, symBinAddr: 0x108D0, symSize: 0x40 } + - { offsetInCU: 0x853, offset: 0x88CA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvsTo', symObjAddr: 0xC50, symBinAddr: 0x10940, symSize: 0x40 } + - { offsetInCU: 0x8E6, offset: 0x88D3C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfcTo', symObjAddr: 0xDC0, symBinAddr: 0x10AB0, symSize: 0x80 } + - { offsetInCU: 0x93E, offset: 0x88D94, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfcTo', symObjAddr: 0xF90, symBinAddr: 0x10C80, symSize: 0xA0 } + - { offsetInCU: 0x9A0, offset: 0x88DF6, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfcTo', symObjAddr: 0x10E0, symBinAddr: 0x10DD0, symSize: 0x30 } + - { offsetInCU: 0x9D2, offset: 0x88E28, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC11deviceScaleSfyFTo', symObjAddr: 0x1110, symBinAddr: 0x10E00, symSize: 0xB0 } + - { offsetInCU: 0xA53, offset: 0x88EA9, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTo', symObjAddr: 0x11D0, symBinAddr: 0x10EB0, symSize: 0x30 } + - { offsetInCU: 0xAB1, offset: 0x88F07, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCfETo', symObjAddr: 0x1250, symBinAddr: 0x10F30, symSize: 0x20 } + - { offsetInCU: 0xC63, offset: 0x890B9, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfC12CanvasNative15NSCTouchHandlerC7PointerV_Tgm5', symObjAddr: 0x1470, symBinAddr: 0x110A0, symSize: 0x80 } + - { offsetInCU: 0xCE6, offset: 0x8913C, size: 0x8, addend: 0x0, symName: '_$ss22_ContiguousArrayBufferV19_uninitializedCount15minimumCapacityAByxGSi_SitcfCs5UInt8V_Tgm5', symObjAddr: 0x1570, symBinAddr: 0x11120, symSize: 0x70 } + - { offsetInCU: 0xD6A, offset: 0x891C0, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOy', symObjAddr: 0x1750, symBinAddr: 0x11300, symSize: 0x40 } + - { offsetInCU: 0xD7E, offset: 0x891D4, size: 0x8, addend: 0x0, symName: '_$s10Foundation4DataV15_RepresentationOWOe', symObjAddr: 0x1790, symBinAddr: 0x11340, symSize: 0x40 } + - { offsetInCU: 0xD92, offset: 0x891E8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCMa', symObjAddr: 0x17D0, symBinAddr: 0x11380, symSize: 0x20 } + - { offsetInCU: 0xE6C, offset: 0x892C2, size: 0x8, addend: 0x0, symName: '_$sSaySayxGqd__c7ElementQyd__RszSTRd__lufCs5UInt8V_10Foundation4DataVTgm5Tf4g_n', symObjAddr: 0x1650, symBinAddr: 0x11200, symSize: 0x100 } + - { offsetInCU: 0x112B, offset: 0x89581, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC6canvasAA9NSCCanvasCSgvg', symObjAddr: 0x80, symBinAddr: 0xFE30, symSize: 0x40 } + - { offsetInCU: 0x11A8, offset: 0x895FE, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewCACycfc', symObjAddr: 0x120, symBinAddr: 0xFED0, symSize: 0x80 } + - { offsetInCU: 0x11EF, offset: 0x89645, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0x240, symBinAddr: 0xFFF0, symSize: 0xC0 } + - { offsetInCU: 0x1251, offset: 0x896A7, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x3A0, symBinAddr: 0x10150, symSize: 0xD0 } + - { offsetInCU: 0x12DA, offset: 0x89730, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtF', symObjAddr: 0x660, symBinAddr: 0x10350, symSize: 0x10 } + - { offsetInCU: 0x12FB, offset: 0x89751, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfC', symObjAddr: 0x6C0, symBinAddr: 0x103B0, symSize: 0x90 } + - { offsetInCU: 0x130F, offset: 0x89765, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC5frame7contextACSo6CGRectV_So11EAGLContextCtcfc', symObjAddr: 0x750, symBinAddr: 0x10440, symSize: 0x30 } + - { offsetInCU: 0x1428, offset: 0x8987E, size: 0x8, addend: 0x0, symName: '_$sSo7GLKViewC12CanvasNativeE16snapshotWithDatayy10Foundation0F0VF', symObjAddr: 0x7F0, symBinAddr: 0x104E0, symSize: 0x300 } + - { offsetInCU: 0x17D2, offset: 0x89C28, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvg', symObjAddr: 0xC20, symBinAddr: 0x10910, symSize: 0x30 } + - { offsetInCU: 0x180F, offset: 0x89C65, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvs', symObjAddr: 0xC90, symBinAddr: 0x10980, symSize: 0x40 } + - { offsetInCU: 0x1836, offset: 0x89C8C, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM', symObjAddr: 0xCD0, symBinAddr: 0x109C0, symSize: 0x40 } + - { offsetInCU: 0x185B, offset: 0x89CB1, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC18ignorePixelScalingSbvM.resume.0', symObjAddr: 0xD10, symBinAddr: 0x10A00, symSize: 0x10 } + - { offsetInCU: 0x1882, offset: 0x89CD8, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfC', symObjAddr: 0xD20, symBinAddr: 0x10A10, symSize: 0x20 } + - { offsetInCU: 0x1896, offset: 0x89CEC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewCACycfc', symObjAddr: 0xD40, symBinAddr: 0x10A30, symSize: 0x80 } + - { offsetInCU: 0x18DD, offset: 0x89D33, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5frameACSo6CGRectV_tcfc', symObjAddr: 0xED0, symBinAddr: 0x10BC0, symSize: 0xC0 } + - { offsetInCU: 0x193A, offset: 0x89D90, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC5coderACSgSo7NSCoderC_tcfc', symObjAddr: 0x1030, symBinAddr: 0x10D20, symSize: 0xB0 } + - { offsetInCU: 0x19D6, offset: 0x89E2C, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtF12CanvasNative15NSCTouchHandlerC7PointerV_Tg5', symObjAddr: 0x1270, symBinAddr: 0x10F50, symSize: 0xB0 } + - { offsetInCU: 0x1AB8, offset: 0x89F0E, size: 0x8, addend: 0x0, symName: '_$ss12_ArrayBufferV20_consumeAndCreateNew14bufferIsUnique15minimumCapacity13growForAppendAByxGSb_SiSbtFs5UInt8V_Tg5', symObjAddr: 0x13D0, symBinAddr: 0x11000, symSize: 0xA0 } + - { offsetInCU: 0x1BC4, offset: 0x8A01A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7GLKViewC7glkView_6drawInySo0C0C_So6CGRectVtFTf4ddn_n', symObjAddr: 0x15E0, symBinAddr: 0x11190, symSize: 0x70 } + - { offsetInCU: 0x1CBF, offset: 0x8A115, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative0A7CPUViewC4drawyySo6CGRectVFTf4dn_n', symObjAddr: 0x17F0, symBinAddr: 0x113A0, symSize: 0x410 } + - { offsetInCU: 0x4F, offset: 0x8A52D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LLSo012OS_dispatch_E0CvpZ', symObjAddr: 0x980, symBinAddr: 0x12D3310, symSize: 0x0 } + - { offsetInCU: 0x5D, offset: 0x8A53B, size: 0x8, addend: 0x0, symName: '_$sIegh_IeyBh_TR', symObjAddr: 0x0, symBinAddr: 0x119A0, symSize: 0x30 } + - { offsetInCU: 0x75, offset: 0x8A553, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC5queue33_7ED578B0ED4B2B6F6887A622A7B49AA3LL_WZ', symObjAddr: 0x30, symBinAddr: 0x119D0, symSize: 0xF0 } + - { offsetInCU: 0xBC, offset: 0x8A59A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZTo', symObjAddr: 0x130, symBinAddr: 0x11AD0, symSize: 0x40 } + - { offsetInCU: 0x130, offset: 0x8A60E, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTo', symObjAddr: 0x3C0, symBinAddr: 0x11D60, symSize: 0x80 } + - { offsetInCU: 0x18F, offset: 0x8A66D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfcTo', symObjAddr: 0x490, symBinAddr: 0x11E30, symSize: 0x30 } + - { offsetInCU: 0x1E2, offset: 0x8A6C0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZTf4nnnd_n', symObjAddr: 0x500, symBinAddr: 0x11EA0, symSize: 0x200 } + - { offsetInCU: 0x261, offset: 0x8A73F, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfETo', symObjAddr: 0x4F0, symBinAddr: 0x11E90, symSize: 0x10 } + - { offsetInCU: 0x29D, offset: 0x8A77B, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCMa', symObjAddr: 0x700, symBinAddr: 0x120A0, symSize: 0x20 } + - { offsetInCU: 0x2BC, offset: 0x8A79A, size: 0x8, addend: 0x0, symName: '_$s10ObjectiveC8ObjCBoolVIeyBy_SbIegy_TRTA', symObjAddr: 0x740, symBinAddr: 0x120E0, symSize: 0x20 } + - { offsetInCU: 0x2E5, offset: 0x8A7C3, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_TA', symObjAddr: 0x790, symBinAddr: 0x12130, symSize: 0x20 } + - { offsetInCU: 0x2F9, offset: 0x8A7D7, size: 0x8, addend: 0x0, symName: _block_copy_helper, symObjAddr: 0x7B0, symBinAddr: 0x12150, symSize: 0x20 } + - { offsetInCU: 0x30D, offset: 0x8A7EB, size: 0x8, addend: 0x0, symName: _block_destroy_helper, symObjAddr: 0x7D0, symBinAddr: 0x12170, symSize: 0x10 } + - { offsetInCU: 0x321, offset: 0x8A7FF, size: 0x8, addend: 0x0, symName: '_$sSay8Dispatch0A13WorkItemFlagsVGMa', symObjAddr: 0x850, symBinAddr: 0x121B0, symSize: 0x50 } + - { offsetInCU: 0x335, offset: 0x8A813, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU0_TA', symObjAddr: 0x8D0, symBinAddr: 0x12200, symSize: 0x20 } + - { offsetInCU: 0x369, offset: 0x8A847, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_yyScMYccfU_TA', symObjAddr: 0x910, symBinAddr: 0x12240, symSize: 0x20 } + - { offsetInCU: 0x4FE, offset: 0x8A9DC, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF4SyncySbs5Int64V_So7UIImageCtFZ', symObjAddr: 0x120, symBinAddr: 0x11AC0, symSize: 0x10 } + - { offsetInCU: 0x58B, offset: 0x8AA69, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZ', symObjAddr: 0x170, symBinAddr: 0x11B10, symSize: 0x10 } + - { offsetInCU: 0x59F, offset: 0x8AA7D, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetC013loadImageFromF0yys5Int64V_So7UIImageCySbctFZyyYbcfU_', symObjAddr: 0x180, symBinAddr: 0x11B20, symSize: 0x240 } + - { offsetInCU: 0x678, offset: 0x8AB56, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfC', symObjAddr: 0x440, symBinAddr: 0x11DE0, symSize: 0x20 } + - { offsetInCU: 0x68C, offset: 0x8AB6A, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCACycfc', symObjAddr: 0x460, symBinAddr: 0x11E00, symSize: 0x30 } + - { offsetInCU: 0x6C2, offset: 0x8ABA0, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative13NSCImageAssetCfD', symObjAddr: 0x4C0, symBinAddr: 0x11E60, symSize: 0x30 } + - { offsetInCU: 0x27, offset: 0x8AC46, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x122B0, symSize: 0x20 } + - { offsetInCU: 0x77, offset: 0x8AC96, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfcTo', symObjAddr: 0x70, symBinAddr: 0x12320, symSize: 0x30 } + - { offsetInCU: 0xCB, offset: 0x8ACEA, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCMa', symObjAddr: 0x50, symBinAddr: 0x12300, symSize: 0x20 } + - { offsetInCU: 0x216, offset: 0x8AE35, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfC', symObjAddr: 0x0, symBinAddr: 0x122B0, symSize: 0x20 } + - { offsetInCU: 0x22A, offset: 0x8AE49, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCACycfc', symObjAddr: 0x20, symBinAddr: 0x122D0, symSize: 0x30 } + - { offsetInCU: 0x266, offset: 0x8AE85, size: 0x8, addend: 0x0, symName: '_$s12CanvasNative25NSCCanvasRenderingContextCfD', symObjAddr: 0xA0, symBinAddr: 0x12350, symSize: 0x2B } + - { offsetInCU: 0x26, offset: 0x8AECE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x348B60, symSize: 0x3990 } + - { offsetInCU: 0x40, offset: 0x8AEE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_k25519Precomp, symObjAddr: 0xEEC0, symBinAddr: 0xAD3690, symSize: 0x0 } + - { offsetInCU: 0x92, offset: 0x8AF3A, size: 0x8, addend: 0x0, symName: _d, symObjAddr: 0x14EC0, symBinAddr: 0xAD9690, symSize: 0x0 } + - { offsetInCU: 0xF6, offset: 0x8AF9E, size: 0x8, addend: 0x0, symName: _sqrtm1, symObjAddr: 0x14EE8, symBinAddr: 0xAD96B8, symSize: 0x0 } + - { offsetInCU: 0x10C, offset: 0x8AFB4, size: 0x8, addend: 0x0, symName: _d2, symObjAddr: 0x152F0, symBinAddr: 0xAD9AC0, symSize: 0x0 } + - { offsetInCU: 0x123, offset: 0x8AFCB, size: 0x8, addend: 0x0, symName: _Bi, symObjAddr: 0x14F30, symBinAddr: 0xAD9700, symSize: 0x0 } + - { offsetInCU: 0xE22, offset: 0x8BCCA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_frombytes_vartime, symObjAddr: 0x0, symBinAddr: 0x348B60, symSize: 0x3990 } + - { offsetInCU: 0x4DAE, offset: 0x8FC56, size: 0x8, addend: 0x0, symName: _fe_mul_impl, symObjAddr: 0xE6E0, symBinAddr: 0x357240, symSize: 0x3E0 } + - { offsetInCU: 0x4FF1, offset: 0x8FE99, size: 0x8, addend: 0x0, symName: _fe_tobytes, symObjAddr: 0x7C20, symBinAddr: 0x350780, symSize: 0x270 } + - { offsetInCU: 0x582C, offset: 0x906D4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base, symObjAddr: 0x3990, symBinAddr: 0x34C4F0, symSize: 0xA10 } + - { offsetInCU: 0x684B, offset: 0x916F3, size: 0x8, addend: 0x0, symName: _table_select, symObjAddr: 0x43A0, symBinAddr: 0x34CF00, symSize: 0xA10 } + - { offsetInCU: 0x6EE9, offset: 0x91D91, size: 0x8, addend: 0x0, symName: _ge_madd, symObjAddr: 0x4DB0, symBinAddr: 0x34D910, symSize: 0x2B0 } + - { offsetInCU: 0x74BC, offset: 0x92364, size: 0x8, addend: 0x0, symName: _ge_p2_dbl, symObjAddr: 0x5060, symBinAddr: 0x34DBC0, symSize: 0xCD0 } + - { offsetInCU: 0x83FE, offset: 0x932A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_reduce, symObjAddr: 0x5D30, symBinAddr: 0x34E890, symSize: 0xB40 } + - { offsetInCU: 0x8F67, offset: 0x93E0F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_generic_masked, symObjAddr: 0x6870, symBinAddr: 0x34F3D0, symSize: 0x13B0 } + - { offsetInCU: 0xA567, offset: 0x9540F, size: 0x8, addend: 0x0, symName: _fe_loose_invert, symObjAddr: 0x7FF0, symBinAddr: 0x350B50, symSize: 0x2A30 } + - { offsetInCU: 0xDC6D, offset: 0x98B15, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_public_from_private_generic_masked, symObjAddr: 0x7E90, symBinAddr: 0x3509F0, symSize: 0x160 } + - { offsetInCU: 0xDEE7, offset: 0x98D8F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_invert, symObjAddr: 0xAA20, symBinAddr: 0x353580, symSize: 0x30 } + - { offsetInCU: 0xDFDC, offset: 0x98E84, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_isnegative, symObjAddr: 0xAA50, symBinAddr: 0x3535B0, symSize: 0x50 } + - { offsetInCU: 0xE051, offset: 0x98EF9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_mul_ttt, symObjAddr: 0xAAA0, symBinAddr: 0x353600, symSize: 0x10 } + - { offsetInCU: 0xE0EC, offset: 0x98F94, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_neg, symObjAddr: 0xAAB0, symBinAddr: 0x353610, symSize: 0xB0 } + - { offsetInCU: 0xE217, offset: 0x990BF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_fe_tobytes, symObjAddr: 0xAB60, symBinAddr: 0x3536C0, symSize: 0x10 } + - { offsetInCU: 0xE4E9, offset: 0x99391, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_double_scalarmult_vartime, symObjAddr: 0xAB70, symBinAddr: 0x3536D0, symSize: 0x21A0 } + - { offsetInCU: 0x1118F, offset: 0x9C037, size: 0x8, addend: 0x0, symName: _x25519_ge_add, symObjAddr: 0xEAC0, symBinAddr: 0x357620, symSize: 0x2D1 } + - { offsetInCU: 0x117CF, offset: 0x9C677, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_mask, symObjAddr: 0xCD10, symBinAddr: 0x355870, symSize: 0x20 } + - { offsetInCU: 0x11C6C, offset: 0x9CB14, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_sc_muladd, symObjAddr: 0xCD30, symBinAddr: 0x355890, symSize: 0x19B0 } + - { offsetInCU: 0x26, offset: 0x9DBC4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x357900, symSize: 0x800 } + - { offsetInCU: 0x41, offset: 0x9DBDF, size: 0x8, addend: 0x0, symName: _aes_nohw_rcon, symObjAddr: 0x1B10, symBinAddr: 0xAD9BA0, symSize: 0x0 } + - { offsetInCU: 0x484, offset: 0x9E022, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_set_encrypt_key, symObjAddr: 0x0, symBinAddr: 0x357900, symSize: 0x800 } + - { offsetInCU: 0x1B2B, offset: 0x9F6C9, size: 0x8, addend: 0x0, symName: _aes_nohw_sub_bytes, symObjAddr: 0x15F0, symBinAddr: 0x358EF0, symSize: 0x300 } + - { offsetInCU: 0x32EE, offset: 0xA0E8C, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_encrypt, symObjAddr: 0x800, symBinAddr: 0x358100, symSize: 0x80 } + - { offsetInCU: 0x33DC, offset: 0xA0F7A, size: 0x8, addend: 0x0, symName: _aes_nohw_expand_round_keys, symObjAddr: 0x880, symBinAddr: 0x358180, symSize: 0x1A0 } + - { offsetInCU: 0x386D, offset: 0xA140B, size: 0x8, addend: 0x0, symName: _aes_nohw_to_batch, symObjAddr: 0xA20, symBinAddr: 0x358320, symSize: 0x420 } + - { offsetInCU: 0x3D7D, offset: 0xA191B, size: 0x8, addend: 0x0, symName: _aes_nohw_encrypt_batch, symObjAddr: 0xE40, symBinAddr: 0x358740, symSize: 0x380 } + - { offsetInCU: 0x424C, offset: 0xA1DEA, size: 0x8, addend: 0x0, symName: _aes_nohw_from_batch, symObjAddr: 0x11C0, symBinAddr: 0x358AC0, symSize: 0x250 } + - { offsetInCU: 0x498D, offset: 0xA252B, size: 0x8, addend: 0x0, symName: _aes_nohw_shift_rows, symObjAddr: 0x18F0, symBinAddr: 0x3591F0, symSize: 0x149 } + - { offsetInCU: 0x4BF9, offset: 0xA2797, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_nohw_ctr32_encrypt_blocks, symObjAddr: 0x1410, symBinAddr: 0x358D10, symSize: 0x1E0 } + - { offsetInCU: 0x26, offset: 0xA2BB8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x359340, symSize: 0x2DC } + - { offsetInCU: 0x1D2, offset: 0xA2D64, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_from_montgomery_in_place, symObjAddr: 0x0, symBinAddr: 0x359340, symSize: 0x2DC } + - { offsetInCU: 0x26, offset: 0xA2FBD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x359620, symSize: 0x87 } + - { offsetInCU: 0x34, offset: 0xA2FCB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_neg_inv_mod_r_u64, symObjAddr: 0x0, symBinAddr: 0x359620, symSize: 0x87 } + - { offsetInCU: 0x26, offset: 0xA30DB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x3596B0, symSize: 0x46 } + - { offsetInCU: 0x34, offset: 0xA30E9, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_little_endian_bytes_from_scalar, symObjAddr: 0x0, symBinAddr: 0x3596B0, symSize: 0x46 } + - { offsetInCU: 0x86, offset: 0xA324C, size: 0x8, addend: 0x0, symName: _Q_N0, symObjAddr: 0x15F0, symBinAddr: 0xAD9C20, symSize: 0x0 } + - { offsetInCU: 0xB8, offset: 0xA327E, size: 0x8, addend: 0x0, symName: _Q, symObjAddr: 0x1580, symBinAddr: 0xAD9BB0, symSize: 0x0 } + - { offsetInCU: 0xDA, offset: 0xA32A0, size: 0x8, addend: 0x0, symName: _N, symObjAddr: 0x15B0, symBinAddr: 0xAD9BE0, symSize: 0x0 } + - { offsetInCU: 0xF0, offset: 0xA32B6, size: 0x8, addend: 0x0, symName: _N_N0, symObjAddr: 0x15E0, symBinAddr: 0xAD9C10, symSize: 0x0 } + - { offsetInCU: 0x3B7, offset: 0xA357D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_elem_mul_mont, symObjAddr: 0x150, symBinAddr: 0x359700, symSize: 0x20 } + - { offsetInCU: 0x594, offset: 0xA375A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_scalar_mul_mont, symObjAddr: 0x250, symBinAddr: 0x359720, symSize: 0x20 } + - { offsetInCU: 0x63F, offset: 0xA3805, size: 0x8, addend: 0x0, symName: _nistz384_point_double, symObjAddr: 0x340, symBinAddr: 0x359740, symSize: 0x3A0 } + - { offsetInCU: 0x11A7, offset: 0xA436D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_add, symObjAddr: 0x6E0, symBinAddr: 0x359AE0, symSize: 0x140 } + - { offsetInCU: 0x14A2, offset: 0xA4668, size: 0x8, addend: 0x0, symName: _nistz384_point_add, symObjAddr: 0x820, symBinAddr: 0x359C20, symSize: 0x6B0 } + - { offsetInCU: 0x26DA, offset: 0xA58A0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p384_point_mul, symObjAddr: 0xED0, symBinAddr: 0x35A2D0, symSize: 0x380 } + - { offsetInCU: 0x2D37, offset: 0xA5EFD, size: 0x8, addend: 0x0, symName: _p384_point_select_w5, symObjAddr: 0x1250, symBinAddr: 0x35A650, symSize: 0x170 } + - { offsetInCU: 0x2F2F, offset: 0xA60F5, size: 0x8, addend: 0x0, symName: _add_precomputed_w5, symObjAddr: 0x13C0, symBinAddr: 0x35A7C0, symSize: 0x1BF } + - { offsetInCU: 0x26, offset: 0xA6440, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x35A980, symSize: 0x50 } + - { offsetInCU: 0xFA, offset: 0xA6514, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_zero, symObjAddr: 0x0, symBinAddr: 0x35A980, symSize: 0x50 } + - { offsetInCU: 0x18D, offset: 0xA65A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal, symObjAddr: 0x50, symBinAddr: 0x35A9D0, symSize: 0x60 } + - { offsetInCU: 0x2F1, offset: 0xA670B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_equal_limb, symObjAddr: 0xB0, symBinAddr: 0x35AA30, symSize: 0x90 } + - { offsetInCU: 0x4C6, offset: 0xA68E0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_are_even, symObjAddr: 0x140, symBinAddr: 0x35AAC0, symSize: 0x20 } + - { offsetInCU: 0x5E3, offset: 0xA69FD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than, symObjAddr: 0x160, symBinAddr: 0x35AAE0, symSize: 0xB0 } + - { offsetInCU: 0x696, offset: 0xA6AB0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_less_than_limb, symObjAddr: 0x210, symBinAddr: 0x35AB90, symSize: 0x70 } + - { offsetInCU: 0x861, offset: 0xA6C7B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_reduce_once, symObjAddr: 0x280, symBinAddr: 0x35AC00, symSize: 0x170 } + - { offsetInCU: 0xB67, offset: 0xA6F81, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_add_mod, symObjAddr: 0x3F0, symBinAddr: 0x35AD70, symSize: 0x270 } + - { offsetInCU: 0xE6A, offset: 0xA7284, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_sub_mod, symObjAddr: 0x660, symBinAddr: 0x35AFE0, symSize: 0x1A0 } + - { offsetInCU: 0x105D, offset: 0xA7477, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_shl_mod, symObjAddr: 0x800, symBinAddr: 0x35B180, symSize: 0x280 } + - { offsetInCU: 0x128C, offset: 0xA76A6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_split_window, symObjAddr: 0xC20, symBinAddr: 0x35B400, symSize: 0x20 } + - { offsetInCU: 0x12F3, offset: 0xA770D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMBS_window5_unsplit_window, symObjAddr: 0xC40, symBinAddr: 0x35B420, symSize: 0x20 } + - { offsetInCU: 0x132A, offset: 0xA7744, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_LIMB_shr, symObjAddr: 0xC60, symBinAddr: 0x35B440, symSize: 0x10 } + - { offsetInCU: 0x13AC, offset: 0xA77C6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_limbs_mul_add_limb, symObjAddr: 0xC70, symBinAddr: 0x35B450, symSize: 0x4A } + - { offsetInCU: 0x26, offset: 0xA7952, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x35B4A0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xA7960, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_memcmp, symObjAddr: 0x0, symBinAddr: 0x35B4A0, symSize: 0x129 } + - { offsetInCU: 0x34, offset: 0xA7A62, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_ia32cap_P, symObjAddr: 0x3F0, symBinAddr: 0x12DA4F0, symSize: 0x0 } + - { offsetInCU: 0x26, offset: 0xA7AB7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0x35B5D0, symSize: 0xF8 } + - { offsetInCU: 0xD5, offset: 0xA7B66, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_OPENSSL_cpuid_setup, symObjAddr: 0x0, symBinAddr: 0x35B5D0, symSize: 0xF8 } + - { offsetInCU: 0x26, offset: 0xA7CBB, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0x35B6D0, symSize: 0x1210 } + - { offsetInCU: 0x92E, offset: 0xA85C3, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_scalar_mult_adx, symObjAddr: 0x0, symBinAddr: 0x35B6D0, symSize: 0x1210 } + - { offsetInCU: 0x5347, offset: 0xACFDC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_x25519_ge_scalarmult_base_adx, symObjAddr: 0x1210, symBinAddr: 0x35C8E0, symSize: 0x1E50 } + - { offsetInCU: 0x9B2F, offset: 0xB17C4, size: 0x8, addend: 0x0, symName: _inline_x25519_ge_dbl_4, symObjAddr: 0x3060, symBinAddr: 0x35E730, symSize: 0x361 } + - { offsetInCU: 0x26, offset: 0xB2BB1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0x35EAA0, symSize: 0xD0 } + - { offsetInCU: 0x303, offset: 0xB2E8E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_init, symObjAddr: 0x0, symBinAddr: 0x35EAA0, symSize: 0xD0 } + - { offsetInCU: 0x5A4, offset: 0xB312F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_update, symObjAddr: 0xD0, symBinAddr: 0x35EB70, symSize: 0x1C0 } + - { offsetInCU: 0x764, offset: 0xB32EF, size: 0x8, addend: 0x0, symName: _poly1305_blocks, symObjAddr: 0x5F0, symBinAddr: 0x35F090, symSize: 0x780 } + - { offsetInCU: 0x903, offset: 0xB348E, size: 0x8, addend: 0x0, symName: _poly1305_first_block, symObjAddr: 0x290, symBinAddr: 0x35ED30, symSize: 0x360 } + - { offsetInCU: 0xEFC, offset: 0xB3A87, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_CRYPTO_poly1305_finish, symObjAddr: 0xD70, symBinAddr: 0x35F810, symSize: 0xAA2 } + - { offsetInCU: 0x10, offset: 0xB4210, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0x3602B2, symSize: 0x2AF } + - { offsetInCU: 0x51, offset: 0xB4251, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_mul, symObjAddr: 0x0, symBinAddr: 0x3602B2, symSize: 0x2AF } + - { offsetInCU: 0x10, offset: 0xB4246, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0x360561, symSize: 0x1F4 } + - { offsetInCU: 0x54, offset: 0xB428A, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_fiat_curve25519_adx_square, symObjAddr: 0x0, symBinAddr: 0x360561, symSize: 0x1F4 } + - { offsetInCU: 0x26, offset: 0xB4292, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x360760, symSize: 0x490 } + - { offsetInCU: 0x76, offset: 0xB42E2, size: 0x8, addend: 0x0, symName: _ecp_nistz256_precomputed, symObjAddr: 0x1000, symBinAddr: 0xADA000, symSize: 0x0 } + - { offsetInCU: 0xFA, offset: 0xB4366, size: 0x8, addend: 0x0, symName: _ONE, symObjAddr: 0x26000, symBinAddr: 0xAFF000, symSize: 0x0 } + - { offsetInCU: 0x35B, offset: 0xB45C7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul, symObjAddr: 0x0, symBinAddr: 0x360760, symSize: 0x490 } + - { offsetInCU: 0xC5A, offset: 0xB4EC6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base, symObjAddr: 0x490, symBinAddr: 0x360BF0, symSize: 0x300 } + - { offsetInCU: 0x1135, offset: 0xB53A1, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_mul_base_vartime, symObjAddr: 0x790, symBinAddr: 0x360EF0, symSize: 0x25D } + - { offsetInCU: 0x10, offset: 0xB5766, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x361180, symSize: 0x3A0 } + - { offsetInCU: 0x48, offset: 0xB579E, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ChaCha20_ctr32, symObjAddr: 0x0, symBinAddr: 0x361180, symSize: 0x3A0 } + - { offsetInCU: 0x4D, offset: 0xB57A3, size: 0x8, addend: 0x0, symName: ChaCha20_ssse3, symObjAddr: 0x3A0, symBinAddr: 0x361520, symSize: 0x220 } + - { offsetInCU: 0x60, offset: 0xB57B6, size: 0x8, addend: 0x0, symName: ChaCha20_4x, symObjAddr: 0x5C0, symBinAddr: 0x361740, symSize: 0xA20 } + - { offsetInCU: 0x76, offset: 0xB57CC, size: 0x8, addend: 0x0, symName: ChaCha20_8x, symObjAddr: 0xFE0, symBinAddr: 0x362160, symSize: 0xB4C } + - { offsetInCU: 0x10, offset: 0xB57DE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0x362CC0, symSize: 0x40 } + - { offsetInCU: 0x48, offset: 0xB5816, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_encrypt, symObjAddr: 0x0, symBinAddr: 0x362CC0, symSize: 0x40 } + - { offsetInCU: 0x4D, offset: 0xB581B, size: 0x8, addend: 0x0, symName: _aesni_encrypt2, symObjAddr: 0x40, symBinAddr: 0x362D00, symSize: 0x60 } + - { offsetInCU: 0x63, offset: 0xB5831, size: 0x8, addend: 0x0, symName: _aesni_encrypt3, symObjAddr: 0xA0, symBinAddr: 0x362D60, symSize: 0x70 } + - { offsetInCU: 0x79, offset: 0xB5847, size: 0x8, addend: 0x0, symName: _aesni_encrypt4, symObjAddr: 0x110, symBinAddr: 0x362DD0, symSize: 0x90 } + - { offsetInCU: 0x8F, offset: 0xB585D, size: 0x8, addend: 0x0, symName: _aesni_encrypt6, symObjAddr: 0x1A0, symBinAddr: 0x362E60, symSize: 0xE0 } + - { offsetInCU: 0xA5, offset: 0xB5873, size: 0x8, addend: 0x0, symName: _aesni_encrypt8, symObjAddr: 0x280, symBinAddr: 0x362F40, symSize: 0x110 } + - { offsetInCU: 0xD9, offset: 0xB58A7, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aes_hw_ctr32_encrypt_blocks, symObjAddr: 0x390, symBinAddr: 0x363050, symSize: 0x940 } + - { offsetInCU: 0xEA, offset: 0xB58B8, size: 0x8, addend: 0x0, symName: __aesni_set_encrypt_key, symObjAddr: 0xCD0, symBinAddr: 0x363990, symSize: 0x44D } + - { offsetInCU: 0x10, offset: 0xB58AE, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0x363DE0, symSize: 0x160 } + - { offsetInCU: 0x3B, offset: 0xB58D9, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core, symObjAddr: 0x0, symBinAddr: 0x363DE0, symSize: 0x160 } + - { offsetInCU: 0x54, offset: 0xB58F2, size: 0x8, addend: 0x0, symName: _vpaes_encrypt_core_2x, symObjAddr: 0x160, symBinAddr: 0x363F40, symSize: 0x290 } + - { offsetInCU: 0x68, offset: 0xB5906, size: 0x8, addend: 0x0, symName: _vpaes_schedule_core, symObjAddr: 0x3F0, symBinAddr: 0x3641D0, symSize: 0xF0 } + - { offsetInCU: 0x7F, offset: 0xB591D, size: 0x8, addend: 0x0, symName: _vpaes_schedule_round, symObjAddr: 0x4E0, symBinAddr: 0x3642C0, symSize: 0x21 } + - { offsetInCU: 0x99, offset: 0xB5937, size: 0x8, addend: 0x0, symName: _vpaes_schedule_low_round, symObjAddr: 0x501, symBinAddr: 0x3642E1, symSize: 0x9F } + - { offsetInCU: 0xAF, offset: 0xB594D, size: 0x8, addend: 0x0, symName: _vpaes_schedule_transform, symObjAddr: 0x5A0, symBinAddr: 0x364380, symSize: 0x30 } + - { offsetInCU: 0xC2, offset: 0xB5960, size: 0x8, addend: 0x0, symName: _vpaes_schedule_mangle, symObjAddr: 0x5D0, symBinAddr: 0x3643B0, symSize: 0x50 } + - { offsetInCU: 0xE9, offset: 0xB5987, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_set_encrypt_key, symObjAddr: 0x620, symBinAddr: 0x364400, symSize: 0x30 } + - { offsetInCU: 0xF7, offset: 0xB5995, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_encrypt, symObjAddr: 0x650, symBinAddr: 0x364430, symSize: 0x20 } + - { offsetInCU: 0x11A, offset: 0xB59B8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_vpaes_ctr32_encrypt_blocks, symObjAddr: 0x670, symBinAddr: 0x364450, symSize: 0xD0 } + - { offsetInCU: 0x112, offset: 0xB59B0, size: 0x8, addend: 0x0, symName: _vpaes_preheat, symObjAddr: 0x740, symBinAddr: 0x364520, symSize: 0x31 } + - { offsetInCU: 0x10, offset: 0xB59C0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x364560, symSize: 0x2A0 } + - { offsetInCU: 0x45, offset: 0xB59F5, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont, symObjAddr: 0x0, symBinAddr: 0x364560, symSize: 0x2A0 } + - { offsetInCU: 0x4C, offset: 0xB59FC, size: 0x8, addend: 0x0, symName: bn_mul4x_mont, symObjAddr: 0x2A0, symBinAddr: 0x364800, symSize: 0x560 } + - { offsetInCU: 0x62, offset: 0xB5A12, size: 0x8, addend: 0x0, symName: bn_sqr8x_mont, symObjAddr: 0x800, symBinAddr: 0x364D60, symSize: 0x220 } + - { offsetInCU: 0x79, offset: 0xB5A29, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont, symObjAddr: 0xA20, symBinAddr: 0x364F80, symSize: 0x570 } + - { offsetInCU: 0x10, offset: 0xB5A38, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0x365500, symSize: 0x660 } + - { offsetInCU: 0x4D, offset: 0xB5A75, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_mul_mont_gather5, symObjAddr: 0x0, symBinAddr: 0x365500, symSize: 0x660 } + - { offsetInCU: 0x54, offset: 0xB5A7C, size: 0x8, addend: 0x0, symName: bn_mul4x_mont_gather5, symObjAddr: 0x660, symBinAddr: 0x365B60, symSize: 0x100 } + - { offsetInCU: 0x63, offset: 0xB5A8B, size: 0x8, addend: 0x0, symName: mul4x_internal, symObjAddr: 0x760, symBinAddr: 0x365C60, symSize: 0x7E0 } + - { offsetInCU: 0x85, offset: 0xB5AAD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_power5, symObjAddr: 0xF40, symBinAddr: 0x366440, symSize: 0x180 } + - { offsetInCU: 0xA3, offset: 0xB5ACB, size: 0x8, addend: 0x0, symName: __bn_sqr8x_internal, symObjAddr: 0x10C0, symBinAddr: 0x3665C0, symSize: 0x579 } + - { offsetInCU: 0xAA, offset: 0xB5AD2, size: 0x8, addend: 0x0, symName: __bn_sqr8x_reduction, symObjAddr: 0x1639, symBinAddr: 0x366B39, symSize: 0x347 } + - { offsetInCU: 0xC0, offset: 0xB5AE8, size: 0x8, addend: 0x0, symName: __bn_post4x_internal, symObjAddr: 0x1980, symBinAddr: 0x366E80, symSize: 0xA0 } + - { offsetInCU: 0xD9, offset: 0xB5B01, size: 0x8, addend: 0x0, symName: bn_mulx4x_mont_gather5, symObjAddr: 0x1A20, symBinAddr: 0x366F20, symSize: 0xE0 } + - { offsetInCU: 0xE8, offset: 0xB5B10, size: 0x8, addend: 0x0, symName: mulx4x_internal, symObjAddr: 0x1B00, symBinAddr: 0x367000, symSize: 0x7E0 } + - { offsetInCU: 0xF9, offset: 0xB5B21, size: 0x8, addend: 0x0, symName: bn_powerx5, symObjAddr: 0x22E0, symBinAddr: 0x3677E0, symSize: 0x160 } + - { offsetInCU: 0x128, offset: 0xB5B50, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_internal, symObjAddr: 0x2440, symBinAddr: 0x367940, symSize: 0x637 } + - { offsetInCU: 0x12F, offset: 0xB5B57, size: 0x8, addend: 0x0, symName: __bn_sqrx8x_reduction, symObjAddr: 0x2A77, symBinAddr: 0x367F77, symSize: 0x329 } + - { offsetInCU: 0x145, offset: 0xB5B6D, size: 0x8, addend: 0x0, symName: __bn_postx4x_internal, symObjAddr: 0x2DA0, symBinAddr: 0x3682A0, symSize: 0x90 } + - { offsetInCU: 0x163, offset: 0xB5B8B, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_scatter5, symObjAddr: 0x2E30, symBinAddr: 0x368330, symSize: 0x30 } + - { offsetInCU: 0x178, offset: 0xB5BA0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_bn_gather5, symObjAddr: 0x2E60, symBinAddr: 0x368360, symSize: 0x27F } + - { offsetInCU: 0x10, offset: 0xB5BA2, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0x3685E0, symSize: 0x80 } + - { offsetInCU: 0x4A, offset: 0xB5BDC, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_neg, symObjAddr: 0x0, symBinAddr: 0x3685E0, symSize: 0x80 } + - { offsetInCU: 0x64, offset: 0xB5BF6, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_mul_mont, symObjAddr: 0x80, symBinAddr: 0x368660, symSize: 0x360 } + - { offsetInCU: 0x7E, offset: 0xB5C10, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_scalar_sqr_rep_mont, symObjAddr: 0x3E0, symBinAddr: 0x3689C0, symSize: 0x300 } + - { offsetInCU: 0x85, offset: 0xB5C17, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_mul_montx, symObjAddr: 0x6E0, symBinAddr: 0x368CC0, symSize: 0x3C0 } + - { offsetInCU: 0x9B, offset: 0xB5C2D, size: 0x8, addend: 0x0, symName: ecp_nistz256_ord_sqr_montx, symObjAddr: 0xAA0, symBinAddr: 0x369080, symSize: 0x320 } + - { offsetInCU: 0xB5, offset: 0xB5C47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_mul_mont, symObjAddr: 0xDC0, symBinAddr: 0x3693A0, symSize: 0xA0 } + - { offsetInCU: 0xC4, offset: 0xB5C56, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montq, symObjAddr: 0xE60, symBinAddr: 0x369440, symSize: 0x240 } + - { offsetInCU: 0xE1, offset: 0xB5C73, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_sqr_mont, symObjAddr: 0x10A0, symBinAddr: 0x369680, symSize: 0x80 } + - { offsetInCU: 0xF0, offset: 0xB5C82, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montq, symObjAddr: 0x1120, symBinAddr: 0x369700, symSize: 0x1A0 } + - { offsetInCU: 0x106, offset: 0xB5C98, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_montx, symObjAddr: 0x12C0, symBinAddr: 0x3698A0, symSize: 0x260 } + - { offsetInCU: 0x11C, offset: 0xB5CAE, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sqr_montx, symObjAddr: 0x1520, symBinAddr: 0x369B00, symSize: 0x1C0 } + - { offsetInCU: 0x142, offset: 0xB5CD4, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w5, symObjAddr: 0x16E0, symBinAddr: 0x369CC0, symSize: 0xE0 } + - { offsetInCU: 0x158, offset: 0xB5CEA, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_ecp_nistz256_select_w7, symObjAddr: 0x17C0, symBinAddr: 0x369DA0, symSize: 0xC0 } + - { offsetInCU: 0x162, offset: 0xB5CF4, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w5, symObjAddr: 0x1880, symBinAddr: 0x369E60, symSize: 0xC0 } + - { offsetInCU: 0x178, offset: 0xB5D0A, size: 0x8, addend: 0x0, symName: ecp_nistz256_avx2_select_w7, symObjAddr: 0x1940, symBinAddr: 0x369F20, symSize: 0xE0 } + - { offsetInCU: 0x188, offset: 0xB5D1A, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_toq, symObjAddr: 0x1A20, symBinAddr: 0x36A000, symSize: 0x60 } + - { offsetInCU: 0x1A0, offset: 0xB5D32, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromq, symObjAddr: 0x1A80, symBinAddr: 0x36A060, symSize: 0x60 } + - { offsetInCU: 0x1B1, offset: 0xB5D43, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subq, symObjAddr: 0x1AE0, symBinAddr: 0x36A0C0, symSize: 0x40 } + - { offsetInCU: 0x1CC, offset: 0xB5D5E, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2q, symObjAddr: 0x1B20, symBinAddr: 0x36A100, symSize: 0x60 } + - { offsetInCU: 0x1ED, offset: 0xB5D7F, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_double, symObjAddr: 0x1B80, symBinAddr: 0x36A160, symSize: 0x320 } + - { offsetInCU: 0x200, offset: 0xB5D92, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add, symObjAddr: 0x1EA0, symBinAddr: 0x36A480, symSize: 0x780 } + - { offsetInCU: 0x21D, offset: 0xB5DAF, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_p256_point_add_affine, symObjAddr: 0x2620, symBinAddr: 0x36AC00, symSize: 0x580 } + - { offsetInCU: 0x222, offset: 0xB5DB4, size: 0x8, addend: 0x0, symName: __ecp_nistz256_add_tox, symObjAddr: 0x2BA0, symBinAddr: 0x36B180, symSize: 0x60 } + - { offsetInCU: 0x23A, offset: 0xB5DCC, size: 0x8, addend: 0x0, symName: __ecp_nistz256_sub_fromx, symObjAddr: 0x2C00, symBinAddr: 0x36B1E0, symSize: 0x60 } + - { offsetInCU: 0x24B, offset: 0xB5DDD, size: 0x8, addend: 0x0, symName: __ecp_nistz256_subx, symObjAddr: 0x2C60, symBinAddr: 0x36B240, symSize: 0x60 } + - { offsetInCU: 0x266, offset: 0xB5DF8, size: 0x8, addend: 0x0, symName: __ecp_nistz256_mul_by_2x, symObjAddr: 0x2CC0, symBinAddr: 0x36B2A0, symSize: 0x60 } + - { offsetInCU: 0x27F, offset: 0xB5E11, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_doublex, symObjAddr: 0x2D20, symBinAddr: 0x36B300, symSize: 0x320 } + - { offsetInCU: 0x292, offset: 0xB5E24, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_addx, symObjAddr: 0x3040, symBinAddr: 0x36B620, symSize: 0x760 } + - { offsetInCU: 0x2AF, offset: 0xB5E41, size: 0x8, addend: 0x0, symName: ecp_nistz256_point_add_affinex, symObjAddr: 0x37A0, symBinAddr: 0x36BD80, symSize: 0x555 } + - { offsetInCU: 0x10, offset: 0xB5E40, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0x36C2E0, symSize: 0x5A0 } + - { offsetInCU: 0x3D, offset: 0xB5E6D, size: 0x8, addend: 0x0, symName: _aesni_ctr32_ghash_6x, symObjAddr: 0x0, symBinAddr: 0x36C2E0, symSize: 0x5A0 } + - { offsetInCU: 0x61, offset: 0xB5E91, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_decrypt, symObjAddr: 0x5A0, symBinAddr: 0x36C880, symSize: 0x140 } + - { offsetInCU: 0x63, offset: 0xB5E93, size: 0x8, addend: 0x0, symName: _aesni_ctr32_6x, symObjAddr: 0x6E0, symBinAddr: 0x36C9C0, symSize: 0x180 } + - { offsetInCU: 0x8D, offset: 0xB5EBD, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_aesni_gcm_encrypt, symObjAddr: 0x860, symBinAddr: 0x36CB40, symSize: 0x423 } + - { offsetInCU: 0x10, offset: 0xB5EB8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x36CF80, symSize: 0x260 } + - { offsetInCU: 0x48, offset: 0xB5EF0, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_clmul, symObjAddr: 0x0, symBinAddr: 0x36CF80, symSize: 0x260 } + - { offsetInCU: 0x5F, offset: 0xB5F07, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_gmult_clmul, symObjAddr: 0x260, symBinAddr: 0x36D1E0, symSize: 0xC0 } + - { offsetInCU: 0x75, offset: 0xB5F1D, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_clmul, symObjAddr: 0x320, symBinAddr: 0x36D2A0, symSize: 0x660 } + - { offsetInCU: 0x88, offset: 0xB5F30, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_init_avx, symObjAddr: 0x980, symBinAddr: 0x36D900, symSize: 0x1A0 } + - { offsetInCU: 0x9F, offset: 0xB5F47, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_gcm_ghash_avx, symObjAddr: 0xB20, symBinAddr: 0x36DAA0, symSize: 0x697 } + - { offsetInCU: 0x10, offset: 0xB5F46, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x36E140, symSize: 0x1240 } + - { offsetInCU: 0x51, offset: 0xB5F87, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha512_block_data_order, symObjAddr: 0x0, symBinAddr: 0x36E140, symSize: 0x1240 } + - { offsetInCU: 0x5A, offset: 0xB5F90, size: 0x8, addend: 0x0, symName: sha512_block_data_order_avx, symObjAddr: 0x1240, symBinAddr: 0x36F380, symSize: 0x1176 } + - { offsetInCU: 0x10, offset: 0xB5F92, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0x370500, symSize: 0x200 } + - { offsetInCU: 0x44, offset: 0xB5FC6, size: 0x8, addend: 0x0, symName: poly_hash_ad_internal, symObjAddr: 0x0, symBinAddr: 0x370500, symSize: 0x200 } + - { offsetInCU: 0x66, offset: 0xB5FE8, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_open, symObjAddr: 0x200, symBinAddr: 0x370700, symSize: 0x21C0 } + - { offsetInCU: 0x7C, offset: 0xB5FFE, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_chacha20_poly1305_seal, symObjAddr: 0x23C0, symBinAddr: 0x3728C0, symSize: 0x1D2D } + - { offsetInCU: 0x83, offset: 0xB6005, size: 0x8, addend: 0x0, symName: process_extra_in_trailer, symObjAddr: 0x40ED, symBinAddr: 0x3745ED, symSize: 0x553 } + - { offsetInCU: 0x9C, offset: 0xB601E, size: 0x8, addend: 0x0, symName: chacha20_poly1305_open_avx2, symObjAddr: 0x4640, symBinAddr: 0x374B40, symSize: 0x25C0 } + - { offsetInCU: 0xB2, offset: 0xB6034, size: 0x8, addend: 0x0, symName: chacha20_poly1305_seal_avx2, symObjAddr: 0x6C00, symBinAddr: 0x377100, symSize: 0x2F01 } + - { offsetInCU: 0x10, offset: 0xB6036, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x37A040, symSize: 0x1200 } + - { offsetInCU: 0x51, offset: 0xB6077, size: 0x8, addend: 0x0, symName: _ring_core_0_17_8_sha256_block_data_order, symObjAddr: 0x0, symBinAddr: 0x37A040, symSize: 0x1200 } + - { offsetInCU: 0x5D, offset: 0xB6083, size: 0x8, addend: 0x0, symName: sha256_block_data_order_shaext, symObjAddr: 0x1200, symBinAddr: 0x37B240, symSize: 0x340 } + - { offsetInCU: 0x72, offset: 0xB6098, size: 0x8, addend: 0x0, symName: sha256_block_data_order_ssse3, symObjAddr: 0x1540, symBinAddr: 0x37B580, symSize: 0xEC0 } + - { offsetInCU: 0x86, offset: 0xB60AC, size: 0x8, addend: 0x0, symName: sha256_block_data_order_avx, symObjAddr: 0x2400, symBinAddr: 0x37C440, symSize: 0xEF7 } ... diff --git a/tools/demo/canvas/index.ts b/tools/demo/canvas/index.ts index 1b438d9eb..4699c1445 100644 --- a/tools/demo/canvas/index.ts +++ b/tools/demo/canvas/index.ts @@ -456,6 +456,144 @@ export class DemoSharedCanvas extends DemoSharedBase { } } + async webgpuTriangle() { + // Clear color for GPURenderPassDescriptor + const clearColor = { r: 0.0, g: 0.5, b: 1.0, a: 1.0 }; + + // Vertex data for triangle + // Each vertex has 8 values representing position and color: X Y Z W R G B A + + const vertices = new Float32Array([0.0, 0.6, 0, 1, 1, 0, 0, 1, -0.5, -0.6, 0, 1, 0, 1, 0, 1, 0.5, -0.6, 0, 1, 0, 0, 1, 1]); + + // Vertex and fragment shaders + + const shaders = ` +struct VertexOut { + @builtin(position) position : vec4f, + @location(0) color : vec4f +} + +@vertex +fn vertex_main(@location(0) position: vec4f, + @location(1) color: vec4f) -> VertexOut +{ + var output : VertexOut; + output.position = position; + output.color = color; + return output; +} + +@fragment +fn fragment_main(fragData: VertexOut) -> @location(0) vec4f +{ + return fragData.color; +} +`; + + if (navigator.gpu) { + const adapter = await navigator.gpu.requestAdapter(); + const device = await adapter.requestDevice(); + + const shaderModule = device.createShaderModule({ + code: shaders, + }); + + + const context = this.canvas.getContext('webgpu') as GPUCanvasContext; + + + context.configure({ + device, + format: navigator.gpu.getPreferredCanvasFormat(), + alphaMode: global.isIOS? 'postMultiplied' : 'premultiplied' as any, + }); + + const vertexBuffer = device.createBuffer({ + size: vertices.byteLength, // make it big enough to store vertices in + usage: global.GPUBufferUsage.VERTEX | global.GPUBufferUsage.COPY_DST, + mappedAtCreation: false, + }); + + device.queue.writeBuffer(vertexBuffer, 0, vertices, 0, vertices.length); + + const vertexBuffers = [ + { + attributes: [ + { + shaderLocation: 0, // position + offset: 0, + format: 'float32x4', + }, + { + shaderLocation: 1, // color + offset: 16, + format: 'float32x4', + }, + ], + arrayStride: 32, + stepMode: 'vertex', + }, + ]; + + const pipelineDescriptor = { + vertex: { + module: shaderModule, + entryPoint: 'vertex_main', + buffers: vertexBuffers, + }, + fragment: { + module: shaderModule, + entryPoint: 'fragment_main', + targets: [ + { + format: navigator.gpu.getPreferredCanvasFormat(), + }, + ], + }, + primitive: { + topology: 'triangle-list', + }, + layout: 'auto', + }; + + // 6: Create the actual render pipeline + + const renderPipeline = device.createRenderPipeline(pipelineDescriptor as any); + + // 7: Create GPUCommandEncoder to issue commands to the GPU + // Note: render pass descriptor, command encoder, etc. are destroyed after use, fresh one needed for each frame. + const commandEncoder = device.createCommandEncoder(); + + // 8: Create GPURenderPassDescriptor to tell WebGPU which texture to draw into, then initiate render pass + + const renderPassDescriptor = { + colorAttachments: [ + { + clearValue: clearColor, + loadOp: 'clear', + storeOp: 'store', + view: context.getCurrentTexture().createView(), + }, + ], + }; + + + const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor as any); + + // 9: Draw the triangle + + passEncoder.setPipeline(renderPipeline); + passEncoder.setVertexBuffer(0, vertexBuffer); + passEncoder.draw(3); + + // End the render pass + passEncoder.end(); + + // 10: End frame by passing array of command buffers to command queue for execution + device.queue.submit([commandEncoder.finish()]); + } + } + async webgpuTest() { if (navigator.gpu) { const adapter = await navigator.gpu.requestAdapter(); @@ -554,7 +692,8 @@ fn fragment_main(fragData: VertexOut) -> @location(0) vec4f } draw() { - this.webgpuTest(); + //this.webgpuTest(); + this.webgpuTriangle(); //this.drawChart(this.canvas); //this.drawSVG(this.canvas); // const ctx = this.canvas.getContext('2d');