This commit is contained in:
wzp 2024-08-28 16:54:37 +08:00
commit 516212d15b
137 changed files with 12445 additions and 0 deletions
.gitignore.metadataREADME.mdanalysis_options.yaml
android
fonts
ios
lib
linux
macos

43
.gitignore vendored Normal file

@ -0,0 +1,43 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
migrate_working_dir/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.pub-cache/
.pub/
/build/
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release

45
.metadata Normal file

@ -0,0 +1,45 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
version:
revision: "b0850beeb25f6d5b10426284f506557f66181b36"
channel: "stable"
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: b0850beeb25f6d5b10426284f506557f66181b36
base_revision: b0850beeb25f6d5b10426284f506557f66181b36
- platform: android
create_revision: b0850beeb25f6d5b10426284f506557f66181b36
base_revision: b0850beeb25f6d5b10426284f506557f66181b36
- platform: ios
create_revision: b0850beeb25f6d5b10426284f506557f66181b36
base_revision: b0850beeb25f6d5b10426284f506557f66181b36
- platform: linux
create_revision: b0850beeb25f6d5b10426284f506557f66181b36
base_revision: b0850beeb25f6d5b10426284f506557f66181b36
- platform: macos
create_revision: b0850beeb25f6d5b10426284f506557f66181b36
base_revision: b0850beeb25f6d5b10426284f506557f66181b36
- platform: web
create_revision: b0850beeb25f6d5b10426284f506557f66181b36
base_revision: b0850beeb25f6d5b10426284f506557f66181b36
- platform: windows
create_revision: b0850beeb25f6d5b10426284f506557f66181b36
base_revision: b0850beeb25f6d5b10426284f506557f66181b36
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'

16
README.md Normal file

@ -0,0 +1,16 @@
# environmental_protection
A new Flutter project.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.

28
analysis_options.yaml Normal file

@ -0,0 +1,28 @@
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.
# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml
linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at https://dart.dev/lints.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options

13
android/.gitignore vendored Normal file

@ -0,0 +1,13 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
**/*.keystore
**/*.jks

58
android/app/build.gradle Normal file

@ -0,0 +1,58 @@
plugins {
id "com.android.application"
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file("local.properties")
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader("UTF-8") { reader ->
localProperties.load(reader)
}
}
def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
if (flutterVersionCode == null) {
flutterVersionCode = "1"
}
def flutterVersionName = localProperties.getProperty("flutter.versionName")
if (flutterVersionName == null) {
flutterVersionName = "1.0"
}
android {
namespace = "cn.wzpmc.environmental_protection"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "cn.wzpmc.environmental_protection"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutterVersionCode.toInteger()
versionName = flutterVersionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig = signingConfigs.debug
}
}
}
flutter {
source = "../.."
}

@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

@ -0,0 +1,46 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:label="environmental_protection"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
<!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
</manifest>

@ -0,0 +1,6 @@
package cn.wzpmc.environmental_protection;
import io.flutter.embedding.android.FlutterActivity;
public class MainActivity extends FlutterActivity {
}

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>

Binary file not shown.

After

(image error) Size: 544 B

Binary file not shown.

After

(image error) Size: 442 B

Binary file not shown.

After

(image error) Size: 721 B

Binary file not shown.

After

(image error) Size: 1.0 KiB

Binary file not shown.

After

(image error) Size: 1.4 KiB

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

18
android/build.gradle Normal file

@ -0,0 +1,18 @@
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = "../build"
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(":app")
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}

@ -0,0 +1,3 @@
org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true

@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip

25
android/settings.gradle Normal file

@ -0,0 +1,25 @@
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}()
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
}
include ":app"

5608
fonts/MaterialDesign.json Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/MaterialDesign.ttf Normal file

Binary file not shown.

34
ios/.gitignore vendored Normal file

@ -0,0 +1,34 @@
**/dgph
*.mode1v3
*.mode2v3
*.moved-aside
*.pbxuser
*.perspectivev3
**/*sync/
.sconsign.dblite
.tags*
**/.vagrant/
**/DerivedData/
Icon?
**/Pods/
**/.symlinks/
profile
xcuserdata
**/.generated/
Flutter/App.framework
Flutter/Flutter.framework
Flutter/Flutter.podspec
Flutter/Generated.xcconfig
Flutter/ephemeral/
Flutter/app.flx
Flutter/app.zip
Flutter/flutter_assets/
Flutter/flutter_export_environment.sh
ServiceDefinitions.json
Runner/GeneratedPluginRegistrant.*
# Exceptions to above rules.
!default.mode1v3
!default.mode2v3
!default.pbxuser
!default.perspectivev3

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>io.flutter.flutter.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>12.0</string>
</dict>
</plist>

@ -0,0 +1 @@
#include "Generated.xcconfig"

@ -0,0 +1 @@
#include "Generated.xcconfig"

@ -0,0 +1,616 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 97C146E61CF9000F007C117D /* Project object */;
proxyType = 1;
remoteGlobalIDString = 97C146ED1CF9000F007C117D;
remoteInfo = Runner;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
331C8082294A63A400263BE5 /* RunnerTests */ = {
isa = PBXGroup;
children = (
331C807B294A618700263BE5 /* RunnerTests.swift */,
);
path = RunnerTests;
sourceTree = "<group>";
};
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
331C8082294A63A400263BE5 /* RunnerTests */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
331C8081294A63A400263BE5 /* RunnerTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
97C147021CF9000F007C117D /* Info.plist */,
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
);
path = Runner;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
331C8080294A63A400263BE5 /* RunnerTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = (
331C807D294A63A400263BE5 /* Sources */,
331C807F294A63A400263BE5 /* Resources */,
);
buildRules = (
);
dependencies = (
331C8086294A63A400263BE5 /* PBXTargetDependency */,
);
name = RunnerTests;
productName = RunnerTests;
productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
);
buildRules = (
);
dependencies = (
);
name = Runner;
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
331C8080294A63A400263BE5 = {
CreatedOnToolsVersion = 14.0;
TestTargetID = 97C146ED1CF9000F007C117D;
};
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 1100;
};
};
};
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 97C146E51CF9000F007C117D;
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
331C8080294A63A400263BE5 /* RunnerTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
331C807F294A63A400263BE5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
331C807D294A63A400263BE5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
331C8086294A63A400263BE5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 97C146ED1CF9000F007C117D /* Runner */;
targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C146FB1CF9000F007C117D /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Profile;
};
249021D4217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
};
331C8088294A63A400263BE5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
};
name = Debug;
};
331C8089294A63A400263BE5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
};
name = Release;
};
331C808A294A63A400263BE5 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
};
name = Profile;
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
97C147061CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
97C147071CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
331C8088294A63A400263BE5 /* Debug */,
331C8089294A63A400263BE5 /* Release */,
331C808A294A63A400263BE5 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147031CF9000F007C117D /* Debug */,
97C147041CF9000F007C117D /* Release */,
249021D3217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147061CF9000F007C117D /* Debug */,
97C147071CF9000F007C117D /* Release */,
249021D4217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;
}

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "331C8080294A63A400263BE5"
BuildableName = "RunnerTests.xctest"
BlueprintName = "RunnerTests"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

@ -0,0 +1,13 @@
import Flutter
import UIKit
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}

@ -0,0 +1,122 @@
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

(image error) Size: 11 KiB

Binary file not shown.

After

(image error) Size: 295 B

Binary file not shown.

After

(image error) Size: 406 B

Binary file not shown.

After

(image error) Size: 450 B

Binary file not shown.

After

(image error) Size: 282 B

Binary file not shown.

After

(image error) Size: 462 B

Binary file not shown.

After

(image error) Size: 704 B

Binary file not shown.

After

(image error) Size: 406 B

Binary file not shown.

After

(image error) Size: 586 B

Binary file not shown.

After

(image error) Size: 862 B

Binary file not shown.

After

(image error) Size: 862 B

Binary file not shown.

After

(image error) Size: 1.6 KiB

Binary file not shown.

After

(image error) Size: 762 B

Binary file not shown.

After

(image error) Size: 1.2 KiB

Binary file not shown.

After

(image error) Size: 1.4 KiB

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "LaunchImage.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "LaunchImage@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "LaunchImage@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

(image error) Size: 68 B

Binary file not shown.

After

(image error) Size: 68 B

Binary file not shown.

After

(image error) Size: 68 B

@ -0,0 +1,5 @@
# Launch Screen Assets
You can customize the launch screen with your own desired assets by replacing the image files in this directory.
You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="LaunchImage" width="168" height="185"/>
</resources>
</document>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
</dependencies>
<scenes>
<!--Flutter View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>

49
ios/Runner/Info.plist Normal file

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Environmental Protection</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>environmental_protection</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict>
</plist>

@ -0,0 +1 @@
#import "GeneratedPluginRegistrant.h"

@ -0,0 +1,12 @@
import Flutter
import UIKit
import XCTest
class RunnerTests: XCTestCase {
func testExample() {
// If you add code to the Runner application, consider adding tests here.
// See https://developer.apple.com/documentation/xctest for more information about using XCTest.
}
}

@ -0,0 +1,62 @@
import 'package:environmental_protection/network/requester.dart';
class UserInformation {
late String _address;
late String _avatar;
late double _balance;
late DateTime _birthday;
late String _career;
late String _contacts;
late String _contactsPhone;
late String _degree;
late String _email;
late String _idCard;
late String _marriage;
late String _nation;
late String _nativePlace;
late String _nickName;
late String _organization;
late String _phonenumber;
late String _realName;
late String _registerPlace;
late String _sex;
late int _userId;
late int _userName;
}
class GlobalInformation {
String _token = "";
UserInformation _userInformation = UserInformation();
final Requester _requester = Requester();
static final Uri baseUrl = Uri.parse("http://124.93.196.45:10091/Neusoft/community/");
final Set<void Function(void Function())> _setStates = {};
_setState(){
for (var e in _setStates) {
e((){});
}
}
String get token => _token;
UserInformation get userInformation => _userInformation;
Requester get requester => _requester;
set token(String token){
_setState();
_token = token;
}
set userInformation(UserInformation userInformation){
_setState();
_userInformation = userInformation;
}
static GlobalInformation? _globalInformation;
static GlobalInformation getInstance([void Function(void Function())? setState]){
_globalInformation ??= GlobalInformation();
assert(_globalInformation != null);
if (setState != null){
_globalInformation!._setStates.add(setState);
}
return _globalInformation!;
}
}
Uri resolve(String uri){
return GlobalInformation.baseUrl.resolve(uri);
}

