Develop, Deploy, and Test Apps with Expo Development Client
Erin Bailey
Flutter is Google’s mobile app SDK for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
For users, Flutter makes beautiful app UIs come to life. For developers, Flutter lowers the bar to entry for building mobile apps. It speeds up the development of mobile apps and reduces the cost and complexity of app production across iOS and Android. For designers, Flutter helps deliver the original design vision, without loss of fidelity or compromises. It also acts as a productive prototyping tool.
To install and run Flutter, your development environment must meet these minimum requirements:
[crayon-6a90c55882ab8598926272 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-6a90c55882abd148990000 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-6a90c55882ac2473054915 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-6a90c55882ac7606522977 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882acc277974112 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882ad0530129879 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Clone alpha branch from Flutter repository using Git and add bin folder to your PATH.
[crayon-6a90c55882ad4147321569 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>$ git clone https://github.com/flutter/flutter.git -b alpha $ export PATH=`pwd`/flutter/bin:$PATH</em> |
[crayon-6a90c55882adb438021210 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The above command sets your PATH variable temporarily, for the current terminal window. You are now ready to run Flutter commands!
[crayon-6a90c55882ae0581713554 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Note: To permanently add Flutter to your path, see the reference https://flutter.io/setup-macos/#update-your-path.
[crayon-6a90c55882ae4419505418 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882ae9138334641 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Run the following command to see if there are any dependencies you need to install to complete the setup:
[crayon-6a90c55882aee014798507 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
<em>$ flutter doctor</em> |
[crayon-6a90c55882af4228611556 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
This command checks your environment and displays a report to the terminal window. The Dart SDK is bundled with Flutter; it is not necessary to install Dart separately.
[crayon-6a90c55882af8842608022 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
For example:
[crayon-6a90c55882afd865105127 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b01002764927 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b06465156549 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
macOS supports developing Flutter apps for both iOS and Android. Complete at least one of the two platform setup steps now, to be able to build and run your first Flutter app.
[crayon-6a90c55882b0a239525295 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b0f612611729 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b14279639167 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To develop Flutter apps for iOS, you need a Mac with Xcode 9.0 or newer:
[crayon-6a90c55882b18647561604 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b28369300410 inline="true" class="highlighter-rouge"]<br />[/crayon]
[crayon-6a90c55882b2c908029231 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b31202633729 inline="true" class="highlighter-rouge"][/crayon]
[crayon-6a90c55882b36782132076 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
With Xcode, you’ll be able to run Flutter apps on an iOS device or on the simulator.
[crayon-6a90c55882b3a796272515 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b3f892515580 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To deploy your Flutter app to a physical iOS device, you’ll need some additional tools and an Apple account. You’ll also need to set up physical device deployment in Xcode.
[crayon-6a90c55882b44588301441 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b48613989052 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 |
<em>$ brew</em> update $<em> brew install --HEAD libimobiledevice $ brew install ideviceinstaller ios-deploy cocoapods $ pod setup</em> |
[crayon-6a90c55882b4f459376254 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
If any of these commands fails with an error, run brew doctor and follow the instructions for resolving the issue.
[crayon-6a90c55882b56088971649 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b5d944527671 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b71926750794 inline="true" class="highlighter-rouge"][/crayon]


[crayon-6a90c55882b8c019031496 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-6a90c55882b91748127402 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b95319075169 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b9a226952460 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882b9e305575216 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882ba3909266484 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882ba7947576371 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882bab679324113 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882bc0588820011 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To prepare to run and test the Flutter app on an Android device, you’ll need an Android device running Android 4.1 (API level 16) or higher.
[crayon-6a90c55882bc4240419935 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882bcb325220857 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882bd1649653863 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
By default, Flutter uses the version of the Android SDK where your adb tool is based. If you want Flutter to use a different installation of the Android SDK, you must set the environment[crayon-6a90c55882bd6207753388 inline="true" class="highlighter-rouge"]ANDROID_HOME variable to that installation directory.[/crayon]
[crayon-6a90c55882bda216342133 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882bdf120317788 inline="true" class="highlighter-rouge"][/crayon]
[crayon-6a90c55882be3972585920 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882be8922464744 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Here I created a sample flutter_app project using following terminal command:
[crayon-6a90c55882bed630063532 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>flutter create flutter_app cd flutter_app</em> |
[crayon-6a90c55882bf3199464657 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882bf7288116744 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To list out all connected devices, please use the commandflutter devices to show all:
[crayon-6a90c55882bfc896089712 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>SM G950U1 • 9887fc41594630315a • android-arm • Android 7.0 (API 24) iPhone 7 • a0c2865be4ccfe53aea7c280dded0837873104ae • ios • iOS 10.3.3</em> |
[crayon-6a90c55882c02321146733 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
If you have only one device is connected, just use the command flutter run to install your app into the device.
[crayon-6a90c55882c07245443337 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Otherwise, if have more than one device connected; please specify a device with the ‘-d <deviceId>’ flag, or use ‘-d all’ to act on all devices.
[crayon-6a90c55882c0b891854630 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>flutter run -d 9887fc41594630315a flutter run -d a0c2865be4ccfe53aea7c280dded0837873104ae</em> |
[crayon-6a90c55882c11968051554 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Note: For iOS device, if you see the error as below, please double check the iOS Setup step to fix it.
[crayon-6a90c55882c16271972362 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882c1b774273577 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To generate an APK file, run:
[crayon-6a90c55882c1f333761905 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
flutter build apk |
[crayon-6a90c55882c2a565271675 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The output looks like:
[crayon-6a90c55882c2e100724614 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 5 |
Initializing gradle... 4.4s Resolving dependencies... 2.2s Running 'gradlew assembleRelease'... Skipping AOT snapshot build. Fingerprint match. Built build/app/outputs/apk/release/app-release.apk (7.6MB). |
[crayon-6a90c55882c35655313558 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To generate an IPA file, run:
[crayon-6a90c55882c3a324618326 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
flutter build ios |
[crayon-6a90c55882c40508276254 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The output looks like:
[crayon-6a90c55882c44107981283 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 |
Building com.example.flutterApp for device (ios-release)... Automatically signing iOS for device deployment using specified development team in Xcode project: 4X2699XXXX Running Xcode build... 23.5s Built /build/ios/Release-iphoneos/Runner.app |
[crayon-6a90c55882c4a310210849 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882c4f095494250 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
In this part, I will guide you how to use Kobiton Cloud to test your apps. A Kobiton account is required to access Kobiton system. If you do not have a Kobiton account yet, go ahead to create a free trial account and sign in. It takes just a few moments.
[crayon-6a90c55882c54785048976 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]




|
1 2 3 4 5 6 7 |
<em>DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "kobiton-store:1024"); capabilities.setCapability("deviceGroup", "KOBITON"); capabilities.setCapability("deviceName", "Galaxy S8+"); capabilities.setCapability("platformVersion", "7.0"); capabilities.setCapability("platformName", "Android"); </em> |
|
1 2 3 4 5 6 |
<em>DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "kobiton-store:1024"); capabilities.setCapability("deviceGroup", "KOBITON"); capabilities.setCapability("deviceName", "iPhone 6 Plus"); capabilities.setCapability("platformVersion", "10.0.2"); capabilities.setCapability("platformName", "iOS");</em> |
[crayon-6a90c55882c9a682826319 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882c9e144768516 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-6a90c55882ca3215051764 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]