<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<project>
  <output>
    <movie fps="60"/>
    <movie height="600"/>
    <movie disabled="False"/>
    <movie background="#FFFFFF"/>
    <movie path="bin-debug/todomvc.swf"/>
    <movie width="800"/>
    <movie platform="Flash Player"/>
    <movie version="11"/>
    <movie input=""/>
  </output>
  &lt;!-- Other classes to be compiled into your SWF --&gt;
  <jsOutput>
    <option path=""/>
  </jsOutput>
  <classpaths>
    <class path="src/main/royale"/>
  </classpaths>
  <moonshineResourcePaths></moonshineResourcePaths>
  <moonshineNativeExtensionPaths></moonshineNativeExtensionPaths>
  <build>
    <option es="False"/>
    <option verboseStackTraces="False"/>
    <option customSDK=""/>
    <option loadConfig=""/>
    <option additional="-theme=${royalelib}/themes/JewelTheme/src/main/resources/defaults.css -html-template=src/main/resources/crux-jewel-example-index-template.html +configname=flex"/>
    <option optimize="False"/>
    <option staticLinkRSL="False"/>
    <option antBuildPath="build/build.xml"/>
    <option showActionScriptWarnings="True"/>
    <option compilerConstants=""/>
    <option locale=""/>
    <option linkReport=""/>
    <option showDeprecationWarnings="True"/>
    <option showUnusedTypeSelectorWarnings="True"/>
    <option showBindingWarnings="True"/>
    <option strict="True"/>
    <option accessible="False"/>
    <option useNetwork="True"/>
    <option allowSourcePathOverlap="False"/>
    <option useResourceBundleMetadata="True"/>
    <option benchmark="False"/>
    <option warnings="True"/>
  </build>
  <mavenBuild>
    <option mavenBuildPath=""/>
    <option settingsFilePath=""/>
    <option commandLine=""/>
    <actions>
      <action action="install" actionName="Build"/>
      <action action="clean package" actionName="Clean and package"/>
      <action action="clean" actionName="Clean"/>
      <action action="clean install" actionName="Clean and Build"/>
      <action action="war:exploded" actionName="Exploded"/>
    </actions>
  </mavenBuild>
  <includeLibraries></includeLibraries>
  <libraryPaths></libraryPaths>
  <externalLibraryPaths></externalLibraryPaths>
  <rslPaths></rslPaths>
  <intrinsics>
    <element path="Library/AS3/frameworks/Flex4"/>
    <element path="Library\AS3\frameworks\Flex4"/>
  </intrinsics>
  <library></library>
  <compileTargets>
    <compile path="src/main/royale/todomvc.mxml"/>
  </compileTargets>
  <hiddenPaths></hiddenPaths>
  <preBuildCommand>null</preBuildCommand>
  <postBuildCommand alwaysRun="False">null</postBuildCommand>
  <trustSVNCertificate>False</trustSVNCertificate>
  <options>
    <option isPrimeFacesVisualEditor="False"/>
    <option defaultBuildTargets=""/>
    <option visualEditorExportPath=""/>
    <option showHiddenPaths="False"/>
    <option isRoyale="True"/>
    <option testMovie=""/>
    <option testMovieCommand=""/>
    <option isExportedToExistingSource="False"/>
  </options>
  <moonshineRunCustomization>
    <option customUrlToLaunch=""/>
    <option deviceSimulator="null"/>
    <option targetPlatform="2"/>
    <option urlToLaunch=""/>
    <option projectType="2"/>
    <option launchMethod="Simulator"/>
    <deviceSimulator>null</deviceSimulator>
    <certAndroid>null</certAndroid>
    <certIos>null</certIos>
    <certIosProvisioning>null</certIosProvisioning>
  </moonshineRunCustomization>
</project>