@ -0,0 +1,961 @@
/// Flutter icons MaterialDesign
/// Copyright (C) 2024 by original authors @ fluttericon.com, fontello.com
/// This font was generated by FlutterIcon.com, which is derived from Fontello.
///
/// To use this font, place it in your fonts/ directory and include the
/// following in your pubspec.yaml
///
/// flutter:
/// fonts:
/// - family: MaterialDesign
/// fonts:
/// - asset: fonts/MaterialDesign.ttf
///
///
/// * Material Design Icons, Copyright (C) Google, Inc
/// Author: Google
/// License: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
/// Homepage: https://design.google.com/icons/
///
import 'package:flutter/widgets.dart';
class MaterialDesign {
MaterialDesign._();
static const _kFontFam = 'MaterialDesign';
static const String? _kFontPkg = null;
static const IconData airline_seat_legroom_normal = IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData account_box = IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData account_circle = IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData adb = IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add = IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_a_photo = IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airline_seat_legroom_reduced = IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airline_seat_recline_extra = IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airline_seat_recline_normal = IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airplanemode_active = IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airplanemode_inactive = IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airplay = IconData(0xe80b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_day = IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_headline = IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_list = IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_module = IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_quilt = IconData(0xe810, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_stream = IconData(0xe811, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_week = IconData(0xe812, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vignette = IconData(0xe813, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData visibility = IconData(0xe814, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData watch = IconData(0xe815, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData watch_later = IconData(0xe816, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wb_auto = IconData(0xe817, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wb_cloudy = IconData(0xe818, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wb_incandescent = IconData(0xe819, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wb_iridescent = IconData(0xe81a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wb_sunny = IconData(0xe81b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wc = IconData(0xe81c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData web = IconData(0xe81d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData zoom_out = IconData(0xe81e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData zoom_out_map = IconData(0xe81f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData threedee_rotation = IconData(0xe820, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ac_unit = IconData(0xe821, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData access_alarm = IconData(0xe822, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData access_alarms = IconData(0xe823, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData access_time = IconData(0xe824, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData accessibility = IconData(0xe825, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData accessible = IconData(0xe826, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData account_balance = IconData(0xe827, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_alarm = IconData(0xe828, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_alert = IconData(0xe829, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_box = IconData(0xe82a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_circle = IconData(0xe82b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_circle_outline = IconData(0xe82c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_location = IconData(0xe82d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_shopping_cart = IconData(0xe82e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_to_photos = IconData(0xe82f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_to_queue = IconData(0xe830, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData adjust = IconData(0xe831, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airline_seat_flat = IconData(0xe832, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airline_seat_flat_angled = IconData(0xe833, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airline_seat_individual_suite = IconData(0xe834, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airline_seat_legroom_extra = IconData(0xe835, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData airport_shuttle = IconData(0xe836, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData alarm = IconData(0xe837, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData alarm_add = IconData(0xe838, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData alarm_off = IconData(0xe839, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData alarm_on = IconData(0xe83a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData album = IconData(0xe83b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData all_inclusive = IconData(0xe83c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData all_out = IconData(0xe83d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData android = IconData(0xe83e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData announcement = IconData(0xe83f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData apps = IconData(0xe840, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData archive = IconData(0xe841, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_back = IconData(0xe842, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_downward = IconData(0xe843, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_drop_down = IconData(0xe844, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_drop_down_circle = IconData(0xe845, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_drop_up = IconData(0xe846, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_forward = IconData(0xe847, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_upward = IconData(0xe848, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData art_track = IconData(0xe849, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData aspect_ratio = IconData(0xe84a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assessment = IconData(0xe84b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assignment = IconData(0xe84c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assignment_ind = IconData(0xe84d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assignment_late = IconData(0xe84e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assignment_return = IconData(0xe84f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assignment_returned = IconData(0xe850, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assignment_turned_in = IconData(0xe851, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assistant = IconData(0xe852, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData assistant_photo = IconData(0xe853, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData attach_file = IconData(0xe854, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData attach_money = IconData(0xe855, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData attachment = IconData(0xe856, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData audiotrack = IconData(0xe857, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData autorenew = IconData(0xe858, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData av_timer = IconData(0xe859, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData backspace = IconData(0xe85a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData backup = IconData(0xe85b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData battery_alert = IconData(0xe85c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData battery_charging_full = IconData(0xe85d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData battery_full = IconData(0xe85e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData battery_std = IconData(0xe85f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData battery_unknown = IconData(0xe860, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData beach_access = IconData(0xe861, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData beenhere = IconData(0xe862, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData block = IconData(0xe863, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bluetooth = IconData(0xe864, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bluetooth_audio = IconData(0xe865, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bluetooth_connected = IconData(0xe866, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bluetooth_disabled = IconData(0xe867, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bluetooth_searching = IconData(0xe868, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData blur_circular = IconData(0xe869, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData blur_linear = IconData(0xe86a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData blur_off = IconData(0xe86b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData blur_on = IconData(0xe86c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData book = IconData(0xe86d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bookmark = IconData(0xe86e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bookmark_border = IconData(0xe86f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_all = IconData(0xe870, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_bottom = IconData(0xe871, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_clear = IconData(0xe872, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_color = IconData(0xe873, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_horizontal = IconData(0xe874, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_inner = IconData(0xe875, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_left = IconData(0xe876, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_outer = IconData(0xe877, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_right = IconData(0xe878, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_style = IconData(0xe879, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_top = IconData(0xe87a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData border_vertical = IconData(0xe87b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData branding_watermark = IconData(0xe87c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_1 = IconData(0xe87d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_2 = IconData(0xe87e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_3 = IconData(0xe87f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_4 = IconData(0xe880, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_5 = IconData(0xe881, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_6 = IconData(0xe882, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_7 = IconData(0xe883, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_auto = IconData(0xe884, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_high = IconData(0xe885, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_low = IconData(0xe886, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brightness_medium = IconData(0xe887, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData broken_image = IconData(0xe888, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData brush = IconData(0xe889, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bubble_chart = IconData(0xe88a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bug_report = IconData(0xe88b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData build = IconData(0xe88c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData burst_mode = IconData(0xe88d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData business = IconData(0xe88e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData business_center = IconData(0xe88f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cached = IconData(0xe890, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cake = IconData(0xe891, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call = IconData(0xe892, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call_end = IconData(0xe893, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call_made = IconData(0xe894, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call_merge = IconData(0xe895, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call_missed = IconData(0xe896, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call_missed_outgoing = IconData(0xe897, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call_received = IconData(0xe898, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call_split = IconData(0xe899, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData call_to_action = IconData(0xe89a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData camera = IconData(0xe89b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData camera_alt = IconData(0xe89c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData camera_enhance = IconData(0xe89d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData camera_front = IconData(0xe89e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData camera_rear = IconData(0xe89f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData camera_roll = IconData(0xe8a0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cancel = IconData(0xe8a1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData card_giftcard = IconData(0xe8a2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData card_membership = IconData(0xe8a3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData card_travel = IconData(0xe8a4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData casino = IconData(0xe8a5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cast = IconData(0xe8a6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cast_connected = IconData(0xe8a7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData center_focus_strong = IconData(0xe8a8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData center_focus_weak = IconData(0xe8a9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData change_history = IconData(0xe8aa, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData chat = IconData(0xe8ab, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData chat_bubble = IconData(0xe8ac, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData chat_bubble_outline = IconData(0xe8ad, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData check = IconData(0xe8ae, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData check_box = IconData(0xe8af, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData check_box_outline_blank = IconData(0xe8b0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData check_circle = IconData(0xe8b1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData chevron_left = IconData(0xe8b2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData chevron_right = IconData(0xe8b3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData child_care = IconData(0xe8b4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData child_friendly = IconData(0xe8b5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData chrome_reader_mode = IconData(0xe8b6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData class_icon = IconData(0xe8b7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData clear = IconData(0xe8b8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData clear_all = IconData(0xe8b9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData close = IconData(0xe8ba, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData closed_caption = IconData(0xe8bb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cloud = IconData(0xe8bc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cloud_circle = IconData(0xe8bd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cloud_done = IconData(0xe8be, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cloud_download = IconData(0xe8bf, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cloud_off = IconData(0xe8c0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cloud_queue = IconData(0xe8c1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cloud_upload = IconData(0xe8c2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData code = IconData(0xe8c3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData collections = IconData(0xe8c4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData collections_bookmark = IconData(0xe8c5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData color_lens = IconData(0xe8c6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData colorize = IconData(0xe8c7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData comment = IconData(0xe8c8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData compare = IconData(0xe8c9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData compare_arrows = IconData(0xe8ca, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData computer = IconData(0xe8cb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData confirmation_number = IconData(0xe8cc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData contact_mail = IconData(0xe8cd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData contact_phone = IconData(0xe8ce, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData contacts = IconData(0xe8cf, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData content_copy = IconData(0xe8d0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData content_cut = IconData(0xe8d1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData content_paste = IconData(0xe8d2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData control_point = IconData(0xe8d3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData control_point_duplicate = IconData(0xe8d4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData copyright = IconData(0xe8d5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData create = IconData(0xe8d6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData create_new_folder = IconData(0xe8d7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData credit_card = IconData(0xe8d8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop = IconData(0xe8d9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_16_9 = IconData(0xe8da, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_3_2 = IconData(0xe8db, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_5_4 = IconData(0xe8dc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_7_5 = IconData(0xe8dd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_din = IconData(0xe8de, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_free = IconData(0xe8df, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_landscape = IconData(0xe8e0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_original = IconData(0xe8e1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_portrait = IconData(0xe8e2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_rotate = IconData(0xe8e3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crop_square = IconData(0xe8e4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dashboard = IconData(0xe8e5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData data_usage = IconData(0xe8e6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData date_range = IconData(0xe8e7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dehaze = IconData(0xe8e8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData delete = IconData(0xe8e9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData delete_forever = IconData(0xe8ea, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData delete_sweep = IconData(0xe8eb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData description = IconData(0xe8ec, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData desktop_mac = IconData(0xe8ed, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData desktop_windows = IconData(0xe8ee, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData details = IconData(0xe8ef, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData developer_board = IconData(0xe8f0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData developer_mode = IconData(0xe8f1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData device_hub = IconData(0xe8f2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData devices = IconData(0xe8f3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData devices_other = IconData(0xe8f4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dialer_sip = IconData(0xe8f5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dialpad = IconData(0xe8f6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions = IconData(0xe8f7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_bike = IconData(0xe8f8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_boat = IconData(0xe8f9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_bus = IconData(0xe8fa, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_car = IconData(0xe8fb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_railway = IconData(0xe8fc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_run = IconData(0xe8fd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_subway = IconData(0xe8fe, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_transit = IconData(0xe8ff, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData directions_walk = IconData(0xe900, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData disc_full = IconData(0xe901, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dns = IconData(0xe902, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData do_not_disturb = IconData(0xe903, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData do_not_disturb_alt = IconData(0xe904, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData do_not_disturb_off = IconData(0xe905, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData do_not_disturb_on = IconData(0xe906, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dock = IconData(0xe907, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData domain = IconData(0xe908, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData done = IconData(0xe909, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData done_all = IconData(0xe90a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData donut_large = IconData(0xe90b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData donut_small = IconData(0xe90c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData drafts = IconData(0xe90d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData drag_handle = IconData(0xe90e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData drive_eta = IconData(0xe90f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dvr = IconData(0xe910, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData edit = IconData(0xe911, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData edit_location = IconData(0xe912, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData eject = IconData(0xe913, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData email = IconData(0xe914, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData enhanced_encryption = IconData(0xe915, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData equalizer = IconData(0xe916, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData error = IconData(0xe917, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData error_outline = IconData(0xe918, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData euro_symbol = IconData(0xe919, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ev_station = IconData(0xe91a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData event = IconData(0xe91b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData event_available = IconData(0xe91c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData event_busy = IconData(0xe91d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData event_note = IconData(0xe91e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData event_seat = IconData(0xe91f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData exit_to_app = IconData(0xe920, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData expand_less = IconData(0xe921, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData expand_more = IconData(0xe922, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData explicit = IconData(0xe923, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData explore = IconData(0xe924, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData exposure = IconData(0xe925, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData exposure_neg_1 = IconData(0xe926, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData exposure_neg_2 = IconData(0xe927, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData exposure_plus_1 = IconData(0xe928, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData exposure_plus_2 = IconData(0xe929, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData exposure_zero = IconData(0xe92a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData extension = IconData(0xe92b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData face = IconData(0xe92c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fast_forward = IconData(0xe92d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fast_rewind = IconData(0xe92e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData favorite = IconData(0xe92f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData favorite_border = IconData(0xe930, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData featured_play_list = IconData(0xe931, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData featured_video = IconData(0xe932, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData feedback = IconData(0xe933, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fiber_dvr = IconData(0xe934, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fiber_manual_record = IconData(0xe935, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fiber_new = IconData(0xe936, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fiber_pin = IconData(0xe937, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fiber_smart_record = IconData(0xe938, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData file_download = IconData(0xe939, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData file_upload = IconData(0xe93a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter = IconData(0xe93b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_1 = IconData(0xe93c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_2 = IconData(0xe93d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_3 = IconData(0xe93e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_4 = IconData(0xe93f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_5 = IconData(0xe940, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_6 = IconData(0xe941, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_7 = IconData(0xe942, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_8 = IconData(0xe943, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_9 = IconData(0xe944, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_9_plus = IconData(0xe945, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_b_and_w = IconData(0xe946, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_center_focus = IconData(0xe947, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_drama = IconData(0xe948, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_frames = IconData(0xe949, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_hdr = IconData(0xe94a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_list = IconData(0xe94b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_none = IconData(0xe94c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_tilt_shift = IconData(0xe94d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_vintage = IconData(0xe94e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData find_in_page = IconData(0xe94f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData find_replace = IconData(0xe950, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fingerprint = IconData(0xe951, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData first_page = IconData(0xe952, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fitness_center = IconData(0xe953, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flag = IconData(0xe954, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flare = IconData(0xe955, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flash_auto = IconData(0xe956, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flash_off = IconData(0xe957, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flash_on = IconData(0xe958, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flight = IconData(0xe959, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flight_land = IconData(0xe95a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flight_takeoff = IconData(0xe95b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flip = IconData(0xe95c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flip_to_back = IconData(0xe95d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData flip_to_front = IconData(0xe95e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData folder = IconData(0xe95f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData folder_open = IconData(0xe960, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData folder_shared = IconData(0xe961, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData folder_special = IconData(0xe962, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData font_download = IconData(0xe963, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_align_center = IconData(0xe964, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_align_justify = IconData(0xe965, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_align_left = IconData(0xe966, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_align_right = IconData(0xe967, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_bold = IconData(0xe968, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_clear = IconData(0xe969, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_color_fill = IconData(0xe96a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_color_reset = IconData(0xe96b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_color_text = IconData(0xe96c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_indent_decrease = IconData(0xe96d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_indent_increase = IconData(0xe96e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_italic = IconData(0xe96f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_line_spacing = IconData(0xe970, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_list_bulleted = IconData(0xe971, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_list_numbered = IconData(0xe972, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_paint = IconData(0xe973, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_quote = IconData(0xe974, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_shapes = IconData(0xe975, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_size = IconData(0xe976, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_strikethrough = IconData(0xe977, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_textdirection_l_to_r = IconData(0xe978, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_textdirection_r_to_l = IconData(0xe979, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData format_underlined = IconData(0xe97a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData forum = IconData(0xe97b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData forward = IconData(0xe97c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData forward_10 = IconData(0xe97d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData forward_30 = IconData(0xe97e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData forward_5 = IconData(0xe97f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData free_breakfast = IconData(0xe980, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fullscreen = IconData(0xe981, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData fullscreen_exit = IconData(0xe982, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData functions = IconData(0xe983, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData g_translate = IconData(0xe984, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData gamepad = IconData(0xe985, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData games = IconData(0xe986, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData gavel = IconData(0xe987, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData gesture = IconData(0xe988, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData get_app = IconData(0xe989, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData gif = IconData(0xe98a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData goat = IconData(0xe98b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData golf_course = IconData(0xe98c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData gps_fixed = IconData(0xe98d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData gps_not_fixed = IconData(0xe98e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData gps_off = IconData(0xe98f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData grade = IconData(0xe990, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData gradient = IconData(0xe991, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData grain = IconData(0xe992, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData graphic_eq = IconData(0xe993, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData grid_off = IconData(0xe994, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData grid_on = IconData(0xe995, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData group = IconData(0xe996, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData group_add = IconData(0xe997, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData group_work = IconData(0xe998, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hd = IconData(0xe999, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hdr_off = IconData(0xe99a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hdr_on = IconData(0xe99b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hdr_strong = IconData(0xe99c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hdr_weak = IconData(0xe99d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData headset = IconData(0xe99e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData headset_mic = IconData(0xe99f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData healing = IconData(0xe9a0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hearing = IconData(0xe9a1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData help = IconData(0xe9a2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData help_outline = IconData(0xe9a3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData high_quality = IconData(0xe9a4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData highlight = IconData(0xe9a5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData highlight_off = IconData(0xe9a6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData history = IconData(0xe9a7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home = IconData(0xe9a8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hot_tub = IconData(0xe9a9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hotel = IconData(0xe9aa, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hourglass_empty = IconData(0xe9ab, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hourglass_full = IconData(0xe9ac, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData http = IconData(0xe9ad, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData https = IconData(0xe9ae, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData image = IconData(0xe9af, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData image_aspect_ratio = IconData(0xe9b0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData import_contacts = IconData(0xe9b1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData import_export = IconData(0xe9b2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData important_devices = IconData(0xe9b3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData inbox = IconData(0xe9b4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData indeterminate_check_box = IconData(0xe9b5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData info = IconData(0xe9b6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData info_outline = IconData(0xe9b7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData input = IconData(0xe9b8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData insert_chart = IconData(0xe9b9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData insert_comment = IconData(0xe9ba, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData insert_drive_file = IconData(0xe9bb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData insert_emoticon = IconData(0xe9bc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData insert_invitation = IconData(0xe9bd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData insert_link = IconData(0xe9be, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData insert_photo = IconData(0xe9bf, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData invert_colors = IconData(0xe9c0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData invert_colors_off = IconData(0xe9c1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData iso = IconData(0xe9c2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard = IconData(0xe9c3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_arrow_down = IconData(0xe9c4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_arrow_left = IconData(0xe9c5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_arrow_right = IconData(0xe9c6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_arrow_up = IconData(0xe9c7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_backspace = IconData(0xe9c8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_capslock = IconData(0xe9c9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_hide = IconData(0xe9ca, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_return = IconData(0xe9cb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_tab = IconData(0xe9cc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData keyboard_voice = IconData(0xe9cd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData kitchen = IconData(0xe9ce, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData label = IconData(0xe9cf, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData label_outline = IconData(0xe9d0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData landscape = IconData(0xe9d1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData language = IconData(0xe9d2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData laptop = IconData(0xe9d3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData laptop_chromebook = IconData(0xe9d4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData laptop_mac = IconData(0xe9d5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData laptop_windows = IconData(0xe9d6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData last_page = IconData(0xe9d7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData launch = IconData(0xe9d8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData layers = IconData(0xe9d9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData layers_clear = IconData(0xe9da, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData leak_add = IconData(0xe9db, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData leak_remove = IconData(0xe9dc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData lens = IconData(0xe9dd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData library_add = IconData(0xe9de, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData library_books = IconData(0xe9df, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData library_music = IconData(0xe9e0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData lightbulb_outline = IconData(0xe9e1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData line_style = IconData(0xe9e2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData line_weight = IconData(0xe9e3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData linear_scale = IconData(0xe9e4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData link = IconData(0xe9e5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData linked_camera = IconData(0xe9e6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData list = IconData(0xe9e7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData live_help = IconData(0xe9e8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData live_tv = IconData(0xe9e9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_activity = IconData(0xe9ea, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_airport = IconData(0xe9eb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_atm = IconData(0xe9ec, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_bar = IconData(0xe9ed, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_cafe = IconData(0xe9ee, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_car_wash = IconData(0xe9ef, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_convenience_store = IconData(0xe9f0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_dining = IconData(0xe9f1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_drink = IconData(0xe9f2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_florist = IconData(0xe9f3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_gas_station = IconData(0xe9f4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_grocery_store = IconData(0xe9f5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_hospital = IconData(0xe9f6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_hotel = IconData(0xe9f7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_laundry_service = IconData(0xe9f8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_library = IconData(0xe9f9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_mall = IconData(0xe9fa, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_movies = IconData(0xe9fb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_offer = IconData(0xe9fc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_parking = IconData(0xe9fd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_pharmacy = IconData(0xe9fe, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_phone = IconData(0xe9ff, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_pizza = IconData(0xea00, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_play = IconData(0xea01, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_post_office = IconData(0xea02, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_printshop = IconData(0xea03, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_see = IconData(0xea04, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_shipping = IconData(0xea05, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData local_taxi = IconData(0xea06, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData location_city = IconData(0xea07, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData location_disabled = IconData(0xea08, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData location_off = IconData(0xea09, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData location_on = IconData(0xea0a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData location_searching = IconData(0xea0b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData lock = IconData(0xea0c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData lock_open = IconData(0xea0d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData lock_outline = IconData(0xea0e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData looks = IconData(0xea0f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData looks_3 = IconData(0xea10, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData looks_4 = IconData(0xea11, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData looks_5 = IconData(0xea12, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData looks_6 = IconData(0xea13, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData looks_one = IconData(0xea14, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData looks_two = IconData(0xea15, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData loop = IconData(0xea16, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData loupe = IconData(0xea17, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData low_priority = IconData(0xea18, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData loyalty = IconData(0xea19, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mail = IconData(0xea1a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mail_outline = IconData(0xea1b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData map = IconData(0xea1c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData markunread = IconData(0xea1d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData markunread_mailbox = IconData(0xea1e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData memory = IconData(0xea1f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData menu = IconData(0xea20, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData merge_type = IconData(0xea21, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData message = IconData(0xea22, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mic = IconData(0xea23, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mic_none = IconData(0xea24, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mic_off = IconData(0xea25, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mms = IconData(0xea26, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mode_comment = IconData(0xea27, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mode_edit = IconData(0xea28, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData monetization_on = IconData(0xea29, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData money_off = IconData(0xea2a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData monochrome_photos = IconData(0xea2b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mood = IconData(0xea2c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mood_bad = IconData(0xea2d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData more = IconData(0xea2e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData more_horiz = IconData(0xea2f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData more_vert = IconData(0xea30, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData motorcycle = IconData(0xea31, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mouse = IconData(0xea32, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData move_to_inbox = IconData(0xea33, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData movie = IconData(0xea34, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData movie_creation = IconData(0xea35, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData movie_filter = IconData(0xea36, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData multiline_chart = IconData(0xea37, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData music_note = IconData(0xea38, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData music_video = IconData(0xea39, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData my_location = IconData(0xea3a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData nature = IconData(0xea3b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData nature_people = IconData(0xea3c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData navigate_before = IconData(0xea3d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData navigate_next = IconData(0xea3e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData navigation = IconData(0xea3f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData near_me = IconData(0xea40, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData network_cell = IconData(0xea41, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData network_check = IconData(0xea42, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData network_locked = IconData(0xea43, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData network_wifi = IconData(0xea44, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData new_releases = IconData(0xea45, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData next_week = IconData(0xea46, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData nfc = IconData(0xea47, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData no_encryption = IconData(0xea48, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData no_sim = IconData(0xea49, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData not_interested = IconData(0xea4a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData note = IconData(0xea4b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData note_add = IconData(0xea4c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData notifications = IconData(0xea4d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData notifications_active = IconData(0xea4e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData notifications_none = IconData(0xea4f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData notifications_off = IconData(0xea50, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData notifications_paused = IconData(0xea51, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData offline_pin = IconData(0xea52, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ondemand_video = IconData(0xea53, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData opacity = IconData(0xea54, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData open_in_browser = IconData(0xea55, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData open_in_new = IconData(0xea56, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData open_with = IconData(0xea57, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pages = IconData(0xea58, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pageview = IconData(0xea59, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData palette = IconData(0xea5a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pan_tool = IconData(0xea5b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData panorama = IconData(0xea5c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData panorama_fish_eye = IconData(0xea5d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData panorama_horizontal = IconData(0xea5e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData panorama_vertical = IconData(0xea5f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData panorama_wide_angle = IconData(0xea60, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData party_mode = IconData(0xea61, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pause = IconData(0xea62, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pause_circle_filled = IconData(0xea63, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pause_circle_outline = IconData(0xea64, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData payment = IconData(0xea65, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData people = IconData(0xea66, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData people_outline = IconData(0xea67, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData perm_camera_mic = IconData(0xea68, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData perm_contact_calendar = IconData(0xea69, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData perm_data_setting = IconData(0xea6a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData perm_device_information = IconData(0xea6b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData perm_identity = IconData(0xea6c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData perm_media = IconData(0xea6d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData perm_phone_msg = IconData(0xea6e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData perm_scan_wifi = IconData(0xea6f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData person = IconData(0xea70, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData person_add = IconData(0xea71, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData person_outline = IconData(0xea72, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData person_pin = IconData(0xea73, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData person_pin_circle = IconData(0xea74, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData personal_video = IconData(0xea75, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pets = IconData(0xea76, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone = IconData(0xea77, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone_android = IconData(0xea78, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone_bluetooth_speaker = IconData(0xea79, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone_forwarded = IconData(0xea7a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone_in_talk = IconData(0xea7b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone_iphone = IconData(0xea7c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone_locked = IconData(0xea7d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone_missed = IconData(0xea7e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phone_paused = IconData(0xea7f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phonelink = IconData(0xea80, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phonelink_erase = IconData(0xea81, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phonelink_lock = IconData(0xea82, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phonelink_off = IconData(0xea83, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phonelink_ring = IconData(0xea84, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData phonelink_setup = IconData(0xea85, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData photo = IconData(0xea86, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData photo_album = IconData(0xea87, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData photo_camera = IconData(0xea88, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData photo_filter = IconData(0xea89, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData photo_library = IconData(0xea8a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData photo_size_select_actual = IconData(0xea8b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData photo_size_select_large = IconData(0xea8c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData photo_size_select_small = IconData(0xea8d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData picture_as_pdf = IconData(0xea8e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData picture_in_picture = IconData(0xea8f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData picture_in_picture_alt = IconData(0xea90, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pie_chart = IconData(0xea91, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pie_chart_outlined = IconData(0xea92, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pin_drop = IconData(0xea93, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData place = IconData(0xea94, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData play_arrow = IconData(0xea95, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData play_circle_filled = IconData(0xea96, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData play_circle_outline = IconData(0xea97, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData play_for_work = IconData(0xea98, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData playlist_add = IconData(0xea99, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData playlist_add_check = IconData(0xea9a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData playlist_play = IconData(0xea9b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData plus_one = IconData(0xea9c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData poll = IconData(0xea9d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData polymer = IconData(0xea9e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pool = IconData(0xea9f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData portable_wifi_off = IconData(0xeaa0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData portrait = IconData(0xeaa1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData power = IconData(0xeaa2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData power_input = IconData(0xeaa3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData power_settings_new = IconData(0xeaa4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData pregnant_woman = IconData(0xeaa5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData present_to_all = IconData(0xeaa6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData print = IconData(0xeaa7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData priority_high = IconData(0xeaa8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData public = IconData(0xeaa9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData publish = IconData(0xeaaa, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData query_builder = IconData(0xeaab, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData question_answer = IconData(0xeaac, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData queue = IconData(0xeaad, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData queue_music = IconData(0xeaae, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData queue_play_next = IconData(0xeaaf, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData radio = IconData(0xeab0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData radio_button_checked = IconData(0xeab1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData radio_button_unchecked = IconData(0xeab2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData rate_review = IconData(0xeab3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData receipt = IconData(0xeab4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData recent_actors = IconData(0xeab5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData record_voice_over = IconData(0xeab6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData redeem = IconData(0xeab7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData redo = IconData(0xeab8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData refresh = IconData(0xeab9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData remove = IconData(0xeaba, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData remove_circle = IconData(0xeabb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData remove_circle_outline = IconData(0xeabc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData remove_from_queue = IconData(0xeabd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData remove_red_eye = IconData(0xeabe, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData remove_shopping_cart = IconData(0xeabf, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData reorder = IconData(0xeac0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData repeat = IconData(0xeac1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData repeat_one = IconData(0xeac2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData replay = IconData(0xeac3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData replay_10 = IconData(0xeac4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData replay_30 = IconData(0xeac5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData replay_5 = IconData(0xeac6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData reply = IconData(0xeac7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData reply_all = IconData(0xeac8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData report = IconData(0xeac9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData report_problem = IconData(0xeaca, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData restaurant = IconData(0xeacb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData restaurant_menu = IconData(0xeacc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData restore = IconData(0xeacd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData restore_page = IconData(0xeace, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ring_volume = IconData(0xeacf, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData room = IconData(0xead0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData room_service = IconData(0xead1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData rotate_90_degrees_ccw = IconData(0xead2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData rotate_left = IconData(0xead3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData rotate_right = IconData(0xead4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData rounded_corner = IconData(0xead5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData router = IconData(0xead6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData rowing = IconData(0xead7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData rss_feed = IconData(0xead8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData rv_hookup = IconData(0xead9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData satellite = IconData(0xeada, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData save = IconData(0xeadb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData scanner = IconData(0xeadc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData schedule = IconData(0xeadd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData school = IconData(0xeade, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData screen_lock_landscape = IconData(0xeadf, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData screen_lock_portrait = IconData(0xeae0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData screen_lock_rotation = IconData(0xeae1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData screen_rotation = IconData(0xeae2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData screen_share = IconData(0xeae3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sd_card = IconData(0xeae4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sd_storage = IconData(0xeae5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search = IconData(0xeae6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData security = IconData(0xeae7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData select_all = IconData(0xeae8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData send = IconData(0xeae9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sentiment_dissatisfied = IconData(0xeaea, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sentiment_neutral = IconData(0xeaeb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sentiment_satisfied = IconData(0xeaec, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sentiment_very_dissatisfied = IconData(0xeaed, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sentiment_very_satisfied = IconData(0xeaee, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings = IconData(0xeaef, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_applications = IconData(0xeaf0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_backup_restore = IconData(0xeaf1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_bluetooth = IconData(0xeaf2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_brightness = IconData(0xeaf3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_cell = IconData(0xeaf4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_ethernet = IconData(0xeaf5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_input_antenna = IconData(0xeaf6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_input_component = IconData(0xeaf7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_input_composite = IconData(0xeaf8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_input_hdmi = IconData(0xeaf9, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_input_svideo = IconData(0xeafa, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_overscan = IconData(0xeafb, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_phone = IconData(0xeafc, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_power = IconData(0xeafd, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_remote = IconData(0xeafe, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_system_daydream = IconData(0xeaff, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData settings_voice = IconData(0xeb00, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData share = IconData(0xeb01, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData shop = IconData(0xeb02, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData shop_two = IconData(0xeb03, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData shopping_basket = IconData(0xeb04, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData shopping_cart = IconData(0xeb05, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData short_text = IconData(0xeb06, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData show_chart = IconData(0xeb07, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData shuffle = IconData(0xeb08, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData signal_cellular_4_bar = IconData(0xeb09, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData signal_cellular_connected_no_internet_4_bar = IconData(0xeb0a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData signal_cellular_no_sim = IconData(0xeb0b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData signal_cellular_null = IconData(0xeb0c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData signal_cellular_off = IconData(0xeb0d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData signal_wifi_4_bar = IconData(0xeb0e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData signal_wifi_4_bar_lock = IconData(0xeb0f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData signal_wifi_off = IconData(0xeb10, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sim_card = IconData(0xeb11, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sim_card_alert = IconData(0xeb12, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData skip_next = IconData(0xeb13, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData skip_previous = IconData(0xeb14, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData slideshow = IconData(0xeb15, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData slow_motion_video = IconData(0xeb16, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData smartphone = IconData(0xeb17, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData smoke_free = IconData(0xeb18, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData smoking_rooms = IconData(0xeb19, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sms = IconData(0xeb1a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sms_failed = IconData(0xeb1b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData snooze = IconData(0xeb1c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sort = IconData(0xeb1d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sort_by_alpha = IconData(0xeb1e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData spa = IconData(0xeb1f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData space_bar = IconData(0xeb20, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData speaker = IconData(0xeb21, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData speaker_group = IconData(0xeb22, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData speaker_notes = IconData(0xeb23, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData speaker_notes_off = IconData(0xeb24, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData speaker_phone = IconData(0xeb25, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData spellcheck = IconData(0xeb26, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData star = IconData(0xeb27, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData star_border = IconData(0xeb28, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData star_half = IconData(0xeb29, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData stars = IconData(0xeb2a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData stay_current_landscape = IconData(0xeb2b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData stay_current_portrait = IconData(0xeb2c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData stay_primary_landscape = IconData(0xeb2d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData stay_primary_portrait = IconData(0xeb2e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData stop = IconData(0xeb2f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData stop_screen_share = IconData(0xeb30, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData storage = IconData(0xeb31, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData store = IconData(0xeb32, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData store_mall_directory = IconData(0xeb33, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData straighten = IconData(0xeb34, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData streetview = IconData(0xeb35, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData strikethrough_s = IconData(0xeb36, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData style = IconData(0xeb37, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData subdirectory_arrow_left = IconData(0xeb38, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData subdirectory_arrow_right = IconData(0xeb39, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData subject = IconData(0xeb3a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData subscriptions = IconData(0xeb3b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData subtitles = IconData(0xeb3c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData subway = IconData(0xeb3d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData supervisor_account = IconData(0xeb3e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData surround_sound = IconData(0xeb3f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData swap_calls = IconData(0xeb40, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData swap_horiz = IconData(0xeb41, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData swap_vert = IconData(0xeb42, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData swap_vertical_circle = IconData(0xeb43, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData switch_camera = IconData(0xeb44, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData switch_video = IconData(0xeb45, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sync_icon = IconData(0xeb46, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sync_disabled = IconData(0xeb47, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sync_problem = IconData(0xeb48, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData system_update = IconData(0xeb49, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData system_update_alt = IconData(0xeb4a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tab = IconData(0xeb4b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tab_unselected = IconData(0xeb4c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tablet = IconData(0xeb4d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tablet_android = IconData(0xeb4e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tablet_mac = IconData(0xeb4f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tag_faces = IconData(0xeb50, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tap_and_play = IconData(0xeb51, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData terrain = IconData(0xeb52, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData text_fields = IconData(0xeb53, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData text_format = IconData(0xeb54, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData textsms = IconData(0xeb55, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData texture = IconData(0xeb56, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData theaters = IconData(0xeb57, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData thumb_down = IconData(0xeb58, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData thumb_up = IconData(0xeb59, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData thumbs_up_down = IconData(0xeb5a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData time_to_leave = IconData(0xeb5b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData timelapse = IconData(0xeb5c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData timeline = IconData(0xeb5d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData timer = IconData(0xeb5e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData timer_10 = IconData(0xeb5f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData timer_3 = IconData(0xeb60, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData timer_off = IconData(0xeb61, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData title = IconData(0xeb62, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData toc = IconData(0xeb63, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData today = IconData(0xeb64, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData toll = IconData(0xeb65, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tonality = IconData(0xeb66, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData touch_app = IconData(0xeb67, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData toys = IconData(0xeb68, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData track_changes = IconData(0xeb69, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData traffic = IconData(0xeb6a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData train = IconData(0xeb6b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tram = IconData(0xeb6c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData transfer_within_a_station = IconData(0xeb6d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData transform = IconData(0xeb6e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData translate = IconData(0xeb6f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData trending_down = IconData(0xeb70, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData trending_flat = IconData(0xeb71, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData trending_up = IconData(0xeb72, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tune = IconData(0xeb73, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData turned_in = IconData(0xeb74, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData turned_in_not = IconData(0xeb75, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData tv = IconData(0xeb76, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData unarchive = IconData(0xeb77, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData undo = IconData(0xeb78, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData unfold_less = IconData(0xeb79, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData unfold_more = IconData(0xeb7a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData update = IconData(0xeb7b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData usb = IconData(0xeb7c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData verified_user = IconData(0xeb7d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vertical_align_bottom = IconData(0xeb7e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vertical_align_center = IconData(0xeb7f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vertical_align_top = IconData(0xeb80, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vibration = IconData(0xeb81, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData video_call = IconData(0xeb82, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData video_label = IconData(0xeb83, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData video_library = IconData(0xeb84, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData videocam = IconData(0xeb85, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData videocam_off = IconData(0xeb86, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData videogame_asset = IconData(0xeb87, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_agenda = IconData(0xeb88, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_array = IconData(0xeb89, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_carousel = IconData(0xeb8a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_column = IconData(0xeb8b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_comfy = IconData(0xeb8c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_compact = IconData(0xeb8d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData visibility_off = IconData(0xeb8e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData voice_chat = IconData(0xeb8f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData voicemail = IconData(0xeb90, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData volume_down = IconData(0xeb91, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData volume_mute = IconData(0xeb92, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData volume_off = IconData(0xeb93, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData volume_up = IconData(0xeb94, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vpn_key = IconData(0xeb95, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vpn_lock = IconData(0xeb96, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wallpaper = IconData(0xeb97, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData warning = IconData(0xeb98, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData web_asset = IconData(0xeb99, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData weekend = IconData(0xeb9a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData whatshot = IconData(0xeb9b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData widgets = IconData(0xeb9c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wifi = IconData(0xeb9d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wifi_lock = IconData(0xeb9e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wifi_tethering = IconData(0xeb9f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData work = IconData(0xeba0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData wrap_text = IconData(0xeba1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData youtube_searched_for = IconData(0xeba2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData zoom_in = IconData(0xeba3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData account_balance_wallet = IconData(0xf008, fontFamily: _kFontFam, fontPackage: _kFontPkg);
}

111
lib/main.dart Normal file

@ -0,0 +1,111 @@
import 'dart:convert';
import 'package:environmental_protection/common/user_information.dart';
import 'package:environmental_protection/icon/material_design_icons.dart';
import 'package:environmental_protection/views/home.dart';
import 'package:environmental_protection/views/me.dart';
import 'package:environmental_protection/views/service.dart';
import 'package:environmental_protection/views/social.dart';
import 'package:flutter/material.dart';
main() async {
var global = GlobalInformation.getInstance();
var response = await global.requester.post(resolve("api/login"), body: jsonEncode({
'username': 'WUvFG3gY',
'password': 'ZogPgBF6'
}));
global.token = jsonDecode(response.body)['token'];
runApp(const DigitalLife());
}
class DigitalLife extends StatelessWidget {
const DigitalLife({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: RouterView(),
);
}
}
class RouterView extends StatefulWidget {
const RouterView({super.key});
@override
State<RouterView> createState() => _RouterViewState();
}
class _RouterViewState extends State<RouterView> {
int _pageIndex = 0;
final List<Widget> _pages = [
const HomePage(),
const SocialPage(),
const Placeholder(),
const ServicePage(),
const MePage()
];
final String _name = "红星海五期";
GlobalInformation? _globalInformation;
@override
Widget build(BuildContext context) {
_globalInformation ??= GlobalInformation.getInstance(super.setState);
return Scaffold(
appBar: AppBar(
title: Text(_name),
actions: [
IconButton(onPressed: (){}, icon: const Icon(MaterialDesign.crop_free)),
],
centerTitle: true,
leading: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
IconButton(onPressed: (){}, icon: const Icon(Icons.keyboard_arrow_left)),
const Text("数字社区")
],
),
),
leadingWidth: 120,
),
bottomNavigationBar: BottomNavigationBar(
currentIndex: _pageIndex,
items: const [
BottomNavigationBarItem(icon: Icon(Icons.home), label: "首页"),
BottomNavigationBarItem(icon: Icon(Icons.group), label: "友邻社交"),
BottomNavigationBarItem(icon: Icon(null), label: ""),
BottomNavigationBarItem(icon: Icon(Icons.account_balance), label: "社区服务"),
BottomNavigationBarItem(icon: Icon(Icons.account_box), label: "我的")
],
selectedItemColor: Colors.blue,
unselectedItemColor: Colors.grey,
showUnselectedLabels: true,
type: BottomNavigationBarType.fixed,
onTap: (i){
if (i == 2){
return;
}
if (i > 2){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => _pages[i],
),
);
return;
}
setState(() {
_pageIndex = i;
});
},
),
floatingActionButton: FloatingActionButton(
onPressed: () { },
shape: const CircleBorder(),
backgroundColor: Colors.blue,
foregroundColor: Colors.white,
child: const Icon(Icons.add, size: 50),
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
body: _pages[_pageIndex],
);
}
}

@ -0,0 +1,16 @@
import 'package:environmental_protection/common/user_information.dart';
import 'package:http/http.dart';
class Requester extends BaseClient {
final Client _inner = Client();
@override
Future<StreamedResponse> send(BaseRequest request) {
var information = GlobalInformation.getInstance();
if (information.token.isNotEmpty){
request.headers['Authorization'] = information.token;
}
request.headers['Content-Type'] = 'application/json';
return _inner.send(request);
}
}

474
lib/views/home.dart Normal file

@ -0,0 +1,474 @@
import 'package:environmental_protection/common/user_information.dart';
import 'package:environmental_protection/icon/material_design_icons.dart';
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return ListView(
padding: const EdgeInsetsDirectional.all(10),
children: const [
Advantage(),
Notifications(),
Applications(),
Activities(),
Dynamics(),
Reminders()
],
);
}
}
class Advantage extends StatefulWidget {
const Advantage({super.key});
@override
State<Advantage> createState() => _AdvantageState();
}
class _AdvantageState extends State<Advantage> {
List<String> urls = [
"/profile/upload/2021/11/27/12qw.jpg",
"/profile/upload/2021/11/27/34qw.jpg",
"/profile/upload/2021/11/27/56qw.jpg",
"/profile/upload/2021/11/27/78qw.jpg",
"/profile/upload/2023/12/28/5a48fd02-4232-4b1d-8ce3-3420d2447c5e.jpg"
];
int _index = 0;
@override
Widget build(BuildContext context) {
List<Widget> container = [];
double width = 10;
double height = 10;
for(var i = 0;i < urls.length; i++){
var c = Container(width: width, height: height, decoration: const BoxDecoration(shape: BoxShape.circle, color: Colors.grey), margin: const EdgeInsetsDirectional.all(2));
if (i == _index){
c = Container(width: width, height: height, decoration: const BoxDecoration(shape: BoxShape.circle, color: Colors.blue), margin: const EdgeInsetsDirectional.all(2));
}
container.add(c);
}
return Column(
children: [
SizedBox(
height: 200,
child: PageView(
scrollDirection: Axis.horizontal,
children: urls.map((e) => Image(image: NetworkImage("http://124.93.196.45:10091/Neusoft/community$e"))).toList(),
onPageChanged: (index) {
setState(() {
_index = index;
});
},
)
),
Container(
margin: const EdgeInsetsDirectional.only(top: 10),
child: Flex(
direction: Axis.horizontal,
mainAxisAlignment: MainAxisAlignment.center,
children: container,
),
)
],
);
}
}
class Notifications extends StatefulWidget {
const Notifications({super.key});
@override
State<Notifications> createState() => _NotificationsState();
}
class _NotificationsState extends State<Notifications> {
GlobalInformation? global;
final String _notifiction = "通知";
@override
Widget build(BuildContext context) {
return Row(
children: [
const Icon(MaterialDesign.sms, color: Colors.blue),
Text(_notifiction)
],
);
}
}
class Application extends StatelessWidget {
final IconData icon;
final String title;
const Application({super.key, required this.icon, required this.title});
@override
Widget build(BuildContext context) {
return Container(
width: 60,
height: 60,
decoration: BoxDecoration(border: Border.all(color: Colors.blue), borderRadius: BorderRadius.circular(10)),
alignment: Alignment.center,
margin: const EdgeInsetsDirectional.all(10),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Icon(icon),
Text(title)
],
),
);
}
}
class Applications extends StatefulWidget {
const Applications({super.key});
@override
State<Applications> createState() => _ApplicationsState();
}
class _ApplicationsState extends State<Applications> {
@override
Widget build(BuildContext context) {
return SizedBox(
height: 200,
child: GridView(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 4),
children: const [
Application(icon: MaterialDesign.exit_to_app, title: "开门"),
Application(icon: MaterialDesign.home, title: "我的房屋"),
Application(icon: MaterialDesign.directions_car, title: "我的车位",),
Application(icon: Icons.account_balance_wallet, title: "物业缴费",),
Application(icon: MaterialDesign.crop_free, title: "扫码取件",),
Application(icon: MaterialDesign.sms, title: "社区公告",),
Application(icon: MaterialDesign.call, title: "社区电话",),
Application(icon: MaterialDesign.email, title: "投诉建议",)
]
)
);
}
}
class Activity extends StatelessWidget {
final String title;
final double kmDistance;
const Activity({super.key, required this.title, required this.kmDistance});
@override
Widget build(BuildContext context) {
return Container(
width: 200,
height: 50,
padding: const EdgeInsetsDirectional.all(5),
decoration: BoxDecoration(
border: Border.all(
color: const Color.fromARGB(50, 0, 0, 100),
width: 1
),
borderRadius: BorderRadius.circular(10)
),
child: Row(
children: [
const SizedBox(
width: 80,
height: 50,
child: Placeholder()
),
SizedBox(
width: 100,
child: Column(
children: [
Container(
margin: const EdgeInsetsDirectional.only(start: 10, top: 10),
child: Text(
title,
softWrap: true,
),
),
Container(
alignment: Alignment.centerLeft,
margin: const EdgeInsetsDirectional.only(start: 10, top: 5),
child: Text(
"距您$kmDistance km",
style: const TextStyle(
color: Colors.grey,
fontSize: 10,
),
textAlign: TextAlign.left,
),
)
],
),
)
],
),
);
}
}
class Activities extends StatefulWidget {
const Activities({super.key});
@override
State<Activities> createState() => _ActivitiesState();
}
class ShowMoreContainer extends StatelessWidget {
final String title;
final Widget child;
final bool showMore;
const ShowMoreContainer({super.key, required this.title, required this.child, required this.showMore});
@override
Widget build(BuildContext context) {
var titleWidget = [
Positioned(
left: 0,
top: 0,
child: Text(
title,
style: const TextStyle(
fontSize: 20
),
)
),
];
if (showMore) {
titleWidget.add(Positioned(
right: 0,
top: 0,
child: InkWell(
onTap: (){},
child: const Row(
children: [
Text("查看更多"),
Icon(MaterialDesign.keyboard_arrow_right)
]
)
)
));
}
return Column(
children: [
SizedBox(
height: 30,
child: Stack(
children: titleWidget,
)
),
Container(
margin: const EdgeInsetsDirectional.only(top: 10),
child: child,
)
],
);
}
}
class _ActivitiesState extends State<Activities> {
@override
Widget build(BuildContext context) {
return ShowMoreContainer(
title: "社区活动",
showMore: true,
child: SizedBox(
height: 100,
child: ListView(
scrollDirection: Axis.horizontal,
children: const [
Activity(title: "红星社区地毯清洗活动", kmDistance: 3.6),
Activity(title: "红星社区地毯清洗活动", kmDistance: 3.6),
Activity(title: "红星社区地毯清洗活动", kmDistance: 3.6),
Activity(title: "红星社区地毯清洗活动", kmDistance: 3.6)
],
)
)
);
}
}
class Dynamic extends StatelessWidget {
final String title;
final String source;
final int commentCount;
final DateTime sendTime;
const Dynamic({super.key, required this.title, required this.source, required this.commentCount, required this.sendTime});
@override
Widget build(BuildContext context) {
var beforeTime = DateTime.now().difference(sendTime);
var hour = beforeTime.inHours;
var time = "$hour 小时前";
if (hour > 24){
time = "1 天前";
}
return SizedBox(
width: 500,
height: 150,
child: Stack(
children: [
Positioned(
left: 0,
top: 10,
child: Column(
children: [
SizedBox(
width: 170,
child: Text(
title,
softWrap: true,
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: const TextStyle(
fontSize: 24,
fontWeight: FontWeight.w900
),
),
),
Text(
"$source $commentCount评论 $time",
style: const TextStyle(
color: Colors.grey
),
)
],
),
),
const Positioned(
right: 0,
top: 0,
child: SizedBox(
width: 200,
height: 100,
child: Placeholder(),
)
)
],
),
);
}
}
class Dynamics extends StatefulWidget {
const Dynamics({super.key});
@override
State<Dynamics> createState() => _DynamicsState();
}
class _DynamicsState extends State<Dynamics> {
@override
Widget build(BuildContext context) {
return ShowMoreContainer(
title: "社区动态",
showMore: true,
child: SizedBox(
height: 300,
child: ListView(
children: [
Dynamic(title: "内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例", source: "内容来源", commentCount: 15, sendTime: DateTime.now().subtract(Duration(hours: 1))),
Dynamic(title: "内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例", source: "内容来源", commentCount: 15, sendTime: DateTime.now().subtract(Duration(hours: 1))),
Dynamic(title: "内容标题示例内容标题示例内容标题示例内容标题示例内容标题示const 例内容标题示例内容标题示例内容标题示例内容标题示例内容标题示例", source: "内容来源", commentCount: 15, sendTime: DateTime.now().subtract(Duration(hours: 1)))
],
),
)
);
}
}
class Reminder extends StatelessWidget {
final String message;
const Reminder({super.key, required this.message});
@override
Widget build(BuildContext context) {
return Container(
margin: const EdgeInsetsDirectional.only(top: 10),
child: Row(
children: [
const SizedBox(
width: 50,
height: 50,
child: Placeholder(),
),
Container(
margin: const EdgeInsetsDirectional.only(start: 10),
child: Flex(
direction: Axis.vertical,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text(
"认证申请进度提醒",
style: TextStyle(
fontWeight: FontWeight.w700,
fontSize: 20,
),
),
SizedBox(
width: 300,
child: Text(
message,
style: const TextStyle(
color: Colors.grey,
fontSize: 12,
overflow: TextOverflow.ellipsis
),
),
)
],
),
),
Row(
children: [
Container(
width: 5,
height: 5,
decoration: const BoxDecoration(
color: Colors.red,
shape: BoxShape.circle
),
),
const Icon(Icons.keyboard_arrow_right, color: Colors.grey)
],
)
],
),
);
}
}
class Reminders extends StatefulWidget {
const Reminders({super.key});
@override
State<Reminders> createState() => _RemindersState();
}
class _RemindersState extends State<Reminders> {
@override
Widget build(BuildContext context) {
return ShowMoreContainer(
title: "认证提醒",
showMore: false,
child: SizedBox(
height: 300,
child: ListView(
children: const [
Reminder(message: "认证已通过,查看认证已通过,查看认证已通过,查看认证已通过,查看认证已通过,查看认证已通过,查看"),
Reminder(message: "认证已通过,查看认证已通过,查看认证已通过,查看认证已通过,查看认证已通过,查看认证已通过,查看")
],
),
)
);
}
}

15
lib/views/me.dart Normal file

@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class MePage extends StatefulWidget {
const MePage({super.key});
@override
State<MePage> createState() => _MePageState();
}
class _MePageState extends State<MePage> {
@override
Widget build(BuildContext context) {
return const Text("me");
}
}

144
lib/views/service.dart Normal file

@ -0,0 +1,144 @@
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Community Notice',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const ServicePage(),
);
}
}
class ServicePage extends StatefulWidget {
const ServicePage({super.key});
@override
State<ServicePage> createState() => _ServicePageState();
}
class _ServicePageState extends State<ServicePage> {
List<Map<String, String>> notices = [
{
"title": "消杀通知",
"status": "未读",
"content": "为了给大家提供一个舒适、卫生的生活环境...",
"time": "2020-12-05 11:02"
},
{
"title": "缴费通知",
"status": "未读",
"content": "为了给大家提供一个舒适、卫生的生活环境...",
"time": "2020-11-21 09:45"
},
{
"title": "物业通知",
"status": "已读",
"content": "为了给大家提供一个舒适、卫生的生活环境...",
"time": "2020-08-01 13:55"
},
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("社区公告"),
),
body: Column(
children: [
_buildStatusMenu(),
Expanded(
child: ListView.builder(
itemCount: notices.length,
itemBuilder: (context, index) {
return _buildNoticeItem(index);
},
),
),
],
),
);
}
Widget _buildStatusMenu() {
return const Padding(
padding: EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text("全部", style: TextStyle(fontWeight: FontWeight.bold)),
Text("未读", style: TextStyle(color: Colors.grey)),
Text("已读", style: TextStyle(color: Colors.grey)),
],
),
);
}
Widget _buildNoticeItem(int index) {
return Card(
child: ListTile(
title: Text(notices[index]["title"]!),
subtitle: Text(notices[index]["content"]!),
trailing: Column(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Text(notices[index]["status"]!, style: const TextStyle(color: Colors.green)),
Text(notices[index]["time"]!, style: const TextStyle(fontSize: 12)),
],
),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => NoticeDetailPage(notice: notices[index]),
),
);
},
),
);
}
}
class NoticeDetailPage extends StatelessWidget {
final Map<String, String> notice;
const NoticeDetailPage({super.key, required this.notice});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("公告详情"),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(notice["title"]!, style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold)),
const SizedBox(height: 10),
Text("发布时间: ${notice["time"]}", style: const TextStyle(fontSize: 16)),
const SizedBox(height: 20),
const Placeholder(fallbackHeight: 150),
const SizedBox(height: 20),
Text(notice["content"]!, style: const TextStyle(fontSize: 16)),
const SizedBox(height: 20),
const Text("发布单位: 红星海五期物业管理公司", style: TextStyle(fontSize: 16)),
const SizedBox(height: 10),
const Text("联系电话: 88888888", style: TextStyle(fontSize: 16)),
],
),
),
);
}
}

225
lib/views/social.dart Normal file

@ -0,0 +1,225 @@
import 'package:flutter/material.dart';
class SocialPage extends StatefulWidget {
const SocialPage({super.key});
@override
State<SocialPage> createState() => _SocialPageState();
}
class _SocialPageState extends State<SocialPage> {
final List<Map<String, dynamic>> posts = [
{
"user": "邻居A",
"likes": 360,
},
{
"user": "邻居B",
"likes": 280,
},
{
"user": "邻居C",
"likes": 420,
},
{
"user": "邻居D",
"likes": 150,
},
{
"user": "邻居D",
"likes": 150,
},
{
"user": "邻居D",
"likes": 150,
},
{
"user": "邻居D",
"likes": 150,
},
{
"user": "邻居D",
"likes": 150,
},
{
"user": "邻居D",
"likes": 150,
},
];
@override
Widget build(BuildContext context) {
return Scaffold(
body: GridView.builder(
padding: const EdgeInsets.all(10.0),
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
childAspectRatio: 0.75,
crossAxisSpacing: 10.0,
mainAxisSpacing: 10.0,
),
itemCount: posts.length,
itemBuilder: (context, index) {
final post = posts[index];
return GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PostDetailPage(post: post),
),
);
},
child: Card(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Placeholder(
fallbackHeight: 150,
color: Colors.grey,
),
Row(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(post['user'], style: const TextStyle(fontSize: 16)),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
const Icon(Icons.favorite, color: Colors.grey, size: 10,),
const SizedBox(width: 5),
Text(post['likes'].toString()),
],
),
],
),
),
],
)
],
),
),
);
},
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: const Icon(Icons.add),
),
);
}
}
//
class PostDetailPage extends StatelessWidget {
final Map<String, dynamic> post;
PostDetailPage({super.key, required this.post});
//
final List<Map<String, dynamic>> comments = [
{
"username": "用户1",
"date": "2024-08-24",
"content": "这是一个很有趣的帖子!",
"likes": 120,
},
{
"username": "用户2",
"date": "2024-08-23",
"content": "我很喜欢这个内容。",
"likes": 89,
},
{
"username": "用户3",
"date": "2024-08-22",
"content": "赞同楼上的看法。",
"likes": 45,
},
];
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
Container(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(post['user'], style: const TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
const SizedBox(height: 10),
const Text("发布时间: 2024-08-24"),
const SizedBox(height: 20),
const Text("这是社交帖的内容。这是一段假数据。", style: TextStyle(fontSize: 16)),
],
),
),
const Divider(),
Expanded(
child: ListView.builder(
itemCount: comments.length,
itemBuilder: (context, index) {
final comment = comments[index];
return ListTile(
leading: const CircleAvatar(
child: Placeholder(),
),
title: Text(comment['username']),
subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(comment['content']),
const SizedBox(height: 5),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(comment['date'], style: const TextStyle(fontSize: 12, color: Colors.grey)),
Row(
children: [
const Icon(Icons.favorite, color: Colors.red, size: 16),
const SizedBox(width: 4),
Text(comment['likes'].toString()),
],
),
],
),
],
),
);
},
),
),
const Divider(),
Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
children: [
const Expanded(
child: TextField(
decoration: InputDecoration(
hintText: '发表评论...',
border: OutlineInputBorder(),
),
),
),
const SizedBox(width: 10),
ElevatedButton(
onPressed: () {},
child: const Text("发布"),
),
],
),
),
],
),
);
}
}

1
linux/.gitignore vendored Normal file

@ -0,0 +1 @@
flutter/ephemeral

145
linux/CMakeLists.txt Normal file

@ -0,0 +1,145 @@
# Project-level configuration.
cmake_minimum_required(VERSION 3.10)
project(runner LANGUAGES CXX)
# The name of the executable created for the application. Change this to change
# the on-disk name of your application.
set(BINARY_NAME "environmental_protection")
# The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
set(APPLICATION_ID "cn.wzpmc.environmental_protection")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake.
cmake_policy(SET CMP0063 NEW)
# Load bundled libraries from the lib/ directory relative to the binary.
set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")
# Root filesystem for cross-building.
if(FLUTTER_TARGET_PLATFORM_SYSROOT)
set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT})
set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
endif()
# Define build configuration options.
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set(CMAKE_BUILD_TYPE "Debug" CACHE
STRING "Flutter build mode" FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Profile" "Release")
endif()
# Compilation settings that should be applied to most targets.
#
# Be cautious about adding new options here, as plugins use this function by
# default. In most cases, you should add new options to specific targets instead
# of modifying this function.
function(APPLY_STANDARD_SETTINGS TARGET)
target_compile_features(${TARGET} PUBLIC cxx_std_14)
target_compile_options(${TARGET} PRIVATE -Wall -Werror)
target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")
target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")
endfunction()
# Flutter library and tool build rules.
set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")
add_subdirectory(${FLUTTER_MANAGED_DIR})
# System-level dependencies.
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}")
# Define the application target. To change its name, change BINARY_NAME above,
# not the value here, or `flutter run` will no longer work.
#
# Any new source files that you add to the application should be added here.
add_executable(${BINARY_NAME}
"main.cc"
"my_application.cc"
"${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
)
# Apply the standard set of build settings. This can be removed for applications
# that need different build settings.
apply_standard_settings(${BINARY_NAME})
# Add dependency libraries. Add any application-specific dependencies here.
target_link_libraries(${BINARY_NAME} PRIVATE flutter)
target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK)
# Run the Flutter tool portions of the build. This must not be removed.
add_dependencies(${BINARY_NAME} flutter_assemble)
# Only the install-generated bundle's copy of the executable will launch
# correctly, since the resources must in the right relative locations. To avoid
# people trying to run the unbundled copy, put it in a subdirectory instead of
# the default top-level location.
set_target_properties(${BINARY_NAME}
PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"
)
# Generated plugin build rules, which manage building the plugins and adding
# them to the application.
include(flutter/generated_plugins.cmake)
# === Installation ===
# By default, "installing" just makes a relocatable bundle in the build
# directory.
set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle")
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)
endif()
# Start with a clean build bundle directory every time.
install(CODE "
file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\")
" COMPONENT Runtime)
set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")
set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
COMPONENT Runtime)
install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
COMPONENT Runtime)
install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
install(FILES "${bundled_library}"
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
endforeach(bundled_library)
# Copy the native assets provided by the build.dart from all packages.
set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/")
install(DIRECTORY "${NATIVE_ASSETS_DIR}"
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
# Fully re-copy the assets directory on each build to avoid having stale files
# from a previous install.
set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
install(CODE "
file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")
" COMPONENT Runtime)
install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"
DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)
# Install the AOT library on non-Debug builds only.
if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")
install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
endif()

@ -0,0 +1,88 @@
# This file controls Flutter-level build steps. It should not be edited.
cmake_minimum_required(VERSION 3.10)
set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")
# Configuration provided via flutter tool.
include(${EPHEMERAL_DIR}/generated_config.cmake)
# TODO: Move the rest of this into files in ephemeral. See
# https://github.com/flutter/flutter/issues/57146.
# Serves the same purpose as list(TRANSFORM ... PREPEND ...),
# which isn't available in 3.10.
function(list_prepend LIST_NAME PREFIX)
set(NEW_LIST "")
foreach(element ${${LIST_NAME}})
list(APPEND NEW_LIST "${PREFIX}${element}")
endforeach(element)
set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE)
endfunction()
# === Flutter Library ===
# System-level dependencies.
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)
pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so")
# Published to parent scope for install step.
set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)
set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)
set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)
set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE)
list(APPEND FLUTTER_LIBRARY_HEADERS
"fl_basic_message_channel.h"
"fl_binary_codec.h"
"fl_binary_messenger.h"
"fl_dart_project.h"
"fl_engine.h"
"fl_json_message_codec.h"
"fl_json_method_codec.h"
"fl_message_codec.h"
"fl_method_call.h"
"fl_method_channel.h"
"fl_method_codec.h"
"fl_method_response.h"
"fl_plugin_registrar.h"
"fl_plugin_registry.h"
"fl_standard_message_codec.h"
"fl_standard_method_codec.h"
"fl_string_codec.h"
"fl_value.h"
"fl_view.h"
"flutter_linux.h"
)
list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/")
add_library(flutter INTERFACE)
target_include_directories(flutter INTERFACE
"${EPHEMERAL_DIR}"
)
target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}")
target_link_libraries(flutter INTERFACE
PkgConfig::GTK
PkgConfig::GLIB
PkgConfig::GIO
)
add_dependencies(flutter flutter_assemble)
# === Flutter tool backend ===
# _phony_ is a non-existent file to force this command to run every time,
# since currently there's no way to get a full input/output list from the
# flutter tool.
add_custom_command(
OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}
${CMAKE_CURRENT_BINARY_DIR}/_phony_
COMMAND ${CMAKE_COMMAND} -E env
${FLUTTER_TOOL_ENVIRONMENT}
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh"
${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE}
VERBATIM
)
add_custom_target(flutter_assemble DEPENDS
"${FLUTTER_LIBRARY}"
${FLUTTER_LIBRARY_HEADERS}
)

@ -0,0 +1,11 @@
//
// Generated file. Do not edit.
//
// clang-format off
#include "generated_plugin_registrant.h"
void fl_register_plugins(FlPluginRegistry* registry) {
}

@ -0,0 +1,15 @@
//
// Generated file. Do not edit.
//
// clang-format off
#ifndef GENERATED_PLUGIN_REGISTRANT_
#define GENERATED_PLUGIN_REGISTRANT_
#include <flutter_linux/flutter_linux.h>
// Registers Flutter plugins.
void fl_register_plugins(FlPluginRegistry* registry);
#endif // GENERATED_PLUGIN_REGISTRANT_

@ -0,0 +1,23 @@
#
# Generated file, do not edit.
#
list(APPEND FLUTTER_PLUGIN_LIST
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

6
linux/main.cc Normal file

@ -0,0 +1,6 @@
#include "my_application.h"
int main(int argc, char** argv) {
g_autoptr(MyApplication) app = my_application_new();
return g_application_run(G_APPLICATION(app), argc, argv);
}

124
linux/my_application.cc Normal file

@ -0,0 +1,124 @@
#include "my_application.h"
#include <flutter_linux/flutter_linux.h>
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#endif
#include "flutter/generated_plugin_registrant.h"
struct _MyApplication {
GtkApplication parent_instance;
char** dart_entrypoint_arguments;
};
G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION)
// Implements GApplication::activate.
static void my_application_activate(GApplication* application) {
MyApplication* self = MY_APPLICATION(application);
GtkWindow* window =
GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
// Use a header bar when running in GNOME as this is the common style used
// by applications and is the setup most users will be using (e.g. Ubuntu
// desktop).
// If running on X and not using GNOME then just use a traditional title bar
// in case the window manager does more exotic layout, e.g. tiling.
// If running on Wayland assume the header bar will work (may need changing
// if future cases occur).
gboolean use_header_bar = TRUE;
#ifdef GDK_WINDOWING_X11
GdkScreen* screen = gtk_window_get_screen(window);
if (GDK_IS_X11_SCREEN(screen)) {
const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen);
if (g_strcmp0(wm_name, "GNOME Shell") != 0) {
use_header_bar = FALSE;
}
}
#endif
if (use_header_bar) {
GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
gtk_widget_show(GTK_WIDGET(header_bar));
gtk_header_bar_set_title(header_bar, "environmental_protection");
gtk_header_bar_set_show_close_button(header_bar, TRUE);
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
} else {
gtk_window_set_title(window, "environmental_protection");
}
gtk_window_set_default_size(window, 1280, 720);
gtk_widget_show(GTK_WIDGET(window));
g_autoptr(FlDartProject) project = fl_dart_project_new();
fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments);
FlView* view = fl_view_new(project);
gtk_widget_show(GTK_WIDGET(view));
gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));
fl_register_plugins(FL_PLUGIN_REGISTRY(view));
gtk_widget_grab_focus(GTK_WIDGET(view));
}
// Implements GApplication::local_command_line.
static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) {
MyApplication* self = MY_APPLICATION(application);
// Strip out the first argument as it is the binary name.
self->dart_entrypoint_arguments = g_strdupv(*arguments + 1);
g_autoptr(GError) error = nullptr;
if (!g_application_register(application, nullptr, &error)) {
g_warning("Failed to register: %s", error->message);
*exit_status = 1;
return TRUE;
}
g_application_activate(application);
*exit_status = 0;
return TRUE;
}
// Implements GApplication::startup.
static void my_application_startup(GApplication* application) {
//MyApplication* self = MY_APPLICATION(object);
// Perform any actions required at application startup.
G_APPLICATION_CLASS(my_application_parent_class)->startup(application);
}
// Implements GApplication::shutdown.
static void my_application_shutdown(GApplication* application) {
//MyApplication* self = MY_APPLICATION(object);
// Perform any actions required at application shutdown.
G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application);
}
// Implements GObject::dispose.
static void my_application_dispose(GObject* object) {
MyApplication* self = MY_APPLICATION(object);
g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev);
G_OBJECT_CLASS(my_application_parent_class)->dispose(object);
}
static void my_application_class_init(MyApplicationClass* klass) {
G_APPLICATION_CLASS(klass)->activate = my_application_activate;
G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line;
G_APPLICATION_CLASS(klass)->startup = my_application_startup;
G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown;
G_OBJECT_CLASS(klass)->dispose = my_application_dispose;
}
static void my_application_init(MyApplication* self) {}
MyApplication* my_application_new() {
return MY_APPLICATION(g_object_new(my_application_get_type(),
"application-id", APPLICATION_ID,
"flags", G_APPLICATION_NON_UNIQUE,
nullptr));
}

18
linux/my_application.h Normal file

@ -0,0 +1,18 @@
#ifndef FLUTTER_MY_APPLICATION_H_
#define FLUTTER_MY_APPLICATION_H_
#include <gtk/gtk.h>
G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION,
GtkApplication)
/**
* my_application_new:
*
* Creates a new Flutter-based application.
*
* Returns: a new #MyApplication.
*/
MyApplication* my_application_new();
#endif // FLUTTER_MY_APPLICATION_H_

7
macos/.gitignore vendored Normal file

@ -0,0 +1,7 @@
# Flutter-related
**/Flutter/ephemeral/
**/Pods/
# Xcode-related
**/dgph
**/xcuserdata/

@ -0,0 +1 @@
#include "ephemeral/Flutter-Generated.xcconfig"

@ -0,0 +1 @@
#include "ephemeral/Flutter-Generated.xcconfig"

@ -0,0 +1,10 @@
//
// Generated file. Do not edit.
//
import FlutterMacOS
import Foundation
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
}

@ -0,0 +1,705 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objects = {
/* Begin PBXAggregateTarget section */
33CC111A2044C6BA0003C045 /* Flutter Assemble */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */;
buildPhases = (
33CC111E2044C6BF0003C045 /* ShellScript */,
);
dependencies = (
);
name = "Flutter Assemble";
productName = FLX;
};
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; };
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 33CC10EC2044A3C60003C045;
remoteInfo = Runner;
};
33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 33CC111A2044C6BA0003C045;
remoteInfo = FLX;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
33CC110E2044A8840003C045 /* Bundle Framework */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Bundle Framework";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* environmental_protection.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "environmental_protection.app"; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = "<group>"; };
33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = "<group>"; };
33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = "<group>"; };
33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = "<group>"; };
33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = "<group>"; };
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
331C80D2294CF70F00263BE5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
33CC10EA2044A3C60003C045 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
331C80D6294CF71000263BE5 /* RunnerTests */ = {
isa = PBXGroup;
children = (
331C80D7294CF71000263BE5 /* RunnerTests.swift */,
);
path = RunnerTests;
sourceTree = "<group>";
};
33BA886A226E78AF003329D5 /* Configs */ = {
isa = PBXGroup;
children = (
33E5194F232828860026EE4D /* AppInfo.xcconfig */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
333000ED22D3DE5D00554162 /* Warnings.xcconfig */,
);
path = Configs;
sourceTree = "<group>";
};
33CC10E42044A3C60003C045 = {
isa = PBXGroup;
children = (
33FAB671232836740065AC1E /* Runner */,
33CEB47122A05771004F2AC0 /* Flutter */,
331C80D6294CF71000263BE5 /* RunnerTests */,
33CC10EE2044A3C60003C045 /* Products */,
D73912EC22F37F3D000D13A0 /* Frameworks */,
);
sourceTree = "<group>";
};
33CC10EE2044A3C60003C045 /* Products */ = {
isa = PBXGroup;
children = (
33CC10ED2044A3C60003C045 /* environmental_protection.app */,
331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
33CC11242044D66E0003C045 /* Resources */ = {
isa = PBXGroup;
children = (
33CC10F22044A3C60003C045 /* Assets.xcassets */,
33CC10F42044A3C60003C045 /* MainMenu.xib */,
33CC10F72044A3C60003C045 /* Info.plist */,
);
name = Resources;
path = ..;
sourceTree = "<group>";
};
33CEB47122A05771004F2AC0 /* Flutter */ = {
isa = PBXGroup;
children = (
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */,
33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */,
33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */,
33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */,
);
path = Flutter;
sourceTree = "<group>";
};
33FAB671232836740065AC1E /* Runner */ = {
isa = PBXGroup;
children = (
33CC10F02044A3C60003C045 /* AppDelegate.swift */,
33CC11122044BFA00003C045 /* MainFlutterWindow.swift */,
33E51913231747F40026EE4D /* DebugProfile.entitlements */,
33E51914231749380026EE4D /* Release.entitlements */,
33CC11242044D66E0003C045 /* Resources */,
33BA886A226E78AF003329D5 /* Configs */,
);
path = Runner;
sourceTree = "<group>";
};
D73912EC22F37F3D000D13A0 /* Frameworks */ = {
isa = PBXGroup;
children = (
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
331C80D4294CF70F00263BE5 /* RunnerTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = (
331C80D1294CF70F00263BE5 /* Sources */,
331C80D2294CF70F00263BE5 /* Frameworks */,
331C80D3294CF70F00263BE5 /* Resources */,
);
buildRules = (
);
dependencies = (
331C80DA294CF71000263BE5 /* PBXTargetDependency */,
);
name = RunnerTests;
productName = RunnerTests;
productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
33CC10EC2044A3C60003C045 /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
33CC10E92044A3C60003C045 /* Sources */,
33CC10EA2044A3C60003C045 /* Frameworks */,
33CC10EB2044A3C60003C045 /* Resources */,
33CC110E2044A8840003C045 /* Bundle Framework */,
3399D490228B24CF009A79C7 /* ShellScript */,
);
buildRules = (
);
dependencies = (
33CC11202044C79F0003C045 /* PBXTargetDependency */,
);
name = Runner;
productName = Runner;
productReference = 33CC10ED2044A3C60003C045 /* environmental_protection.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
33CC10E52044A3C60003C045 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastSwiftUpdateCheck = 0920;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
331C80D4294CF70F00263BE5 = {
CreatedOnToolsVersion = 14.0;
TestTargetID = 33CC10EC2044A3C60003C045;
};
33CC10EC2044A3C60003C045 = {
CreatedOnToolsVersion = 9.2;
LastSwiftMigration = 1100;
ProvisioningStyle = Automatic;
SystemCapabilities = {
com.apple.Sandbox = {
enabled = 1;
};
};
};
33CC111A2044C6BA0003C045 = {
CreatedOnToolsVersion = 9.2;
ProvisioningStyle = Manual;
};
};
};
buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 33CC10E42044A3C60003C045;
productRefGroup = 33CC10EE2044A3C60003C045 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
33CC10EC2044A3C60003C045 /* Runner */,
331C80D4294CF70F00263BE5 /* RunnerTests */,
33CC111A2044C6BA0003C045 /* Flutter Assemble */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
331C80D3294CF70F00263BE5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
33CC10EB2044A3C60003C045 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */,
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3399D490228B24CF009A79C7 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n";
};
33CC111E2044C6BF0003C045 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
Flutter/ephemeral/FlutterInputs.xcfilelist,
);
inputPaths = (
Flutter/ephemeral/tripwire,
);
outputFileListPaths = (
Flutter/ephemeral/FlutterOutputs.xcfilelist,
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
331C80D1294CF70F00263BE5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
33CC10E92044A3C60003C045 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */,
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */,
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
331C80DA294CF71000263BE5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 33CC10EC2044A3C60003C045 /* Runner */;
targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */;
};
33CC11202044C79F0003C045 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */;
targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
33CC10F42044A3C60003C045 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
33CC10F52044A3C60003C045 /* Base */,
);
name = MainMenu.xib;
path = Runner;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
331C80DB294CF71000263BE5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/environmental_protection.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/environmental_protection";
};
name = Debug;
};
331C80DC294CF71000263BE5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/environmental_protection.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/environmental_protection";
};
name = Release;
};
331C80DD294CF71000263BE5 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = cn.wzpmc.environmentalProtection.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/environmental_protection.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/environmental_protection";
};
name = Profile;
};
338D0CE9231458BD00FA5F75 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
};
name = Profile;
};
338D0CEA231458BD00FA5F75 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0;
};
name = Profile;
};
338D0CEB231458BD00FA5F75 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Manual;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Profile;
};
33CC10F92044A3C60003C045 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
33CC10FA2044A3C60003C045 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
};
name = Release;
};
33CC10FC2044A3C60003C045 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
33CC10FD2044A3C60003C045 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0;
};
name = Release;
};
33CC111C2044C6BA0003C045 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Manual;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
33CC111D2044C6BA0003C045 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
331C80DB294CF71000263BE5 /* Debug */,
331C80DC294CF71000263BE5 /* Release */,
331C80DD294CF71000263BE5 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
33CC10F92044A3C60003C045 /* Debug */,
33CC10FA2044A3C60003C045 /* Release */,
338D0CE9231458BD00FA5F75 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
33CC10FC2044A3C60003C045 /* Debug */,
33CC10FD2044A3C60003C045 /* Release */,
338D0CEA231458BD00FA5F75 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = {
isa = XCConfigurationList;
buildConfigurations = (
33CC111C2044C6BA0003C045 /* Debug */,
33CC111D2044C6BA0003C045 /* Release */,
338D0CEB231458BD00FA5F75 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 33CC10E52044A3C60003C045 /* Project object */;
}

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "environmental_protection.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "environmental_protection.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "331C80D4294CF70F00263BE5"
BuildableName = "RunnerTests.xctest"
BlueprintName = "RunnerTests"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "environmental_protection.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "environmental_protection.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -0,0 +1,9 @@
import Cocoa
import FlutterMacOS
@NSApplicationMain
class AppDelegate: FlutterAppDelegate {
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
}

@ -0,0 +1,68 @@
{
"images" : [
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "app_icon_16.png",
"scale" : "1x"
},
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "app_icon_32.png",
"scale" : "2x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "app_icon_32.png",
"scale" : "1x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "app_icon_64.png",
"scale" : "2x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "app_icon_128.png",
"scale" : "1x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "app_icon_256.png",
"scale" : "2x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "app_icon_256.png",
"scale" : "1x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "app_icon_512.png",
"scale" : "2x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "app_icon_512.png",
"scale" : "1x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "app_icon_1024.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

(image error) Size: 101 KiB

Binary file not shown.

After

(image error) Size: 5.5 KiB

Binary file not shown.

After

(image error) Size: 520 B

Binary file not shown.

After

(image error) Size: 14 KiB

Binary file not shown.

After

(image error) Size: 1.0 KiB

Binary file not shown.

After

(image error) Size: 36 KiB

Binary file not shown.

After

(image error) Size: 2.2 KiB

@ -0,0 +1,343 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
<connections>
<outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="Runner" customModuleProvider="target">
<connections>
<outlet property="applicationMenu" destination="uQy-DD-JDr" id="XBo-yE-nKs"/>
<outlet property="mainFlutterWindow" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
<menuItem title="APP_NAME" id="1Xt-HY-uBw">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="APP_NAME" systemMenu="apple" id="uQy-DD-JDr">
<items>
<menuItem title="About APP_NAME" id="5kV-Vb-QxS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
<menuItem title="Services" id="NMo-om-nkz">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
<menuItem title="Hide APP_NAME" keyEquivalent="h" id="Olw-nP-bQN">
<connections>
<action selector="hide:" target="-1" id="PnN-Uc-m68"/>
</connections>
</menuItem>
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
</connections>
</menuItem>
<menuItem title="Show All" id="Kd2-mp-pUS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
<menuItem title="Quit APP_NAME" keyEquivalent="q" id="4sb-4s-VLi">
<connections>
<action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Edit" id="5QF-Oa-p0T">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Edit" id="W48-6f-4Dl">
<items>
<menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
<connections>
<action selector="undo:" target="-1" id="M6e-cu-g7V"/>
</connections>
</menuItem>
<menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
<connections>
<action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
<menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
<connections>
<action selector="cut:" target="-1" id="YJe-68-I9s"/>
</connections>
</menuItem>
<menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
<connections>
<action selector="copy:" target="-1" id="G1f-GL-Joy"/>
</connections>
</menuItem>
<menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
<connections>
<action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
</connections>
</menuItem>
<menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
</connections>
</menuItem>
<menuItem title="Delete" id="pa3-QI-u2k">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
</connections>
</menuItem>
<menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
<connections>
<action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
<menuItem title="Find" id="4EN-yA-p0u">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Find" id="1b7-l0-nxx">
<items>
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
<connections>
<action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
</connections>
</menuItem>
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
</connections>
</menuItem>
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
<connections>
<action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
</connections>
</menuItem>
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
<connections>
<action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
</connections>
</menuItem>
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
<connections>
<action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
</connections>
</menuItem>
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
<connections>
<action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
<items>
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
<connections>
<action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
</connections>
</menuItem>
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
<connections>
<action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
</connections>
</menuItem>
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
</connections>
</menuItem>
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Substitutions" id="9ic-FL-obx">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
<items>
<menuItem title="Show Substitutions" id="z6F-FW-3nz">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
</connections>
</menuItem>
<menuItem title="Smart Quotes" id="hQb-2v-fYv">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
</connections>
</menuItem>
<menuItem title="Smart Dashes" id="rgM-f4-ycn">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
</connections>
</menuItem>
<menuItem title="Smart Links" id="cwL-P1-jid">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
</connections>
</menuItem>
<menuItem title="Data Detectors" id="tRr-pd-1PS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
</connections>
</menuItem>
<menuItem title="Text Replacement" id="HFQ-gK-NFA">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Transformations" id="2oI-Rn-ZJC">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Transformations" id="c8a-y6-VQd">
<items>
<menuItem title="Make Upper Case" id="vmV-6d-7jI">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
</connections>
</menuItem>
<menuItem title="Make Lower Case" id="d9M-CD-aMd">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
</connections>
</menuItem>
<menuItem title="Capitalize" id="UEZ-Bs-lqG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Speech" id="xrE-MZ-jX0">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Speech" id="3rS-ZA-NoH">
<items>
<menuItem title="Start Speaking" id="Ynk-f8-cLZ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
</connections>
</menuItem>
<menuItem title="Stop Speaking" id="Oyz-dy-DGm">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="View" id="H8h-7b-M4v">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="View" id="HyV-fh-RgO">
<items>
<menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="toggleFullScreen:" target="-1" id="dU3-MA-1Rq"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Window" id="aUF-d1-5bR">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
<items>
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
<connections>
<action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
</connections>
</menuItem>
<menuItem title="Zoom" id="R4o-n2-Eq4">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Help" id="EPT-qC-fAb">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Help" systemMenu="help" id="rJ0-wn-3NY"/>
</menuItem>
</items>
<point key="canvasLocation" x="142" y="-258"/>
</menu>
<window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Runner" customModuleProvider="target">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<rect key="contentRect" x="335" y="390" width="800" height="600"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1577"/>
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="800" height="600"/>
<autoresizingMask key="autoresizingMask"/>
</view>
</window>
</objects>
</document>

Some files were not shown because too many files have changed in this diff Show More