<?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/CruxGitHubCommitLogViewer.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>
    <class path="src/main/resources"/>
  </moonshineResourcePaths>
  <moonshineNativeExtensionPaths></moonshineNativeExtensionPaths>
  <build>
    <option es="False"/>
    <option verboseStackTraces="False"/>
    <option customSDK=""/>
    <option loadConfig=""/>
    <option additional="-theme=${royalelib}/themes/Basic/src/basic.css -theme=${royalelib}/themes/JewelTheme/src/main/resources/defaults.css -js-default-initializers=true  -compiler.exclude-defaults-css-files=MXRoyale-0.9.7-js.swc:defaults.css -keep-as3-metadata+=Inject,Dispatcher,EventHandler,PostConstruct,PreDestroy,ViewAdded,ViewRemoved,Bindable,Transient -keep-code-with-metadata=Inject +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/CruxGitHubCommitLogViewer.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>