add openhack files

This commit is contained in:
Ryan Peters 2022-11-03 16:41:13 -04:00
commit b2c9f7e29f
920 changed files with 118861 additions and 0 deletions

View File

@ -0,0 +1,91 @@
{
// https://code.visualstudio.com/docs/remote/devcontainerjson-reference
"name": "DevOps OpenHack",
"image": "mcr.microsoft.com/vscode/devcontainers/universal:latest",
//"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
// Docker in docker
"mounts": [
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"
],
// Set *default* container specific settings.json values on container create.
"settings": {
"go.toolsManagement.checkForUpdates": "local",
"go.useLanguageServer": true,
"go.gopath": "/go",
"python.defaultInterpreterPath": "/opt/python/latest/bin/python",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint",
"lldb.executable": "/usr/bin/lldb",
"files.watcherExclude": {
"**/target/**": true
}
},
"remoteUser": "codespace",
"overrideCommand": false,
"mounts": ["source=codespaces-linux-var-lib-docker,target=/var/lib/docker,type=volume"],
"runArgs": [
"--cap-add=SYS_PTRACE",
"--security-opt",
"seccomp=unconfined",
"--privileged",
"--init"
],
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"redhat.vscode-yaml",
"github.vscode-pull-request-github",
"ms-vscode.azure-account",
"ms-azuretools.vscode-azureappservice",
"golang.go",
"vscjava.vscode-java-pack",
"hashicorp.terraform",
"ms-azuretools.vscode-docker",
"ms-vscode.vscode-node-azure-pack",
"ms-azuretools.vscode-azureterraform",
"msjsdiag.debugger-for-edge",
"ms-azuretools.vscode-azureresourcegroups",
"ms-vscode.azurecli",
"ms-azure-devops.azure-pipelines",
"ms-azuretools.vscode-bicep",
"vscjava.vscode-maven",
"ms-python.python",
"ms-dotnettools.csharp",
"ms-vscode-remote.remote-wsl",
"ms-vscode-remote.remote-containers",
"visualstudioexptteam.vscodeintellicode",
"ms-vsliveshare.vsliveshare",
"github.codespaces",
"github.remotehub",
"ms-python.vscode-pylance"
],
"features": {
"azure-cli": "latest",
"terraform": {
"version": "latest",
"tflint": "latest",
"terragrunt": "latest"
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// "oryx build" will automatically install your dependencies and attempt to build your project
// "postCreateCommand": "oryx build -p virtualenv_name=.venv --log-file /tmp/oryx-build.log --manifest-dir /tmp || echo 'Could not auto-build. Skipping.'"
// "postCreateCommand": "/usr/bin/wget -O /tmp/installcli.sh https://aka.ms/InstallAzureCLIDeb && sudo bash /tmp/installcli.sh && /usr/bin/az bicep install && /usr/bin/az extension add --name azure-devops"
"postCreateCommand": "/usr/bin/az bicep install && az /usr/bin/az extension add --name azure-devops"
}

40
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,40 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: ""
assignees: ""
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

View File

@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: ""
assignees: ""
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

59
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,59 @@
# PR Template
## Purpose
<!-- Describe the intention of the changes being proposed. What problem does it solve or functionality does it add? -->
- ...
## Does this introduce a breaking change?
<!-- Mark one with an "x". -->
```text
[ ] Yes
[ ] No
```
## Pull Request Type
What kind of change does this Pull Request introduce?
<!-- Please check the one that applies to this PR using "x". -->
```text
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:
```
## How to Test
- Get the code
```text
git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install
```
- Test the code
<!-- Add steps to run the tests suite and/or manually test -->
```text
```
## What to Check
Verify that the following are valid
- ...
## Other Information
<!-- Add any other helpful information that may be needed here. -->

111
.github/workflows/iac-deployment.yml vendored Normal file
View File

@ -0,0 +1,111 @@
# This workflow installs the latest version of Terraform CLI and configures the Terraform CLI configuration file
# with an API token for Terraform Cloud (app.terraform.io). On pull request events, this workflow will run
# `terraform init`, `terraform fmt`, and `terraform plan` (speculative plan via Terraform Cloud). On push events
# to the "main" branch, `terraform apply` will be executed.
#
# Documentation for `hashicorp/setup-terraform` is located here: https://github.com/hashicorp/setup-terraform
#
# To use this workflow, you will need to complete the following setup steps.
#
# 1. Create a `main.tf` file in the root of this repository with the `remote` backend and one or more resources defined.
# Example `main.tf`:
# # The configuration for the `remote` backend.
# terraform {
# backend "remote" {
# # The name of your Terraform Cloud organization.
# organization = "example-organization"
#
# # The name of the Terraform Cloud workspace to store Terraform state files in.
# workspaces {
# name = "example-workspace"
# }
# }
# }
#
# # An example resource that does nothing.
# resource "null_resource" "example" {
# triggers = {
# value = "A example resource that does nothing!"
# }
# }
#
#
# 2. Generate a Terraform Cloud user API token and store it as a GitHub secret (e.g. TF_API_TOKEN) on this repository.
# Documentation:
# - https://www.terraform.io/docs/cloud/users-teams-organizations/api-tokens.html
# - https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets
#
# 3. Reference the GitHub secret in step using the `hashicorp/setup-terraform` GitHub Action.
# Example:
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v1
# with:
# cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
name: 'IaC - Deployment'
# this is triggered when there is a pull request on the below path, where the PR type is opened or reopened
on: workflow_dispatch
#on:
# push:
# branches:
# - main
# paths:
# - 'iac/terraform/**'
#permissions:
# contents: read
defaults:
run:
shell: bash
working-directory: ./iac/terraform
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{secrets.ARM_CLIENT_SECRET}}
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
jobs:
Terraform-Plan:
name: 'Plan_Job'
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3
# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
# Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc.
- name: Terraform Init
run: terraform init -lock=false -backend-config=storage_account_name="${{secrets.TFSTATE_STORAGE_ACCOUNT_NAME}}" -backend-config=container_name="${{secrets.TFSTATE_STORAGE_CONTAINER_NAME}}" -backend-config=key="${{secrets.TFSTATE_KEY}}" -backend-config=resource_group_name="${{secrets.TFSTATE_RESOURCES_GROUP_NAME}}"
- name: Terraform Plan
run: terraform plan -lock=false -var="location=${{secrets.LOCATION}}"
Terraform-Apply:
name: 'Deploy_Job'
runs-on: ubuntu-latest
needs: Terraform-Plan
environment: production
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3
# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
# Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc.
- name: Terraform Init
run: terraform init -lock=false -backend-config=storage_account_name="${{secrets.TFSTATE_STORAGE_ACCOUNT_NAME}}" -backend-config=container_name="${{secrets.TFSTATE_STORAGE_CONTAINER_NAME}}" -backend-config=key="${{secrets.TFSTATE_KEY}}" -backend-config=resource_group_name="${{secrets.TFSTATE_RESOURCES_GROUP_NAME}}"
- uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Terraform Apply
run: terraform apply --auto-approve -var="location=${{secrets.LOCATION}}"

87
.github/workflows/iac-validation.yml vendored Normal file
View File

@ -0,0 +1,87 @@
# This workflow installs the latest version of Terraform CLI and configures the Terraform CLI configuration file
# with an API token for Terraform Cloud (app.terraform.io). On pull request events, this workflow will run
# `terraform init`, `terraform fmt`, and `terraform plan` (speculative plan via Terraform Cloud). On push events
# to the "main" branch, `terraform apply` will be executed.
#
# Documentation for `hashicorp/setup-terraform` is located here: https://github.com/hashicorp/setup-terraform
#
# To use this workflow, you will need to complete the following setup steps.
#
# 1. Create a `main.tf` file in the root of this repository with the `remote` backend and one or more resources defined.
# Example `main.tf`:
# # The configuration for the `remote` backend.
# terraform {
# backend "remote" {
# # The name of your Terraform Cloud organization.
# organization = "example-organization"
#
# # The name of the Terraform Cloud workspace to store Terraform state files in.
# workspaces {
# name = "example-workspace"
# }
# }
# }
#
# # An example resource that does nothing.
# resource "null_resource" "example" {
# triggers = {
# value = "A example resource that does nothing!"
# }
# }
#
#
# 2. Generate a Terraform Cloud user API token and store it as a GitHub secret (e.g. TF_API_TOKEN) on this repository.
# Documentation:
# - https://www.terraform.io/docs/cloud/users-teams-organizations/api-tokens.html
# - https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets
#
# 3. Reference the GitHub secret in step using the `hashicorp/setup-terraform` GitHub Action.
# Example:
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v1
# with:
# cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
name: 'IaC - Validation/Plan'
# this is triggered when there is a pull request on the below path, where the PR type is opened or reopened
on:
pull_request:
paths:
- 'iac/terraform/**'
types: [opened, reopened]
#permissions:
# contents: read
jobs:
terraform:
name: 'Initiate_Job'
runs-on: ubuntu-latest
environment: production
# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest
defaults:
run:
shell: bash
working-directory: ./iac/terraform
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3
# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
# Init
- name: Terraform Init
run: terraform init -backend=false
# Checks that all Terraform configuration files adhere to a canonical format
- name: Terraform Format
run: terraform fmt -check
# Validate
- name: Terraform Validate
run: terraform validate

77
.github/workflows/poi-deploy.yml vendored Normal file
View File

@ -0,0 +1,77 @@
name: 'POI API - Deployment'
# this is triggered when there is a pull request on the below path, where the PR type is opened or reopened
on:
push:
branches:
- main
paths:
- 'apis/poi/**'
workflow_dispatch:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#permissions:
# contents: read
defaults:
run:
shell: bash
working-directory: ./apis/poi/web
jobs:
Build:
name: 'Docker_Build_Deploy'
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: "Azure Login"
uses: Azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Build Docker Image
run:
az acr build
--image devopsoh/api-poi:${{ github.run_id }}
--registry devopsoh41379cr
--build-arg build_version=${{ github.run_id }}
--file Dockerfile .
- name: Update_App_Service_Image_For_Staging_Slot
run:
az webapp config container set
--name devopsoh41379poi
--resource-group devopsoh41379rg
--slot staging
--docker-custom-image-name devopsoh41379cr.azurecr.io/devopsoh/api-poi:${{ github.run_id }}
--docker-registry-server-url https://devopsoh41379cr.azurecr.io
- name: Stage Health Check
uses: jtalk/url-health-check-action@v2
with:
# Check the following URLs one by one sequentially
url: https://devopsoh41379poi-staging.azurewebsites.net/api/version/poi
# Follow redirects, or just report success on 3xx status codes
follow-redirect: false # Optional, defaults to "false"
# Fail this action after this many failed attempts
max-attempts: 3 # Optional, defaults to 1
# Delay between retries
retry-delay: 5s # Optional, only applicable to max-attempts > 1
# Retry all errors, including 404. This option might trigger curl upgrade.
retry-all: false # Optional, defaults to "false"
- name: Swap into production
run:
az webapp deployment slot swap
--name devopsoh41379poi
--resource-group devopsoh41379rg
--action swap
--slot staging
--target-slot production

75
.github/workflows/poi-tests.yml vendored Normal file
View File

@ -0,0 +1,75 @@
name: 'POI API - Unit Tests'
# this is triggered when there is a pull request on the below path, where the PR type is opened or reopened
on:
pull_request:
types: [opened, reopened]
branches:
- main
paths:
- 'apis/poi/**'
workflow_dispatch:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#permissions:
# contents: read
defaults:
run:
shell: bash
working-directory: ./apis/poi/tests/UnitTests
jobs:
Build:
name: 'Build'
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3
- name: Setup .NET Core SDK 3.1
uses: actions/setup-dotnet@v3
with:
dotnet-version: 3.1.x
- name: Build
run: dotnet build
- name: Run UnitTest
run: dotnet test --filter "FullyQualifiedName~UnitTest" --logger "trx;LogFileName=UnitTestResults.trx" --results-directory ./TestResults
- name: Create Issue
if: failure() && github.event_name != 'pull_request'
run: |
body='### Unit Test `failure`
<details>
<summary>Workflow details</summary>
Workflow name: `${{ github.workflow }}`
Action: `${{ github.event_name }}`
Job: `${{ github.job }}`
</details>
Test details: [Run #${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
Pusher: @${{ github.actor }}'
title='Unit Tests failure'
gh issue create --title "${title}" --body "${body}" --label bug --assignee ${{ github.actor }}
- name: "Create a PR comment"
if: failure() && github.event_name == 'pull_request'
run: |
body='### Unit Test `failure`
<details>
<summary>Workflow details</summary>
Workflow name: `${{ github.workflow }}`
Action: `${{ github.event_name }}`
Job: `${{ github.job }}`
PR: #${{ github.event.number }}
</details>
Test details: [Run #${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
Pusher: @${{ github.actor }}'
gh pr comment ${{ github.event.number }} --body "${body}"

352
.gitignore vendored Normal file
View File

@ -0,0 +1,352 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
devvars.sh
azuresp.json
testResults.xml
testResultsNunit.xml
testResultsJunit.xml
integrationtest_results.xml
unittest_results.xml
.vscode
talisman_report
talisman
*.toml
# Local .terraform directories
.terraform
# .tfstate files
*.tfstate
*.tfstate.*
# Crash log files
crash.log
# Exclude all .tfvars files, which are likely to contain sentitive data, such as
# password, private keys, and other secrets. These should not be part of version
# control as they are data points which are potentially sensitive and subject
# to change depending on the environment.
#
*.tfvars
# Ignore override files as they are usually used to override resources locally and so
# are not checked in
override.tf
override.tf.json
*_override.tf
*_override.tf.json
# Include override files you do wish to add to version control using negated pattern
#
# !example_override.tf
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
# example: *tfplan*
# Ignore CLI configuration files
.terraformrc
terraform.rc
.terraform.lock.hcl
# trips code coverage
**/cover.sh
apis/trips/**/cover.out
apis/trips/**/cover.html
#poi coverage
**/coverage.cobertura.xml
**/CoverageReport
**/cover.sh
#environment files
.env
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Typescript v1 declaration files
typings/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush
.cr/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
.DS_Store

14
.whitesource Normal file
View File

@ -0,0 +1,14 @@
{
"scanSettings": {
"baseBranches": []
},
"checkRunSettings": {
"vulnerableCheckRunConclusionLevel": "failure",
"displayMode": "diff",
"useMendCheckNames": true
},
"issueSettings": {
"minSeverityLevel": "LOW",
"issueType": "DEPENDENCY"
}
}

16
CHANGELOG.md Normal file
View File

@ -0,0 +1,16 @@
## [project-title] Changelog
<a name="1.1.0"></a>
1.1.0 (04/02/2019)
*Features*
- Refactored Blue/Green support in api charts
- Clean up chart parameters
- Change charts to use packages
- Remove Proctor monitoring infrastructure and replace with Bash Curl/PowerShell scripts
*Bug Fixes*
* ...
*Breaking Changes*
* ...

4
CODEOWNERS Normal file
View File

@ -0,0 +1,4 @@
/apis/poi/ @pfekrati
/apis/trips/ @binarydad
/apis/user-java/ @nukhetms
/apis/userprofile/ @amanichou

76
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,76 @@
# Contributing to [project-title]
This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
- [Code of Conduct](#coc)
- [Issues and Bugs](#issue)
- [Feature Requests](#feature)
- [Submission Guidelines](#submit)
## <a name="coc"></a> Code of Conduct
Help us keep this project open and inclusive. Please read and follow our [Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
## <a name="issue"></a> Found an Issue?
If you find a bug in the source code or a mistake in the documentation, you can help us by
[submitting an issue](#submit-issue) to the GitHub Repository. Even better, you can
[submit a Pull Request](#submit-pr) with a fix.
## <a name="feature"></a> Want a Feature?
You can *request* a new feature by [submitting an issue](#submit-issue) to the GitHub
Repository. If you would like to *implement* a new feature, please submit an issue with
a proposal for your work first, to be sure that we can use it.
* **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr).
## <a name="submit"></a> Submission Guidelines
### <a name="submit-issue"></a> Submitting an Issue
Before you submit an issue, search the archive, maybe your question was already answered.
If your issue appears to be a bug, and hasn't been reported, open a new issue.
Help us to maximize the effort we can spend fixing issues and adding new
features, by not reporting duplicate issues. Providing the following information will increase the
chances of your issue being dealt with quickly:
* **Overview of the Issue** - if an error is being thrown a non-minified stack trace helps
* **Version** - what version is affected (e.g. 0.1.2)
* **Motivation for or Use Case** - explain what are you trying to do and why the current behavior is a bug for you
* **Browsers and Operating System** - is this a problem with all browsers?
* **Reproduce the Error** - provide a live example or a unambiguous set of steps
* **Related Issues** - has a similar issue been reported before?
* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be
causing the problem (line of code or commit)
You can file new issues by providing the above information at the corresponding repository's issues link: https://github.com/[organization-name]/[repository-name]/issues/new].
### <a name="submit-pr"></a> Submitting a Pull Request (PR)
Before you submit your Pull Request (PR) consider the following guidelines:
* Search the repository (https://github.com/[organization-name]/[repository-name]/pulls) for an open or closed PR
that relates to your submission. You don't want to duplicate effort.
* Make your changes in a new git fork:
* Commit your changes using a descriptive commit message
* Push your fork to GitHub:
* In GitHub, create a pull request
* If we suggest changes then:
* Make the required updates.
* Rebase your fork and force push to your GitHub repository (this will update your Pull Request):
```shell
git rebase master -i
git push -f
```
That's it! Thank you for your contribution!

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 Microsoft OpenHack
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

23
LICENSE.md Normal file
View File

@ -0,0 +1,23 @@
# MIT License
Copyright (c) Microsoft Corporation. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE
Ryan was here

View File

@ -0,0 +1,64 @@
MICROSOFT SOFTWARE LICENSE TERMS
MICROSOFT WINDOWS AZURE MOBILE SDK
These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft
• updates,
• supplements,
• Internet-based services, and
• support services
for this software, unless other terms accompany those items. If so, those terms apply.
By using the software, you accept these terms. If you do not accept them, do not use the software.
If you comply with these license terms, you have the perpetual rights below.
1. INSTALLATION AND USE RIGHTS.
a. Installation and Use. You may install and use any number of copies of the software on your devices.
b. Third Party Programs. The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only.
2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
a. Distributable Code. The software contains code that you are permitted to distribute in programs you develop if you comply with the terms below.
i. Right to Use and Distribute. The code and text files listed below are “Distributable Code.”
• Redistributable Files. You may copy and distribute the object code form of .dll, .jar and iOS framework and static library files.
• Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.
ii. Distribution Requirements. For any Distributable Code you distribute, you must
• add significant primary functionality to it in your programs;
• require distributors and external end users to agree to terms that protect it at least as much as this agreement;
• display your valid copyright notice on your programs; and
• indemnify, defend, and hold harmless Microsoft from any claims, including attorneys fees, related to the distribution or use of your programs.
iii. Distribution Restrictions. You may not
• alter any copyright, trademark or patent notice in the Distributable Code;
• use Microsofts trademarks in your programs names or in a way that suggests your programs come from or are endorsed by Microsoft;
• distribute Distributable Code to run on a platform other than the Windows Azure platform;
• include Distributable Code in malicious, deceptive or unlawful programs; or
• modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that
• the code be disclosed or distributed in source code form; or
• others have the right to modify it.
3. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
• work around any technical limitations in the software;
• reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;
• publish the software for others to copy;
• rent, lease or lend the software; or
• use the software for commercial software hosting services.
4. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software.
5. DOCUMENTATION. Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.
6. TRANSFER TO A THIRD PARTY. The first user of the software may transfer it and this agreement directly to a third party. Before the transfer, that party must agree that this agreement applies to the transfer and use of the software. The first user must uninstall the software before transferring it separately from the device. The first user may not retain any copies.
7. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting.
8. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it.
9. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.
10. APPLICABLE LAW.
a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
b. Outside the United States. If you acquired the software in any other country, the laws of that country apply.
11. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.
12. DISCLAIMER OF WARRANTY. The software is licensed “as-is.” You bear the risk of using it. Microsoft gives no express warranties, guarantees or conditions. You may have additional consumer rights or statutory guarantees under your local laws which this agreement cannot change. To the extent permitted under your local laws, Microsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
FOR AUSTRALIA You have statutory guarantees under the Australian Consumer Law and nothing in these terms is intended to affect those rights.
13. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. You can recover from Microsoft and its suppliers only direct damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages.
This limitation applies to
• anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and
• claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.
Please note: As this software is distributed in Quebec, Canada, these license terms are provided below in French.
Remarque : Ce logiciel étant distribué au Québec, Canada, les termes de cette licence sont fournis ci-dessous en français.
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft naccorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, dadéquation à un usage particulier et dabsence de contrefaçon sont exclues.
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.
Cette limitation concerne :
• tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et
• les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou dune autre faute dans la limite autorisée par la loi en vigueur.
Elle sapplique également, même si Microsoft connaissait ou devrait connaître léventualité dun tel dommage. Si votre pays nautorise pas lexclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou lexclusion ci-dessus ne sappliquera pas à votre égard.
EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir dautres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.

View File

@ -0,0 +1,16 @@
Copyright 2015 Refractored LLC/James Montemagno
Original License
Copyright 2014 - 2015 Henning Dodenhof
Licensed 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.

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2016 James Montemagno / Refractored LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,38 @@
The MIT License (MIT)
Copyright (c) 2016 JamesMontemagno/Refractored LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Dirived from: [@Cheesebaron](http://www.github.com/cheesebaron)
//---------------------------------------------------------------------------------
// Copyright 2013 Tomasz Cielecki (tomasz@ostebaronen.dk)
// Licensed 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
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR
// CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED,
// INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR
// CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
// MERCHANTABLITY OR NON-INFRINGEMENT.
// See the Apache 2 License for the specific language governing
// permissions and limitations under the License.
//---------------------------------------------------------------------------------

Binary file not shown.

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Joseph Hill
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2016 James Montemagno / Refractored LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,119 @@
Uses the the following:
Xamarin.GooglePlayServices.Base
Xamarin.GooglePlayServices.Basement
Xamarin.GooglePlayServices.Maps
Under the following:
License Terms and Conditions
This is the Android Software Development Kit License Agreement.
Introduction
1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
Accepting this License Agreement
2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
SDK License from Google
3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
Use of the SDK by You
4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
Your Developer Credentials
5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
Privacy and Information
6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
Third Party Applications
7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
Using Android APIs
8.1 Google Data APIs
8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
Terminating this License Agreement
9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
9.3 Google may at any time, terminate this License Agreement with you if: (A) you have breached any provision of this License Agreement; or (B) Google is required to do so by law; or (C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or (D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
DISCLAIMER OF WARRANTIES
10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
LIMITATION OF LIABILITY
11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
Indemnification
12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
Changes to the License Agreement
13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
General Legal Terms
14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
November 13, 2012

View File

@ -0,0 +1,152 @@
LICENSE INFORMATION (I)
The Hockey SDK is provided under the following license:
Copyright (c) 2011, 2012 HockeyApp, Bit Stadium GmbH.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
LICENSE INFORMATION (II)
The following classes are based on code from the project android-remote-stacktrace:
Constants
CrashManager
ExceptionHandler
Source: http://code.google.com/p/android-remote-stacktrace/
The original license of these classes is:
Copyright (c) 2009 nullwire aps
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Contributors:
Mads Kristiansen, mads.kristiansen@nullwire.com
Glen Humphrey
Evan Charlton
Peter Hewitt
The MIT License
Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH.
All rights reserved.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as noted below, PLCrashReporter is provided under the following license:
Copyright (c) 2008 - 2014 Plausible Labs Cooperative, Inc.
Copyright (c) 2012 - 2014 HockeyApp, Bit Stadium GmbH.
All rights reserved.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
The protobuf-c library, as well as the PLCrashLogWriterEncoding.c file are licensed as follows:
Copyright 2008, Dave Benson.
Licensed 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.
TTTAttributedLabel is licensed as follows:
Copyright (c) 2011 Mattt Thompson (http://mattt.me/)
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
SFHFKeychainUtils is licensed as follows:
Created by Buzz Andersen on 10/20/08.
Based partly on code by Jonathan Wight, Jon Crosby, and Mike Malone.
Copyright 2008 Sci-Fi Hi-Fi. All rights reserved.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,35 @@
The MIT License (MIT)
Copyright (c) 2012-2014 Mehdi Khalili
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
==============================================================================
Inflector (https://github.com/srkirkland/Inflector)
The MIT License (MIT)
Copyright (c) 2013 Scott Kirkland
==============================================================================
ByteSize (https://github.com/omar/ByteSize)
The MIT License (MIT)
Copyright (c) 2013-2014 Omar Khudeira (http://omar.io)
==============================================================================

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2007 James Newton-King
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2016 James Montemagno / Refractored LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2016 James Montemagno / Refractored LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,60 @@
Microsoft Public License (Ms-PL)
This license governs use of the accompanying software. If you use the software,
you accept this license. If you do not accept the license, do not use the
software.
1. Definitions
The terms "reproduce," "reproduction," "derivative works," and "distribution"
have the same meaning here as under U.S. copyright law.
A "contribution" is the original software, or any additions or changes to the
software.
A "contributor" is any person that distributes its contribution under this
license.
"Licensed patents" are a contributor's patent claims that read directly on its
contribution.
2. Grant of Rights
(A) Copyright Grant- Subject to the terms of this license, including the license
conditions and limitations in section 3, each contributor grants you a
non-exclusive, worldwide, royalty-free copyright license to reproduce its
contribution, prepare derivative works of its contribution, and distribute its
contribution or any derivative works that you create.
(B) Patent Grant- Subject to the terms of this license, including the license
conditions and limitations in section 3, each contributor grants you a
non-exclusive, worldwide, royalty-free license under its licensed patents to
make, have made, use, sell, offer for sale, import, and/or otherwise dispose of
its contribution in the software or derivative works of the contribution in the
software.
3. Conditions and Limitations
(A) No Trademark License- This license does not grant you rights to use any
contributors' name, logo, or trademarks.
(B) If you bring a patent claim against any contributor over patents that you
claim are infringed by the software, your patent license from such contributor
to the software ends automatically.
(C) If you distribute any portion of the software, you must retain all
copyright, patent, trademark, and attribution notices that are present in the
software.
(D) If you distribute any portion of the software in source code form, you may
do so only under this license by including a complete copy of this license with
your distribution. If you distribute any portion of the software in compiled or
object code form, you may only do so under a license that complies with this
license.
(E) The software is licensed "as-is." You bear the risk of using it. The
contributors give no express warranties, guarantees or conditions. You may have
additional consumer rights under your local laws which this license cannot
change. To the extent permitted under your local laws, the contributors exclude
the implied warranties of merchantability, fitness for a particular purpose and
non-infringement.

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2016 James Montemagno / Refractored LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,13 @@
Copyright 2015 Square, Inc.
Licensed 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.

View File

@ -0,0 +1,7 @@
Copyright (c) 2009 Olivier Poitrey rs@dailymotion.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2016 James Montemagno / Refractored LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,9 @@
The MIT License (MIT)
Copyright (c) 2015 Jakob Gürtl & James Montemagno/Refractored LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,313 @@
Uses the following Libraries:
Xamarin.Android.Support.Design
Xamarin.Android.Support.v14.Preference
Xamarin.Android.Support.v4
Xamarin.Android.Support.v7.AppCompat
Xamarin.Android.Support.v7.CardView
Xamarin.Android.Support.v7.Palette
Xamarin.Android.Support.v7.Preference
Xamarin.Android.Support.v7.RecyclerView
Xamarin.Android.Support.v8.RenderScript
Under the following:
License Terms and Conditions
This is the Android Software Development Kit License Agreement.
1. Introduction
1.1 The Android Software Development Kit (referred to in this License Agreement as the
"SDK" and specifically including the Android system files, packaged APIs, and Google APIs
add-ons) is licensed to you subject to the terms of this License Agreement. This License
Agreement forms a legally binding contract between you and Google in relation to your use
of the SDK.
1.2 "Android" means the Android software stack for devices, as made available under the
Android Open Source Project, which is located at the following URL:
http://source.android.com/, as updated from time to time.
1.3 "Google" means Google Inc., a Delaware corporation with principal place of business
at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
2. Accepting this License Agreement
2.1 In order to use the SDK, you must first agree to this License Agreement. You may not
use the SDK if you do not accept this License Agreement.
2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
2.3 You may not use the SDK and may not accept the License Agreement if you are a person
barred from receiving the SDK under the laws of the United States or other countries
including the country in which you are resident or from which you use the SDK.
2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer
or other entity, you represent and warrant that you have full legal authority to bind your
employer or such entity to this License Agreement. If you do not have the requisite
authority, you may not accept the License Agreement or use the SDK on behalf of your
employer or other entity.
3. SDK License from Google
3.1 Subject to the terms of this License Agreement, Google grants you a limited,
worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to
develop applications to run on the Android platform.
3.2 You agree that Google or third parties own all legal right, title and interest in and
to the SDK, including any Intellectual Property Rights that subsist in the SDK.
"Intellectual Property Rights" means any and all rights under patent law, copyright law,
trade secret law, trademark law, and any and all other proprietary rights. Google reserves
all rights not expressly granted to you.
3.3 You may not use the SDK for any purpose not expressly permitted by this License
Agreement. Except to the extent required by applicable third party licenses, you may not:
(a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse
engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or
(b) load any part of the SDK onto a mobile handset or any other hardware device except a
personal computer, combine any part of the SDK with other software, or distribute any
software or device incorporating a part of the SDK.
3.4 You agree that you will not take any actions that may cause or result in the
fragmentation of Android, including but not limited to distributing, participating in the
creation of, or promoting in any way a software development kit derived from the SDK.
3.5 Use, reproduction and distribution of components of the SDK licensed under an open
source software license are governed solely by the terms of that open source software
license and not this License Agreement.
3.6 You agree that the form and nature of the SDK that Google provides may change without
prior notice to you and that future versions of the SDK may be incompatible with
applications developed on previous versions of the SDK. You agree that Google may stop
(permanently or temporarily) providing the SDK (or any features within the SDK) to you or
to users generally at Google's sole discretion, without prior notice to you.
3.7 Nothing in this License Agreement gives you a right to use any of Google's trade
names, trademarks, service marks, logos, domain names, or other distinctive brand
features.
3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices
(including copyright and trademark notices) that may be affixed to or contained within the
SDK.
4. Use of the SDK by You
4.1 Google agrees that it obtains no right, title or interest from you (or your
licensors) under this License Agreement in or to any software applications that you
develop using the SDK, including any intellectual property rights that subsist in those
applications.
4.2 You agree to use the SDK and write applications only for purposes that are permitted
by (a) this License Agreement and (b) any applicable law, regulation or generally accepted
practices or guidelines in the relevant jurisdictions (including any laws regarding the
export of data or software to and from the United States or other relevant countries).
4.3 You agree that if you use the SDK to develop applications for general public users,
you will protect the privacy and legal rights of those users. If the users provide you
with user names, passwords, or other login information or personal information, you must
make the users aware that the information will be available to your application, and you
must provide legally adequate privacy notice and protection for those users. If your
application stores personal or sensitive information provided by users, it must do so
securely. If the user provides your application with Google Account information, your
application may only use that information to access the user's Google Account when, and
for the limited purposes for which, the user has given you permission to do so.
4.4 You agree that you will not engage in any activity with the SDK, including the
development or distribution of an application, that interferes with, disrupts, damages, or
accesses in an unauthorized manner the servers, networks, or other properties or services
of any third party including, but not limited to, Google or any mobile communications
carrier.
4.5 You agree that you are solely responsible for (and that Google has no responsibility
to you or to any third party for) any data, content, or resources that you create,
transmit or display through Android and/or applications for Android, and for the
consequences of your actions (including any loss or damage which Google may suffer) by
doing so.
4.6 You agree that you are solely responsible for (and that Google has no responsibility
to you or to any third party for) any breach of your obligations under this License
Agreement, any applicable third party contract or Terms of Service, or any applicable law
or regulation, and for the consequences (including any loss or damage which Google or any
third party may suffer) of any such breach.
5. Your Developer Credentials
5.1 You agree that you are responsible for maintaining the confidentiality of any
developer credentials that may be issued to you by Google or which you may choose yourself
and that you will be solely responsible for all applications that are developed under your
developer credentials.
6. Privacy and Information
6.1 In order to continually innovate and improve the SDK, Google may collect certain
usage statistics from the software including but not limited to a unique identifier,
associated IP address, version number of the software, and information on which tools
and/or services in the SDK are being used and how they are being used. Before any of this
information is collected, the SDK will notify you and seek your consent. If you withhold
consent, the information will not be collected.
6.2 The data collected is examined in the aggregate to improve the SDK and is maintained
in accordance with Google's Privacy Policy.
7. Third Party Applications
7.1 If you use the SDK to run applications developed by a third party or that access
data, content or resources provided by a third party, you agree that Google is not
responsible for those applications, data, content, or resources. You understand that all
data, content or resources which you may access through such third party applications are
the sole responsibility of the person from which they originated and that Google is not
liable for any loss or damage that you may experience as a result of the use or access of
any of those third party applications, data, content, or resources.
7.2 You should be aware the data, content, and resources presented to you through such a
third party application may be protected by intellectual property rights which are owned
by the providers (or by other persons or companies on their behalf). You may not modify,
rent, lease, loan, sell, distribute or create derivative works based on these data,
content, or resources (either in whole or in part) unless you have been specifically given
permission to do so by the relevant owners.
7.3 You acknowledge that your use of such third party applications, data, content, or
resources may be subject to separate terms between you and the relevant third party. In
that case, this License Agreement does not affect your legal relationship with these third
parties.
8. Using Android APIs
8.1 Google Data APIs
8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may
be protected by intellectual property rights which are owned by Google or those parties
that provide the data (or by other persons or companies on their behalf). Your use of any
such API may be subject to additional Terms of Service. You may not modify, rent, lease,
loan, sell, distribute or create derivative works based on this data (either in whole or
in part) unless allowed by the relevant Terms of Service.
8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree
that you shall retrieve data only with the user's explicit consent and only when, and for
the limited purposes for which, the user has given you permission to do so.
9. Terminating this License Agreement
9.1 This License Agreement will continue to apply until terminated by either you or
Google as set out below.
9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of
the SDK and any relevant developer credentials.
9.3 Google may at any time, terminate this License Agreement with you if:
(A) you have breached any provision of this License Agreement; or
(B) Google is required to do so by law; or
(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has
terminated its relationship with Google or ceased to offer certain parts of the SDK to
you; or
(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in
the country in which you are resident or from which you use the service, or the provision
of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no
longer commercially viable.
9.4 When this License Agreement comes to an end, all of the legal rights, obligations and
liabilities that you and Google have benefited from, been subject to (or which have
accrued over time whilst this License Agreement has been in force) or which are expressed
to continue indefinitely, shall be unaffected by this cessation, and the provisions of
paragraph 14.7 shall continue to apply to such rights, obligations and liabilities
indefinitely.
10. DISCLAIMER OF WARRANTIES
10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND
THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM
GOOGLE.
10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE
USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY
DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND,
WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND
CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
11. LIMITATION OF LIABILITY
11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND
ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY
YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN
ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
12. Indemnification
12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold
harmless Google, its affiliates and their respective directors, officers, employees and
agents from and against any and all claims, actions, suits or proceedings, as well as any
and all losses, liabilities, damages, costs and expenses (including reasonable attorneys
fees) arising out of or accruing from (a) your use of the SDK, (b) any application you
develop on the SDK that infringes any copyright, trademark, trade secret, trade dress,
patent or other intellectual property right of any person or defames any person or
violates their rights of publicity or privacy, and (c) any non-compliance by you with this
License Agreement.
13. Changes to the License Agreement
13.1 Google may make changes to the License Agreement as it distributes new versions of
the SDK. When these changes are made, Google will make a new version of the License
Agreement available on the website where the SDK is made available.
14. General Legal Terms
14.1 This License Agreement constitutes the whole legal agreement between you and Google
and governs your use of the SDK (excluding any services which Google may provide to you
under a separate written agreement), and completely replaces any prior agreements between
you and Google in relation to the SDK.
14.2 You agree that if Google does not exercise or enforce any legal right or remedy
which is contained in this License Agreement (or which Google has the benefit of under any
applicable law), this will not be taken to be a formal waiver of Google's rights and that
those rights or remedies will still be available to Google.
14.3 If any court of law, having the jurisdiction to decide on this matter, rules that
any provision of this License Agreement is invalid, then that provision will be removed
from this License Agreement without affecting the rest of this License Agreement. The
remaining provisions of this License Agreement will continue to be valid and enforceable.
14.4 You acknowledge and agree that each member of the group of companies of which Google
is the parent shall be third party beneficiaries to this License Agreement and that such
other companies shall be entitled to directly enforce, and rely upon, any provision of
this License Agreement that confers a benefit on (or rights in favor of) them. Other than
this, no other person or company shall be third party beneficiaries to this License
Agreement.
14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND
REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND
REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END
USERS AND END USE.
14.6 The rights granted in this License Agreement may not be assigned or transferred by
either you or Google without the prior written approval of the other party. Neither you
nor Google shall be permitted to delegate their responsibilities or obligations under this
License Agreement without the prior written approval of the other party.
14.7 This License Agreement, and your relationship with Google under this License
Agreement, shall be governed by the laws of the State of California without regard to its
conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction
of the courts located within the county of Santa Clara, California to resolve any legal
matter arising from this License Agreement. Notwithstanding this, you agree that Google
shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent
legal relief) in any jurisdiction.
November 13, 2012

View File

@ -0,0 +1,30 @@
Microsoft Public License (MS-PL)
This license governs use of the accompanying software. If you use the software, you
accept this license. If you do not accept the license, do not use the software.
1. Definitions
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the
same meaning here as under U.S. copyright law.
A "contribution" is the original software, or any additions or changes to the software.
A "contributor" is any person that distributes its contribution under this license.
"Licensed patents" are a contributor's patent claims that read directly on its contribution.
2. Grant of Rights
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
3. Conditions and Limitations
(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.

787
MobileApps/MyDriving.XS.sln Normal file
View File

@ -0,0 +1,787 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.iOS", "MyDriving\MyDriving.iOS\MyDriving.iOS.csproj", "{DE56E591-0655-43D7-A1B9-B3280F78B667}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving", "MyDriving\MyDriving\MyDriving.csproj", "{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataStores", "DataStores", "{98F8827C-12D8-4C8D-9D62-15889A483880}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Abstractions", "MyDriving\MyDriving.DataStore.Abstractions\MyDriving.DataStore.Abstractions.csproj", "{649300CE-70EA-4606-983F-F4476FDD6C7E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Azure", "MyDriving\MyDriving.DataStore.Azure\MyDriving.DataStore.Azure.csproj", "{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Mock", "MyDriving\MyDriving.DataStore.Mock\MyDriving.DataStore.Mock.csproj", "{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "MyDriving.DataObjects", "MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.shproj", "{BD4403C0-6CD5-4030-B1A3-7AD98B9B80CA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.Android", "MyDriving\MyDriving.Android\MyDriving.Android.csproj", "{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{7D1FFE34-9A92-4875-84BC-DE9764B18E42}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.UITests", "MyDriving\MyDriving.UITests\MyDriving.UITests.csproj", "{955B6F86-BB30-4BD6-A1AD-B192F89C1363}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.Utils", "MyDriving\MyDriving.Utils\MyDriving.Utils.csproj", "{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.AzureClient", "MyDriving\MyDriving.AzureClient\MyDriving.AzureClient.csproj", "{29B6B823-6639-4942-9723-0075BBEF7C69}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdLibAndroid", "..\OBDLibrary\ObdLibAndroid\ObdLibAndroid.csproj", "{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "MyDriving.Shared", "MyDriving\MyDriving.Shared\MyDriving.Shared.shproj", "{EFA3478D-88C0-41A8-AD5E-5878E42FE3E2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdLibiOS", "..\OBDLibrary\ObdLibiOS\ObdLibiOS.csproj", "{8B136D60-8E68-4871-BF25-52E27C61E8E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdShare", "..\OBDLibrary\ObdShare\ObdShare.csproj", "{7A88DA9B-A374-4DE2-B46E-ED2C45434508}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.projitems*{bd4403c0-6cd5-4030-b1a3-7ad98b9b80ca}*SharedItemsImports = 13
MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.projitems*{649300ce-70ea-4606-983f-f4476fdd6c7e}*SharedItemsImports = 4
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{efa3478d-88c0-41a8-ad5e-5878e42fe3e2}*SharedItemsImports = 13
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{b09661c2-82a6-4d16-b4fd-7b23d0ffe1fe}*SharedItemsImports = 4
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{de56e591-0655-43d7-a1b9-b3280f78b667}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
AppStore|Any CPU = AppStore|Any CPU
AppStore|ARM = AppStore|ARM
AppStore|iPhone = AppStore|iPhone
AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
AppStore|Mixed Platforms = AppStore|Mixed Platforms
AppStore|x64 = AppStore|x64
AppStore|x86 = AppStore|x86
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|iPhone = Debug|iPhone
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Release|Mixed Platforms = Release|Mixed Platforms
Release|x64 = Release|x64
Release|x86 = Release|x86
XTC|Any CPU = XTC|Any CPU
XTC|ARM = XTC|ARM
XTC|iPhone = XTC|iPhone
XTC|iPhoneSimulator = XTC|iPhoneSimulator
XTC|Mixed Platforms = XTC|Mixed Platforms
XTC|x64 = XTC|x64
XTC|x86 = XTC|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Any CPU.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Any CPU.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|ARM.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|ARM.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhone.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhone.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Mixed Platforms.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Mixed Platforms.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x64.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x64.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x86.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x86.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|Any CPU.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|ARM.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhone.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhone.Build.0 = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|Mixed Platforms.ActiveCfg = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|x64.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|x86.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Any CPU.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Any CPU.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|ARM.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhone.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhone.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Mixed Platforms.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Mixed Platforms.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|x64.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|x86.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Any CPU.ActiveCfg = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Any CPU.Build.0 = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|ARM.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|ARM.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhone.ActiveCfg = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhone.Build.0 = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhoneSimulator.ActiveCfg = XTC|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhoneSimulator.Build.0 = XTC|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x64.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x64.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x86.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x86.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Any CPU.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|ARM.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|ARM.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhone.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x64.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x64.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x86.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x86.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|ARM.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhone.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x64.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x64.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x86.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x86.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Any CPU.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|ARM.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|ARM.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhone.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhone.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x64.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x64.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x86.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x86.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Any CPU.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|ARM.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhone.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x64.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x64.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x86.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x86.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Any CPU.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|ARM.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|ARM.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhone.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x64.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x64.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x86.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x86.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|ARM.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|ARM.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhone.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x64.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x64.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x86.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x86.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Any CPU.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|ARM.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|ARM.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhone.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhone.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x64.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x64.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x86.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x86.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Any CPU.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|ARM.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|ARM.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhone.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x64.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x64.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x86.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x86.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Any CPU.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|ARM.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|ARM.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhone.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x64.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x64.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x86.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x86.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|ARM.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhone.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x64.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x64.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x86.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x86.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Any CPU.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|ARM.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|ARM.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhone.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhone.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x64.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x64.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x86.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x86.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Any CPU.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|ARM.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhone.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x64.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x64.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x86.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x86.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Any CPU.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|ARM.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|ARM.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhone.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x64.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x64.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x86.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x86.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|ARM.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|ARM.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhone.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x64.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x64.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x86.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x86.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Any CPU.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|ARM.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|ARM.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhone.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhone.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x64.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x64.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x86.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x86.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Any CPU.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|ARM.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|ARM.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhone.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x64.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x64.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x86.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x86.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Any CPU.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|ARM.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|ARM.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|ARM.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhone.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhone.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Mixed Platforms.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x64.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x64.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x64.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x86.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x86.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x86.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|ARM.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|ARM.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|ARM.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhone.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhone.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Mixed Platforms.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x64.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x64.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x64.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x86.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x86.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x86.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Any CPU.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Any CPU.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|ARM.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|ARM.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|ARM.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhone.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhone.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhone.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Mixed Platforms.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x64.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x64.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x64.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x86.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x86.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x86.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Any CPU.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Any CPU.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|ARM.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|ARM.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|ARM.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhone.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhone.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhoneSimulator.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Mixed Platforms.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x64.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x64.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x64.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x86.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x86.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x86.Deploy.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Any CPU.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|ARM.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|ARM.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhone.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x64.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x64.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x86.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x86.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Any CPU.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|ARM.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|ARM.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhone.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x64.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x64.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x86.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x86.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Any CPU.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Any CPU.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|ARM.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|ARM.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhone.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhone.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x64.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x64.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x86.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x86.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Any CPU.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|ARM.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|ARM.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhone.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x64.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x64.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x86.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x86.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Any CPU.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|ARM.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|ARM.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhone.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x64.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x64.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x86.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x86.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|ARM.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhone.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x64.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x64.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x86.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x86.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Any CPU.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|ARM.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|ARM.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhone.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhone.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x64.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x64.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x86.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x86.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Any CPU.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|ARM.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhone.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x64.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x64.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x86.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x86.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Any CPU.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|ARM.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|ARM.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhone.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x64.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x64.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x86.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x86.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Any CPU.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|ARM.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|ARM.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhone.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x64.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x64.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x86.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x86.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Any CPU.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Any CPU.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|ARM.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|ARM.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhone.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhone.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x64.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x64.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x86.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x86.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Any CPU.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|ARM.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|ARM.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhone.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x64.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x64.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x86.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x86.Build.0 = XTC|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|Any CPU.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|ARM.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|ARM.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|iPhone.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|x64.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|x64.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|x86.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|x86.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|ARM.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|ARM.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|iPhone.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|x64.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|x64.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|x86.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|x86.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|Any CPU.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|ARM.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|ARM.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|iPhone.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|iPhone.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|x64.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|x64.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|x86.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|x86.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|Any CPU.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|ARM.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|ARM.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|iPhone.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|iPhone.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|iPhoneSimulator.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|Mixed Platforms.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|x64.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|x64.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|x86.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|x86.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Any CPU.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|ARM.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|ARM.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhone.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x64.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x64.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x86.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x86.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|ARM.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|ARM.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhone.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x64.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x64.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x86.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x86.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Any CPU.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|ARM.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|ARM.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhone.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhone.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x64.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x64.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x86.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x86.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Any CPU.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|ARM.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|ARM.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhone.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x64.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x64.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x86.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x86.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Any CPU.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|ARM.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|ARM.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhone.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x64.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x64.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x86.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x86.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|ARM.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|ARM.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhone.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x64.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x64.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x86.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x86.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Any CPU.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|ARM.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|ARM.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhone.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhone.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x64.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x64.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x86.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x86.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Any CPU.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Any CPU.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|ARM.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|ARM.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhone.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x64.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x64.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x86.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x86.Build.0 = XTC|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{649300CE-70EA-4606-983F-F4476FDD6C7E} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{BD4403C0-6CD5-4030-B1A3-7AD98B9B80CA} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{955B6F86-BB30-4BD6-A1AD-B192F89C1363} = {7D1FFE34-9A92-4875-84BC-DE9764B18E42}
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{29B6B823-6639-4942-9723-0075BBEF7C69} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{8B136D60-8E68-4871-BF25-52E27C61E8E9} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{7A88DA9B-A374-4DE2-B46E-ED2C45434508} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,641 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.iOS", "MyDriving\MyDriving.iOS\MyDriving.iOS.csproj", "{DE56E591-0655-43D7-A1B9-B3280F78B667}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving", "MyDriving\MyDriving\MyDriving.csproj", "{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataStores", "DataStores", "{98F8827C-12D8-4C8D-9D62-15889A483880}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Abstractions", "MyDriving\MyDriving.DataStore.Abstractions\MyDriving.DataStore.Abstractions.csproj", "{649300CE-70EA-4606-983F-F4476FDD6C7E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Azure", "MyDriving\MyDriving.DataStore.Azure\MyDriving.DataStore.Azure.csproj", "{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Mock", "MyDriving\MyDriving.DataStore.Mock\MyDriving.DataStore.Mock.csproj", "{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "MyDriving.DataObjects", "MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.shproj", "{BD4403C0-6CD5-4030-B1A3-7AD98B9B80CA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{7D1FFE34-9A92-4875-84BC-DE9764B18E42}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.UITests", "MyDriving\MyDriving.UITests\MyDriving.UITests.csproj", "{955B6F86-BB30-4BD6-A1AD-B192F89C1363}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.Utils", "MyDriving\MyDriving.Utils\MyDriving.Utils.csproj", "{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.AzureClient", "MyDriving\MyDriving.AzureClient\MyDriving.AzureClient.csproj", "{29B6B823-6639-4942-9723-0075BBEF7C69}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "MyDriving.Shared", "MyDriving\MyDriving.Shared\MyDriving.Shared.shproj", "{EFA3478D-88C0-41A8-AD5E-5878E42FE3E2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdLibiOS", "..\OBDLibrary\ObdLibiOS\ObdLibiOS.csproj", "{8B136D60-8E68-4871-BF25-52E27C61E8E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdShare", "..\OBDLibrary\ObdShare\ObdShare.csproj", "{7A88DA9B-A374-4DE2-B46E-ED2C45434508}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.projitems*{bd4403c0-6cd5-4030-b1a3-7ad98b9b80ca}*SharedItemsImports = 13
MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.projitems*{649300ce-70ea-4606-983f-f4476fdd6c7e}*SharedItemsImports = 4
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{efa3478d-88c0-41a8-ad5e-5878e42fe3e2}*SharedItemsImports = 13
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{de56e591-0655-43d7-a1b9-b3280f78b667}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
AppStore|Any CPU = AppStore|Any CPU
AppStore|ARM = AppStore|ARM
AppStore|iPhone = AppStore|iPhone
AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
AppStore|Mixed Platforms = AppStore|Mixed Platforms
AppStore|x64 = AppStore|x64
AppStore|x86 = AppStore|x86
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|iPhone = Debug|iPhone
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Release|Mixed Platforms = Release|Mixed Platforms
Release|x64 = Release|x64
Release|x86 = Release|x86
XTC|Any CPU = XTC|Any CPU
XTC|ARM = XTC|ARM
XTC|iPhone = XTC|iPhone
XTC|iPhoneSimulator = XTC|iPhoneSimulator
XTC|Mixed Platforms = XTC|Mixed Platforms
XTC|x64 = XTC|x64
XTC|x86 = XTC|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Any CPU.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Any CPU.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|ARM.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|ARM.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhone.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhone.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Mixed Platforms.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Mixed Platforms.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x64.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x64.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x86.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x86.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|Any CPU.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|ARM.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhone.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhone.Build.0 = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|Mixed Platforms.ActiveCfg = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|x64.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|x86.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Any CPU.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Any CPU.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|ARM.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhone.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhone.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Mixed Platforms.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Mixed Platforms.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|x64.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|x86.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Any CPU.ActiveCfg = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Any CPU.Build.0 = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|ARM.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|ARM.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhone.ActiveCfg = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhone.Build.0 = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhoneSimulator.ActiveCfg = XTC|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhoneSimulator.Build.0 = XTC|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x64.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x64.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x86.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x86.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Any CPU.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|ARM.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|ARM.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhone.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x64.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x64.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x86.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x86.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|ARM.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhone.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x64.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x64.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x86.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x86.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Any CPU.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|ARM.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|ARM.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhone.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhone.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x64.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x64.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x86.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x86.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Any CPU.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|ARM.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhone.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x64.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x64.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x86.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x86.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Any CPU.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|ARM.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|ARM.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhone.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x64.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x64.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x86.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x86.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|ARM.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|ARM.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhone.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x64.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x64.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x86.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x86.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Any CPU.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|ARM.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|ARM.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhone.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhone.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x64.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x64.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x86.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x86.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Any CPU.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|ARM.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|ARM.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhone.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x64.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x64.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x86.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x86.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Any CPU.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|ARM.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|ARM.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhone.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x64.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x64.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x86.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x86.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|ARM.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhone.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x64.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x64.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x86.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x86.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Any CPU.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|ARM.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|ARM.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhone.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhone.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x64.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x64.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x86.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x86.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Any CPU.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|ARM.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhone.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x64.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x64.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x86.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x86.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Any CPU.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|ARM.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|ARM.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhone.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x64.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x64.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x86.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x86.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|ARM.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|ARM.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhone.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x64.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x64.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x86.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x86.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Any CPU.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|ARM.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|ARM.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhone.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhone.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x64.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x64.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x86.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x86.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Any CPU.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|ARM.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|ARM.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhone.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x64.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x64.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x86.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x86.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Any CPU.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|ARM.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|ARM.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhone.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x64.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x64.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x86.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x86.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Any CPU.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|ARM.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|ARM.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhone.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x64.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x64.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x86.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x86.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Any CPU.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Any CPU.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|ARM.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|ARM.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhone.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhone.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x64.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x64.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x86.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x86.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Any CPU.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|ARM.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|ARM.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhone.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x64.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x64.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x86.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x86.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Any CPU.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|ARM.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|ARM.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhone.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x64.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x64.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x86.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x86.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|ARM.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhone.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x64.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x64.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x86.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x86.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Any CPU.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|ARM.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|ARM.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhone.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhone.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x64.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x64.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x86.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x86.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Any CPU.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|ARM.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhone.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x64.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x64.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x86.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x86.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Any CPU.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|ARM.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|ARM.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhone.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x64.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x64.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x86.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x86.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Any CPU.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|ARM.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|ARM.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhone.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x64.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x64.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x86.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x86.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Any CPU.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Any CPU.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|ARM.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|ARM.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhone.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhone.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x64.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x64.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x86.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x86.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Any CPU.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|ARM.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|ARM.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhone.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x64.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x64.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x86.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x86.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Any CPU.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|ARM.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|ARM.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhone.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x64.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x64.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x86.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x86.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|ARM.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|ARM.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhone.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x64.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x64.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x86.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x86.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Any CPU.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|ARM.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|ARM.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhone.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhone.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x64.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x64.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x86.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x86.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Any CPU.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|ARM.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|ARM.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhone.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x64.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x64.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x86.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x86.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Any CPU.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|ARM.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|ARM.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhone.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x64.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x64.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x86.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x86.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|ARM.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|ARM.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhone.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x64.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x64.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x86.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x86.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Any CPU.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|ARM.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|ARM.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhone.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhone.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x64.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x64.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x86.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x86.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Any CPU.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|ARM.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|ARM.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhone.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x64.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x64.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x86.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x86.Build.0 = XTC|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{649300CE-70EA-4606-983F-F4476FDD6C7E} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{BD4403C0-6CD5-4030-B1A3-7AD98B9B80CA} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{955B6F86-BB30-4BD6-A1AD-B192F89C1363} = {7D1FFE34-9A92-4875-84BC-DE9764B18E42}
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{29B6B823-6639-4942-9723-0075BBEF7C69} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{8B136D60-8E68-4871-BF25-52E27C61E8E9} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{7A88DA9B-A374-4DE2-B46E-ED2C45434508} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
EndGlobalSection
EndGlobal

925
MobileApps/MyDriving.sln Normal file
View File

@ -0,0 +1,925 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.iOS", "MyDriving\MyDriving.iOS\MyDriving.iOS.csproj", "{DE56E591-0655-43D7-A1B9-B3280F78B667}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving", "MyDriving\MyDriving\MyDriving.csproj", "{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.UWP", "MyDriving\MyDriving.UWP\MyDriving.UWP.csproj", "{219EDCA6-56BB-4EBD-AE46-C691F0AED767}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataStores", "DataStores", "{98F8827C-12D8-4C8D-9D62-15889A483880}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Abstractions", "MyDriving\MyDriving.DataStore.Abstractions\MyDriving.DataStore.Abstractions.csproj", "{649300CE-70EA-4606-983F-F4476FDD6C7E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Azure", "MyDriving\MyDriving.DataStore.Azure\MyDriving.DataStore.Azure.csproj", "{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.DataStore.Mock", "MyDriving\MyDriving.DataStore.Mock\MyDriving.DataStore.Mock.csproj", "{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "MyDriving.DataObjects", "MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.shproj", "{BD4403C0-6CD5-4030-B1A3-7AD98B9B80CA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{7D1FFE34-9A92-4875-84BC-DE9764B18E42}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.UITests", "MyDriving\MyDriving.UITests\MyDriving.UITests.csproj", "{955B6F86-BB30-4BD6-A1AD-B192F89C1363}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.Utils", "MyDriving\MyDriving.Utils\MyDriving.Utils.csproj", "{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdLibUWP", "..\OBDLibrary\ObdLibUWP\ObdLibUWP.csproj", "{812692D4-C638-4FD1-AEA7-407824B134A6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.Android", "MyDriving\MyDriving.Android\MyDriving.Android.csproj", "{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyDriving.AzureClient", "MyDriving\MyDriving.AzureClient\MyDriving.AzureClient.csproj", "{29B6B823-6639-4942-9723-0075BBEF7C69}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdLibAndroid", "..\OBDLibrary\ObdLibAndroid\ObdLibAndroid.csproj", "{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "MyDriving.Shared", "MyDriving\MyDriving.Shared\MyDriving.Shared.shproj", "{EFA3478D-88C0-41A8-AD5E-5878E42FE3E2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdShare", "..\OBDLibrary\ObdShare\ObdShare.csproj", "{7A88DA9B-A374-4DE2-B46E-ED2C45434508}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObdLibiOS", "..\OBDLibrary\ObdLibiOS\ObdLibiOS.csproj", "{8B136D60-8E68-4871-BF25-52E27C61E8E9}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.projitems*{bd4403c0-6cd5-4030-b1a3-7ad98b9b80ca}*SharedItemsImports = 13
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{219edca6-56bb-4ebd-ae46-c691f0aed767}*SharedItemsImports = 4
MyDriving\MyDriving.DataObjects\MyDriving.DataObjects.projitems*{649300ce-70ea-4606-983f-f4476fdd6c7e}*SharedItemsImports = 4
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{efa3478d-88c0-41a8-ad5e-5878e42fe3e2}*SharedItemsImports = 13
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{b09661c2-82a6-4d16-b4fd-7b23d0ffe1fe}*SharedItemsImports = 4
MyDriving\MyDriving.Shared\MyDriving.Shared.projitems*{de56e591-0655-43d7-a1b9-b3280f78b667}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
AppStore|Any CPU = AppStore|Any CPU
AppStore|ARM = AppStore|ARM
AppStore|iPhone = AppStore|iPhone
AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
AppStore|Mixed Platforms = AppStore|Mixed Platforms
AppStore|x64 = AppStore|x64
AppStore|x86 = AppStore|x86
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|iPhone = Debug|iPhone
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Release|Mixed Platforms = Release|Mixed Platforms
Release|x64 = Release|x64
Release|x86 = Release|x86
XTC|Any CPU = XTC|Any CPU
XTC|ARM = XTC|ARM
XTC|iPhone = XTC|iPhone
XTC|iPhoneSimulator = XTC|iPhoneSimulator
XTC|Mixed Platforms = XTC|Mixed Platforms
XTC|x64 = XTC|x64
XTC|x86 = XTC|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Any CPU.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Any CPU.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|ARM.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|ARM.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhone.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhone.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Mixed Platforms.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|Mixed Platforms.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x64.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x64.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x86.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.AppStore|x86.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|ARM.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhone.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhone.Build.0 = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|Mixed Platforms.ActiveCfg = Debug|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|x64.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Debug|x86.ActiveCfg = Debug|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Any CPU.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Any CPU.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|ARM.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhone.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhone.Build.0 = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Mixed Platforms.ActiveCfg = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|Mixed Platforms.Build.0 = Release|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|x64.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.Release|x86.ActiveCfg = Release|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Any CPU.ActiveCfg = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Any CPU.Build.0 = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|ARM.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|ARM.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhone.ActiveCfg = XTC|iPhone
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|iPhoneSimulator.ActiveCfg = XTC|iPhoneSimulator
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x64.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x64.Build.0 = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x86.ActiveCfg = XTC|Any CPU
{DE56E591-0655-43D7-A1B9-B3280F78B667}.XTC|x86.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Any CPU.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|ARM.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|ARM.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhone.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x64.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x64.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x86.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.AppStore|x86.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|ARM.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhone.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x64.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x64.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x86.ActiveCfg = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Debug|x86.Build.0 = Debug|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Any CPU.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|ARM.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|ARM.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhone.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhone.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x64.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x64.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x86.ActiveCfg = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.Release|x86.Build.0 = Release|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Any CPU.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|ARM.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhone.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x64.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x64.Build.0 = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x86.ActiveCfg = XTC|Any CPU
{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}.XTC|x86.Build.0 = XTC|Any CPU
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|Any CPU.ActiveCfg = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|Any CPU.Build.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|Any CPU.Deploy.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|ARM.ActiveCfg = Release|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|ARM.Build.0 = Release|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|ARM.Deploy.0 = Release|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|iPhone.ActiveCfg = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|iPhone.Build.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|iPhone.Deploy.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|iPhoneSimulator.ActiveCfg = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|iPhoneSimulator.Build.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|iPhoneSimulator.Deploy.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|Mixed Platforms.ActiveCfg = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|Mixed Platforms.Build.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|Mixed Platforms.Deploy.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|x64.ActiveCfg = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|x64.Build.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|x64.Deploy.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|x86.ActiveCfg = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|x86.Build.0 = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.AppStore|x86.Deploy.0 = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|Any CPU.ActiveCfg = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|Any CPU.Build.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|Any CPU.Deploy.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|ARM.ActiveCfg = Debug|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|ARM.Build.0 = Debug|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|ARM.Deploy.0 = Debug|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|iPhone.ActiveCfg = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|iPhone.Build.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|iPhone.Deploy.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|iPhoneSimulator.Build.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|iPhoneSimulator.Deploy.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|Mixed Platforms.Build.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|Mixed Platforms.Deploy.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|x64.ActiveCfg = Debug|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|x64.Build.0 = Debug|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|x64.Deploy.0 = Debug|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|x86.ActiveCfg = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|x86.Build.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Debug|x86.Deploy.0 = Debug|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|Any CPU.ActiveCfg = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|Any CPU.Build.0 = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|Any CPU.Deploy.0 = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|ARM.ActiveCfg = Release|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|ARM.Build.0 = Release|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|ARM.Deploy.0 = Release|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|iPhone.ActiveCfg = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|iPhoneSimulator.ActiveCfg = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|Mixed Platforms.ActiveCfg = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|Mixed Platforms.Build.0 = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|Mixed Platforms.Deploy.0 = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|x64.ActiveCfg = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|x64.Build.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|x64.Deploy.0 = Release|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|x86.ActiveCfg = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|x86.Build.0 = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.Release|x86.Deploy.0 = Release|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|Any CPU.ActiveCfg = XTC|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|Any CPU.Build.0 = XTC|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|Any CPU.Deploy.0 = XTC|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|ARM.ActiveCfg = XTC|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|ARM.Deploy.0 = XTC|ARM
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|iPhone.Build.0 = XTC|Any CPU
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|iPhone.Deploy.0 = XTC|Any CPU
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|iPhoneSimulator.Deploy.0 = XTC|Any CPU
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|Mixed Platforms.ActiveCfg = XTC|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|Mixed Platforms.Build.0 = XTC|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|Mixed Platforms.Deploy.0 = XTC|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|x64.ActiveCfg = XTC|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|x64.Deploy.0 = XTC|x64
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|x86.ActiveCfg = XTC|x86
{219EDCA6-56BB-4EBD-AE46-C691F0AED767}.XTC|x86.Deploy.0 = XTC|x86
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Any CPU.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|ARM.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|ARM.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhone.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x64.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x64.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x86.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.AppStore|x86.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|ARM.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|ARM.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhone.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x64.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x64.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x86.ActiveCfg = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Debug|x86.Build.0 = Debug|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Any CPU.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|ARM.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|ARM.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhone.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhone.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x64.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x64.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x86.ActiveCfg = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.Release|x86.Build.0 = Release|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Any CPU.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|ARM.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|ARM.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhone.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x64.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x64.Build.0 = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x86.ActiveCfg = XTC|Any CPU
{649300CE-70EA-4606-983F-F4476FDD6C7E}.XTC|x86.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Any CPU.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|ARM.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|ARM.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhone.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x64.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x64.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x86.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.AppStore|x86.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|ARM.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhone.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x64.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x64.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x86.ActiveCfg = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Debug|x86.Build.0 = Debug|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Any CPU.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|ARM.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|ARM.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhone.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhone.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x64.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x64.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x86.ActiveCfg = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.Release|x86.Build.0 = Release|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Any CPU.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|ARM.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhone.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x64.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x64.Build.0 = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x86.ActiveCfg = XTC|Any CPU
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}.XTC|x86.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Any CPU.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|ARM.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|ARM.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhone.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x64.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x64.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x86.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.AppStore|x86.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|ARM.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|ARM.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhone.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x64.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x64.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x86.ActiveCfg = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Debug|x86.Build.0 = Debug|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Any CPU.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|ARM.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|ARM.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhone.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhone.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x64.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x64.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x86.ActiveCfg = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.Release|x86.Build.0 = Release|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Any CPU.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|ARM.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|ARM.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhone.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x64.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x64.Build.0 = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x86.ActiveCfg = XTC|Any CPU
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}.XTC|x86.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Any CPU.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|ARM.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|ARM.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhone.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x64.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x64.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x86.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.AppStore|x86.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Any CPU.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|ARM.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|ARM.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhone.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x64.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x64.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x86.ActiveCfg = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Debug|x86.Build.0 = Debug|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Any CPU.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Any CPU.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|ARM.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|ARM.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhone.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhone.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x64.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x64.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x86.ActiveCfg = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.Release|x86.Build.0 = Release|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Any CPU.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|ARM.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|ARM.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhone.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x64.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x64.Build.0 = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x86.ActiveCfg = XTC|Any CPU
{955B6F86-BB30-4BD6-A1AD-B192F89C1363}.XTC|x86.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Any CPU.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|ARM.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|ARM.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhone.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x64.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x64.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x86.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.AppStore|x86.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|ARM.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|ARM.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhone.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x64.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x64.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x86.ActiveCfg = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Debug|x86.Build.0 = Debug|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Any CPU.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|ARM.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|ARM.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhone.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhone.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x64.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x64.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x86.ActiveCfg = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.Release|x86.Build.0 = Release|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Any CPU.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|ARM.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|ARM.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhone.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x64.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x64.Build.0 = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x86.ActiveCfg = XTC|Any CPU
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}.XTC|x86.Build.0 = XTC|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|Any CPU.Build.0 = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|ARM.ActiveCfg = Release|ARM
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|ARM.Build.0 = Release|ARM
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|iPhone.Build.0 = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|Mixed Platforms.ActiveCfg = Release|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|Mixed Platforms.Build.0 = Release|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|x64.ActiveCfg = Release|x64
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|x64.Build.0 = Release|x64
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|x86.ActiveCfg = Release|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.AppStore|x86.Build.0 = Release|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|ARM.ActiveCfg = Debug|ARM
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|ARM.Build.0 = Debug|ARM
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|iPhone.Build.0 = Debug|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|Mixed Platforms.Build.0 = Debug|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|x64.ActiveCfg = Debug|x64
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|x64.Build.0 = Debug|x64
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|x86.ActiveCfg = Debug|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.Debug|x86.Build.0 = Debug|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|Any CPU.Build.0 = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|ARM.ActiveCfg = Release|ARM
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|ARM.Build.0 = Release|ARM
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|iPhone.ActiveCfg = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|iPhone.Build.0 = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|Mixed Platforms.ActiveCfg = Release|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|Mixed Platforms.Build.0 = Release|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|x64.ActiveCfg = Release|x64
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|x64.Build.0 = Release|x64
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|x86.ActiveCfg = Release|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.Release|x86.Build.0 = Release|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|Any CPU.Build.0 = XTC|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|ARM.ActiveCfg = XTC|ARM
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|ARM.Build.0 = XTC|ARM
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|iPhone.Build.0 = XTC|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|Mixed Platforms.ActiveCfg = XTC|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|Mixed Platforms.Build.0 = XTC|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|x64.ActiveCfg = XTC|x64
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|x64.Build.0 = XTC|x64
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|x86.ActiveCfg = XTC|x86
{812692D4-C638-4FD1-AEA7-407824B134A6}.XTC|x86.Build.0 = XTC|x86
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Any CPU.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|ARM.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|ARM.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|ARM.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhone.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhone.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Mixed Platforms.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|Mixed Platforms.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x64.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x64.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x64.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x86.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x86.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.AppStore|x86.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|ARM.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|ARM.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|ARM.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhone.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhone.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|Mixed Platforms.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x64.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x64.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x64.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x86.ActiveCfg = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x86.Build.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Debug|x86.Deploy.0 = Debug|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Any CPU.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Any CPU.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|ARM.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|ARM.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|ARM.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhone.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhone.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhone.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|Mixed Platforms.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x64.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x64.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x64.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x86.ActiveCfg = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x86.Build.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.Release|x86.Deploy.0 = Release|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Any CPU.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Any CPU.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|ARM.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|ARM.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|ARM.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhone.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhone.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|iPhoneSimulator.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|Mixed Platforms.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x64.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x64.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x64.Deploy.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x86.ActiveCfg = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x86.Build.0 = XTC|Any CPU
{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}.XTC|x86.Deploy.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Any CPU.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|ARM.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|ARM.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhone.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x64.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x64.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x86.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.AppStore|x86.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Any CPU.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|ARM.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|ARM.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhone.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x64.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x64.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x86.ActiveCfg = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Debug|x86.Build.0 = Debug|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Any CPU.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Any CPU.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|ARM.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|ARM.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhone.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhone.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x64.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x64.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x86.ActiveCfg = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.Release|x86.Build.0 = Release|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Any CPU.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|ARM.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|ARM.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhone.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x64.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x64.Build.0 = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x86.ActiveCfg = XTC|Any CPU
{29B6B823-6639-4942-9723-0075BBEF7C69}.XTC|x86.Build.0 = XTC|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|Any CPU.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|ARM.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|ARM.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|iPhone.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|x64.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|x64.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|x86.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.AppStore|x86.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|ARM.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|ARM.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|iPhone.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|x64.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|x64.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|x86.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Debug|x86.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|Any CPU.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|ARM.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|ARM.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|iPhone.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|iPhone.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|x64.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|x64.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|x86.ActiveCfg = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.Release|x86.Build.0 = Release|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|Any CPU.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|Any CPU.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|ARM.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|ARM.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|iPhone.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|iPhone.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|iPhoneSimulator.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|Mixed Platforms.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|x64.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|x64.Build.0 = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|x86.ActiveCfg = Debug|Any CPU
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}.XTC|x86.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Any CPU.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|ARM.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|ARM.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhone.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x64.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x64.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x86.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.AppStore|x86.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|ARM.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|ARM.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhone.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x64.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x64.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x86.ActiveCfg = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Debug|x86.Build.0 = Debug|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Any CPU.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|ARM.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|ARM.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhone.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhone.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x64.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x64.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x86.ActiveCfg = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.Release|x86.Build.0 = Release|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Any CPU.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|ARM.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|ARM.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhone.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x64.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x64.Build.0 = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x86.ActiveCfg = XTC|Any CPU
{7A88DA9B-A374-4DE2-B46E-ED2C45434508}.XTC|x86.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Any CPU.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|ARM.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|ARM.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhone.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x64.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x64.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x86.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.AppStore|x86.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|ARM.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|ARM.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhone.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x64.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x64.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x86.ActiveCfg = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Debug|x86.Build.0 = Debug|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Any CPU.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|ARM.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|ARM.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhone.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhone.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x64.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x64.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x86.ActiveCfg = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.Release|x86.Build.0 = Release|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Any CPU.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Any CPU.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|ARM.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|ARM.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhone.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhone.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhoneSimulator.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|iPhoneSimulator.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Mixed Platforms.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|Mixed Platforms.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x64.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x64.Build.0 = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x86.ActiveCfg = XTC|Any CPU
{8B136D60-8E68-4871-BF25-52E27C61E8E9}.XTC|x86.Build.0 = XTC|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{649300CE-70EA-4606-983F-F4476FDD6C7E} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{E05FB3D8-372D-4FD3-84F3-1E908E3861B6} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{42F3D3DF-B854-4A5B-9C94-F3D823116AD5} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{BD4403C0-6CD5-4030-B1A3-7AD98B9B80CA} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{955B6F86-BB30-4BD6-A1AD-B192F89C1363} = {7D1FFE34-9A92-4875-84BC-DE9764B18E42}
{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{812692D4-C638-4FD1-AEA7-407824B134A6} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{29B6B823-6639-4942-9723-0075BBEF7C69} = {98F8827C-12D8-4C8D-9D62-15889A483880}
{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{7A88DA9B-A374-4DE2-B46E-ED2C45434508} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
{8B136D60-8E68-4871-BF25-52E27C61E8E9} = {3CE83CE0-11E9-4CE8-83CE-0EE6C6700B7F}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,101 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.OS;
using Android.Support.V7.App;
using Android.Support.V7.Widget;
using MyDriving.Droid.Helpers;
using Plugin.Permissions;
using Android.Content.PM;
using Android.Transitions;
namespace MyDriving.Droid
{
public abstract class BaseActivity : AppCompatActivity, IAccelerometerListener
{
AccelerometerManager accelerometerManager;
bool canShowFeedback;
public Toolbar Toolbar { get; set; }
protected abstract int LayoutResource { get; }
protected int ActionBarIcon
{
set { Toolbar.SetNavigationIcon(value); }
}
public void OnAccelerationChanged(float x, float y, float z)
{
}
public void OnShake(float force)
{
if (!canShowFeedback)
return;
canShowFeedback = false;
HockeyApp.FeedbackManager.ShowFeedbackActivity(this);
}
protected override void OnCreate(Bundle bundle)
{
InitActivityTransitions();
base.OnCreate(bundle);
SetContentView(LayoutResource);
Toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
if (Toolbar != null)
{
SetSupportActionBar(Toolbar);
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
SupportActionBar.SetHomeButtonEnabled(true);
}
accelerometerManager = new AccelerometerManager(this, this);
accelerometerManager.Configure(40, 350);
}
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
{
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
protected override void OnResume()
{
base.OnResume();
canShowFeedback = true;
if (accelerometerManager.IsSupported)
accelerometerManager.StartListening();
}
void InitActivityTransitions()
{
if ((int) Build.VERSION.SdkInt >= 21)
{
var transition = new Slide();
transition.ExcludeTarget(Android.Resource.Id.StatusBarBackground, true);
Window.EnterTransition = transition;
Window.ReturnTransition = transition;
Window.RequestFeature(Android.Views.WindowFeatures.ContentTransitions);
Window.RequestFeature(Android.Views.WindowFeatures.ActivityTransitions);
Window.SharedElementEnterTransition = new ChangeBounds();
Window.SharedElementReturnTransition = new ChangeBounds();
Window.AllowEnterTransitionOverlap = true;
Window.AllowReturnTransitionOverlap = true;
}
}
protected override void OnStop()
{
base.OnStop();
if (accelerometerManager.IsListening)
accelerometerManager.StopListening();
}
protected override void OnDestroy()
{
base.OnDestroy();
if (accelerometerManager.IsListening)
accelerometerManager.StopListening();
}
}
}

View File

@ -0,0 +1,87 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.OS;
using Android.Support.V4.App;
using Android.Support.V4.View;
using Android.Views;
using MyDriving.Droid.Fragments;
using Android.Graphics;
using Android.Support.V4.Content;
namespace MyDriving.Droid.Activities
{
[Activity(Label = "Getting Started", Icon = "@drawable/ic_launcher",
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
ScreenOrientation = ScreenOrientation.Portrait)]
public class GettingStartedActivity : BaseActivity
{
TabAdapter adapter;
ViewPager pager;
protected override int LayoutResource => Resource.Layout.activity_getting_started;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
if ((int) Build.VERSION.SdkInt >= 21)
{
Window.SetStatusBarColor(new Color(ContextCompat.GetColor(this, Resource.Color.primary_dark)));
Window.DecorView.SystemUiVisibility = StatusBarVisibility.Visible;
}
adapter = new TabAdapter(this, SupportFragmentManager);
pager = FindViewById<ViewPager>(Resource.Id.pager);
pager.Adapter = adapter;
pager.OffscreenPageLimit = 3;
SupportActionBar.Title = "Getting Started (1/5)";
pager.PageSelected += (sender, e) => { SupportActionBar.Title = $"Getting Started ({e.Position + 1}/5)"; };
SupportActionBar?.SetDisplayHomeAsUpEnabled(false);
SupportActionBar?.SetDisplayShowHomeEnabled(false);
// Create your application here
}
public override void OnBackPressed()
{
}
}
public class TabAdapter : FragmentStatePagerAdapter
{
public TabAdapter(Context context, Android.Support.V4.App.FragmentManager fm) : base(fm)
{
}
public override int Count => 5;
public override Java.Lang.ICharSequence GetPageTitleFormatted(int position)
=> new Java.Lang.String(string.Empty);
public override Android.Support.V4.App.Fragment GetItem(int position)
{
switch (position)
{
case 0:
return FragmentGettingStarted1.NewInstance();
case 1:
return FragmentGettingStarted2.NewInstance();
case 2:
return FragmentGettingStarted3.NewInstance();
case 3:
return FragmentGettingStarted4.NewInstance();
case 4:
return FragmentGettingStarted5.NewInstance();
}
return null;
}
public override int GetItemPosition(Java.Lang.Object frag) => PositionNone;
}
}

View File

@ -0,0 +1,94 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.App;
using Android.Content;
using Android.OS;
using Android.Views;
using Android.Widget;
using Android.Content.PM;
using MyDriving.ViewModel;
using MyDriving.Utils;
using Android.Support.V4.Content;
using Android.Graphics;
namespace MyDriving.Droid.Activities
{
[Activity(Label = "Login", Theme = "@style/MyThemeDark",
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
ScreenOrientation = ScreenOrientation.Portrait)]
public class LoginActivity : BaseActivity
{
LoginViewModel viewModel;
protected override int LayoutResource => Resource.Layout.activity_login;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
if ((int) Build.VERSION.SdkInt >= 21)
{
Window.SetStatusBarColor(new Color(ContextCompat.GetColor(this, Resource.Color.primary_dark)));
Window.DecorView.SystemUiVisibility = StatusBarVisibility.Visible;
}
viewModel = new LoginViewModel();
viewModel.PropertyChanged += ViewModel_PropertyChanged;
var twitter = FindViewById<Button>(Resource.Id.button_twitter);
var microsoft = FindViewById<Button>(Resource.Id.button_microsoft);
var facebook = FindViewById<Button>(Resource.Id.button_facebook);
twitter.Click += (sender, e) => Login(LoginAccount.Twitter);
microsoft.Click += (sender, e) => Login(LoginAccount.Microsoft);
facebook.Click += (sender, e) => Login(LoginAccount.Facebook);
FindViewById<Button>(Resource.Id.button_skip).Click += (sender, e) =>
{
viewModel.InitFakeUser();
var intent = new Intent(this, typeof(MainActivity));
intent.AddFlags(ActivityFlags.ClearTop);
StartActivity(intent);
Finish();
};
#if XTC || DEBUG
#else
FindViewById<Button>(Resource.Id.button_skip).Visibility = ViewStates.Gone;
#endif
var typeface = Typeface.CreateFromAsset(Assets, "fonts/Corbert-Regular.otf");
FindViewById<TextView>(Resource.Id.text_app_name).Typeface = typeface;
}
void ViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (!viewModel.IsLoggedIn)
return;
//When the first screen of the app is launched after user has logged in, initialize the processor that manages connection to OBD Device and to the IOT Hub
MyDriving.Services.OBDDataProcessor.GetProcessor().Initialize(ViewModel.ViewModelBase.StoreManager);
var intent = new Intent(this, typeof (MainActivity));
intent.AddFlags(ActivityFlags.ClearTop);
StartActivity(intent);
Finish();
}
void Login(LoginAccount account)
{
switch (account)
{
case LoginAccount.Facebook:
viewModel.LoginFacebookCommand.Execute(null);
break;
case LoginAccount.Microsoft:
viewModel.LoginMicrosoftCommand.Execute(null);
break;
case LoginAccount.Twitter:
viewModel.LoginTwitterCommand.Execute(null);
break;
}
}
}
}

View File

@ -0,0 +1,188 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.App;
using Android.Content.PM;
using Android.OS;
using Android.Support.V4.Widget;
using Android.Views;
using Android.Widget;
using MyDriving.Droid.Fragments;
using Android.Support.V4.View;
using Android.Support.Design.Widget;
using MyDriving.Utils;
using Android.Runtime;
using System;
using System.Threading.Tasks;
using HockeyApp;
namespace MyDriving.Droid
{
[Activity(Label = "MyDriving", Icon = "@drawable/ic_launcher",
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
ScreenOrientation = ScreenOrientation.Portrait)]
public class MainActivity : BaseActivity
{
DrawerLayout drawerLayout;
NavigationView navigationView;
int oldPosition = -1;
bool shouldClose;
protected override int LayoutResource => Resource.Layout.activity_main;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
#if !XTC
InitializeHockeyApp();
#endif
drawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
//Set hamburger items menu
SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu);
//setup navigation view
navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
//handle navigation
navigationView.NavigationItemSelected += (sender, e) =>
{
e.MenuItem.SetChecked(true);
ListItemClicked(e.MenuItem.ItemId);
SupportActionBar.Title = e.MenuItem.ItemId == Resource.Id.menu_profile
? Settings.Current.UserFirstName
: e.MenuItem.TitleFormatted.ToString();
drawerLayout.CloseDrawers();
};
if (Intent.GetBooleanExtra("tracking", false))
{
ListItemClicked(Resource.Id.menu_current_trip);
SupportActionBar.Title = "Current Trip";
return;
}
//if first time you will want to go ahead and click first item.
if (bundle == null)
{
ListItemClicked(Resource.Id.menu_current_trip);
SupportActionBar.Title = "Current Trip";
}
}
void InitializeHockeyApp()
{
if (string.IsNullOrWhiteSpace(Logger.HockeyAppAndroid))
return;
HockeyApp.CrashManager.Register(this, Logger.HockeyAppAndroid);
HockeyApp.Metrics.MetricsManager.Register(this, Application, Logger.HockeyAppAndroid);
HockeyApp.Metrics.MetricsManager.EnableUserMetrics();
CheckForUpdates();
}
void CheckForUpdates()
{
// Remove this for store builds!
UpdateManager.Register(this, Logger.HockeyAppAndroid);
}
void UnregisterManagers()
{
UpdateManager.Unregister();
}
protected override void OnPause()
{
base.OnPause();
UnregisterManagers();
}
protected override void OnDestroy()
{
base.OnDestroy();
UnregisterManagers();
}
void ListItemClicked(int itemId)
{
//this way we don't load twice, but you might want to modify this a bit.
if (itemId == oldPosition)
return;
shouldClose = false;
oldPosition = itemId;
Android.Support.V4.App.Fragment fragment = null;
switch (itemId)
{
case Resource.Id.menu_past_trips:
fragment = FragmentPastTrips.NewInstance();
break;
case Resource.Id.menu_current_trip:
fragment = FragmentCurrentTrip.NewInstance();
break;
case Resource.Id.menu_profile:
fragment = FragmentProfile.NewInstance();
break;
case Resource.Id.menu_settings:
fragment = FragmentSettings.NewInstance();
break;
}
SupportFragmentManager.BeginTransaction()
.Replace(Resource.Id.content_frame, fragment)
.Commit();
navigationView.SetCheckedItem(itemId);
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Android.Resource.Id.Home:
drawerLayout.OpenDrawer(GravityCompat.Start);
return true;
}
return base.OnOptionsItemSelected(item);
}
protected override void OnStart()
{
base.OnStart();
shouldClose = false;
}
public override void OnBackPressed()
{
if (drawerLayout.IsDrawerOpen((int) GravityFlags.Start))
{
drawerLayout.CloseDrawer(GravityCompat.Start);
}
else
{
if (!shouldClose)
{
Toast.MakeText(this, "Press back again to exit.", ToastLength.Short).Show();
shouldClose = true;
return;
}
base.OnBackPressed();
}
}
}
}

View File

@ -0,0 +1,204 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using System.Linq;
using Android.App;
using Android.OS;
using Android.Views;
using Android.Widget;
using Android.Content.PM;
using Android.Graphics;
using Android.Support.V4.Content;
using Android.Gms.Maps;
using MyDriving.ViewModel;
using Android.Gms.Maps.Model;
using Android.Graphics.Drawables;
using System;
using MyDriving.DataObjects;
namespace MyDriving.Droid.Activities
{
[Activity(Label = "Details", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
ScreenOrientation = ScreenOrientation.Portrait)]
public class PastTripDetailsActivity : BaseActivity, IOnMapReadyCallback
{
Marker carMarker;
TextView distance, distanceUnits, time, speed, speedUnits, consumption, consumptionUnits;
string id;
GoogleMap map;
SupportMapFragment mapFrag;
SeekBar seekBar;
TextView startTime, endTime;
PastTripsDetailViewModel viewModel;
protected override int LayoutResource => Resource.Layout.activity_past_trip_details;
public async void OnMapReady(GoogleMap googleMap)
{
map = googleMap;
var success = await viewModel.ExecuteLoadTripCommandAsync(id);
if (!success)
{
Finish();
return;
}
startTime.Text = viewModel.Trip.StartTimeDisplay;
endTime.Text = viewModel.Trip.EndTimeDisplay;
SupportActionBar.Title = viewModel.Title;
SetupMap();
UpdateStats();
}
public static Trip Trip { get; set; }
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
if ((int) Build.VERSION.SdkInt >= 21)
{
Window.SetStatusBarColor(new Color(ContextCompat.GetColor(this, Resource.Color.primary_dark)));
Window.DecorView.SystemUiVisibility = StatusBarVisibility.Visible;
}
viewModel = new PastTripsDetailViewModel {Title = id = Intent.GetStringExtra("Id")};
viewModel.Trip = Trip;
seekBar = FindViewById<SeekBar>(Resource.Id.trip_progress);
seekBar.Enabled = false;
startTime = FindViewById<TextView>(Resource.Id.text_start_time);
endTime = FindViewById<TextView>(Resource.Id.text_end_time);
startTime.Text = endTime.Text = string.Empty;
time = FindViewById<TextView>(Resource.Id.text_time);
distance = FindViewById<TextView>(Resource.Id.text_distance);
distanceUnits = FindViewById<TextView>(Resource.Id.text_distance_units);
consumption = FindViewById<TextView>(Resource.Id.text_consumption);
consumptionUnits = FindViewById<TextView>(Resource.Id.text_consumption_units);
speed = FindViewById<TextView>(Resource.Id.text_speed);
speedUnits = FindViewById<TextView>(Resource.Id.text_speed_units);
mapFrag = (SupportMapFragment) SupportFragmentManager.FindFragmentById(Resource.Id.map);
mapFrag.GetMapAsync(this);
}
void UpdateStats()
{
time.Text = viewModel.ElapsedTime;
consumption.Text = viewModel.FuelConsumption;
consumptionUnits.Text = viewModel.FuelConsumptionUnits;
speed.Text = viewModel.Speed;
speedUnits.Text = viewModel.SpeedUnits;
distanceUnits.Text = viewModel.DistanceUnits;
distance.Text = viewModel.Distance;
}
void SetupMap()
{
if (mapFrag.View.Width == 0)
{
mapFrag.View.PostDelayed(SetupMap, 500);
return;
}
if (viewModel.Trip == null || viewModel.Trip.Points == null || viewModel.Trip.Points.Count == 0)
return;
var start = viewModel.Trip.Points[0];
var end = viewModel.Trip.Points[viewModel.Trip.Points.Count - 1];
seekBar.Max = viewModel.Trip.Points.Count - 1;
seekBar.ProgressChanged += SeekBar_ProgressChanged;
var logicalDensity = Resources.DisplayMetrics.Density;
var thicknessCar = (int) Math.Ceiling(26*logicalDensity + .5f);
var thicknessPoints = (int) Math.Ceiling(20*logicalDensity + .5f);
var b = ContextCompat.GetDrawable(this, Resource.Drawable.ic_car_blue) as BitmapDrawable;
var finalIcon = Bitmap.CreateScaledBitmap(b.Bitmap, thicknessCar, thicknessCar, false);
var car = new MarkerOptions();
car.SetPosition(new LatLng(start.Latitude, start.Longitude));
car.SetIcon(BitmapDescriptorFactory.FromBitmap(finalIcon));
car.Anchor(.5f, .5f);
b = ContextCompat.GetDrawable(this, Resource.Drawable.ic_start_point) as BitmapDrawable;
finalIcon = Bitmap.CreateScaledBitmap(b.Bitmap, thicknessPoints, thicknessPoints, false);
var startMarker = new MarkerOptions();
startMarker.SetPosition(new LatLng(start.Latitude, start.Longitude));
startMarker.SetIcon(BitmapDescriptorFactory.FromBitmap(finalIcon));
startMarker.Anchor(.5f, .5f);
b = ContextCompat.GetDrawable(this, Resource.Drawable.ic_end_point) as BitmapDrawable;
finalIcon = Bitmap.CreateScaledBitmap(b.Bitmap, thicknessPoints, thicknessPoints, false);
var endMarker = new MarkerOptions();
endMarker.SetPosition(new LatLng(end.Latitude, end.Longitude));
endMarker.SetIcon(BitmapDescriptorFactory.FromBitmap(finalIcon));
endMarker.Anchor(.5f, .5f);
b = ContextCompat.GetDrawable(this, Resource.Drawable.ic_tip) as BitmapDrawable;
finalIcon = Bitmap.CreateScaledBitmap(b.Bitmap, thicknessPoints, thicknessPoints, false);
var poiIcon = BitmapDescriptorFactory.FromBitmap(finalIcon);
foreach (var poi in viewModel.POIs)
{
var poiMarker = new MarkerOptions();
poiMarker.SetPosition(new LatLng(poi.Latitude, poi.Longitude));
poiMarker.SetIcon(poiIcon);
poiMarker.Anchor(.5f, .5f);
map.AddMarker(poiMarker);
}
var points = viewModel.Trip.Points.Select(s => new LatLng(s.Latitude, s.Longitude)).ToArray();
var rectOptions = new PolylineOptions();
rectOptions.Add(points);
rectOptions.InvokeColor(ContextCompat.GetColor(this, Resource.Color.primary_dark));
map.AddPolyline(rectOptions);
map.AddMarker(startMarker);
map.AddMarker(endMarker);
carMarker = map.AddMarker(car);
var boundsPoints = new LatLngBounds.Builder();
foreach (var point in points)
boundsPoints.Include(point);
var bounds = boundsPoints.Build();
map.MoveCamera(CameraUpdateFactory.NewLatLngBounds(bounds, 64));
map.MoveCamera(CameraUpdateFactory.NewLatLng(carMarker.Position));
seekBar.Enabled = true;
}
void SeekBar_ProgressChanged(object sender, SeekBar.ProgressChangedEventArgs e)
{
if (carMarker == null)
return;
viewModel.CurrentPosition = viewModel.Trip.Points[e.Progress];
RunOnUiThread(() =>
{
UpdateStats();
carMarker.Position = new LatLng(viewModel.CurrentPosition.Latitude,
viewModel.CurrentPosition.Longitude);
map.MoveCamera(CameraUpdateFactory.NewLatLng(carMarker.Position));
});
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
if (item.ItemId == Android.Resource.Id.Home)
Finish();
return base.OnOptionsItemSelected(item);
}
}
}

View File

@ -0,0 +1,52 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.App;
using Android.Content;
using Android.OS;
using Android.Support.V7.App;
using MyDriving.Utils;
namespace MyDriving.Droid.Activities
{
[Activity(Label = "MyDriving", Theme = "@style/SplashTheme", MainLauncher = true)]
public class SplashActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Intent newIntent;
if (Settings.Current.IsLoggedIn)
{
newIntent = new Intent(this, typeof(MainActivity));
//When the first screen of the app is launched after user has logged in, initialize the processor that manages connection to OBD Device and to the IOT Hub
MyDriving.Services.OBDDataProcessor.GetProcessor().Initialize(ViewModel.ViewModelBase.StoreManager);
}
else if (Settings.Current.FirstRun)
{
#if XTC
newIntent = new Intent(this, typeof(LoginActivity));
#else
newIntent = new Intent(this, typeof(GettingStartedActivity));
#endif
#if !DEBUG
Settings.Current.FirstRun = false;
#endif
}
else
newIntent = new Intent(this, typeof(LoginActivity));
newIntent.AddFlags(ActivityFlags.ClearTop);
newIntent.AddFlags(ActivityFlags.SingleTop);
StartActivity(newIntent);
Finish();
}
}
}

View File

@ -0,0 +1,75 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.App;
using Android.OS;
using Android.Views;
using Android.Widget;
using Android.Content.PM;
using MyDriving.ViewModel;
using Android.Graphics;
using Android.Support.V4.Content;
namespace MyDriving.Droid.Activities
{
[Activity(Label = "Trip Summary", Theme = "@style/MyTheme",
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
ScreenOrientation = ScreenOrientation.Portrait)]
public class TripSummaryActivity : BaseActivity
{
public static TripSummaryViewModel ViewModel { get; set; }
protected override int LayoutResource => Resource.Layout.activity_trip_summary;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
if ((int) Build.VERSION.SdkInt >= 21)
{
Window.SetStatusBarColor(new Color(ContextCompat.GetColor(this, Resource.Color.primary_dark)));
Window.DecorView.SystemUiVisibility = StatusBarVisibility.Visible;
}
if (ViewModel == null)
{
Finish();
return;
}
SupportActionBar.SetDisplayShowHomeEnabled(false);
SupportActionBar.SetDisplayHomeAsUpEnabled(false);
var date = ViewModel.Date.ToLocalTime();
FindViewById<TextView>(Resource.Id.text_time).Text = ViewModel.TotalTimeDisplay;
FindViewById<TextView>(Resource.Id.text_date).Text = date.ToString("M") + " " + date.ToString("t");
FindViewById<TextView>(Resource.Id.text_distance).Text = ViewModel.TotalDistanceDisplay;
FindViewById<TextView>(Resource.Id.text_max_speed).Text = ViewModel.MaxSpeedDisplay;
FindViewById<TextView>(Resource.Id.text_fuel_consumption).Text = ViewModel.FuelDisplay;
FindViewById<TextView>(Resource.Id.text_hard_accelerations).Text = ViewModel.HardAccelerations.ToString();
FindViewById<TextView>(Resource.Id.text_hard_breaks).Text = ViewModel.HardStops.ToString();
ViewModel = null;
}
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.menu_summary, menu);
return base.OnCreateOptionsMenu(menu);
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Resource.Id.menu_close:
Finish();
break;
}
return base.OnOptionsItemSelected(item);
}
}
}

View File

@ -0,0 +1,19 @@
Any raw assets you want to be deployed with your application can be placed in
this directory (and child directories) and given a Build Action of "AndroidAsset".
These files will be deployed with your package and will be accessible using Android's
AssetManager, like this:
public class ReadAsset : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
InputStream input = Assets.Open ("my_asset.txt");
}
}
Additionally, some Android functions will automatically load asset files:
Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");

View File

@ -0,0 +1,80 @@
The Fontspring Desktop Font End User License Agreement
Version 1.6.0 - March 13, 2014
By downloading and/or installing font software (“Font”) offered by Fontspring or its distributors, you (“Licensee”) agree to be bound by the following terms and conditions of this End User Licensing Agreement (“EULA”):
1. Right Granted
Fontspring grants Licensee a perpetual, worldwide, non-exclusive and non-transferrable license to:
a. Use the Font to create graphics for display on any surface including computer screens, television screens, paper, t-shirts or any other surface where the image will be a fixed size.
b. Licensee may embed or link the Font in accordance with the rules described in Section 4 “Embedding and Linking” of this EULA.
2. Requirements and Restrictions
a. Products
Licensee may not use the Font to create alphabet or letterform products for resale where the product consists of individual letterforms, including rubber stamps, die-cut products, stencil products, or adhesive sticker alphabet products where the likeness of the Font can be reproduced and the end-user of said products can create their own typesetting. An extended license may be available for an additional fee.
Licensee may create typographic products using the Font if the product consists of commonly recognized words or phrases. For example: a rubber stamp that has the words "Thank You" or a sticker that says "Great!"
b. Dingbats and Illustrations
Licensee may NOT use illustrations or images in the Font OTHER THAN letterforms, numbers, punctuation marks, diacritics, etc., in a manner where the illustration or image becomes the primary aspect of a product for resale. For example, a dingbat image in the font can not be the sole design element on a coffee cup, t-shirt, greeting card, etc., intended for resale. An extended license may be available for an additional fee.
c. Users
The Font may be simultaneously used by no more than the number of users specified in the Receipt. A "user" is a single person or single machine, at the discretion of the Licensee. All users must belong to the same company or household purchasing the font except for temporary use by third parties as described in Section 3 “Provision to Third Parties” of this EULA.
3. Provision to Third Parties
Licensee may temporarily provide the Font to a graphic designer, printer, agent or independent contractor who is working on behalf of the Licensee, ONLY IF the developer, agent or independent contractor (1) agrees in writing to use the Font exclusively for Licensees work, according to the terms of this EULA, and (2) retains no copies of the Font upon completion of the work.
Licensee may not otherwise distribute the Font to third parties or make the Font publicly accessible except by embedding or linking in accordance with this EULA.
4. Embedding and Linking
a. Document Embedding (including PDF, Microsoft Word® & Microsoft Powerpoint®)
1. Documents embedding the Font and sent to third parties, must be read-only by those recipients.
2. Documents embedding the Font and created for in-house use or sent to third parties working on behalf of the Licensee as described in Section 3 “Provision to Third Parties” may be editable.
b. Flash and Silverlight Embedding
Licensee may embed the Font into Flash or Silverlight with the following restrictions:
1. The Font must be subset to include only the glyphs necessary for displaying the work.
2. The text rendered in the Font must not be manipulatable by an end user.
3. All care must be taken to prevent unauthorized users from accessing the Font.
c. @font-face Cascading Style Sheet ("CSS") Linking
Licensee may not link the Font to web sites using the @font-face selector in CSS. An extended license may be available for an additional fee.
5. Term
This EULA grants a perpetual license for the rights set forth in Paragraph 1 unless and until the EULA terminates under Paragraph 8. Fontspring will not charge additional fees post purchase, annually or otherwise.
6. Other Usage
Licenses for @font-face embedding, computer applications and games, installable interactive books, software, mobile applications and games, Ebooks and Epubs, product creation websites, website template distribution, website templates, and other uses not allowed by this EULA may be available for an additional fee. Contact Fontspring at support@fontspring.com for more information.
7. Modifications
Licensee may import and alter the bezier outlines of the Font in a drawing program.
Licensee may not modify the Font or create derivative works based on the Font without prior written consent from Fontspring or the owning foundry EXCEPT THAT Licensee may generate files necessary for embedding or linking in accordance with this EULA.
8. Copyright
The Font is protected by copyright law. The Foundry is the sole, exclusive owner of all intellectual property rights, including rights under copyright and trademark law. Licensee agrees not to use the Font in any manner that infringes the intellectual property rights of the Foundry or violates the terms of this EULA. Licensee will be held legally responsible, and indemnifies Fontspring, for any infringements on the foundry's rights caused by failure to abide by the terms of this EULA.
9. Termination
This EULA is effective until terminated. If Licensee fails to comply with any term of this EULA, Fontspring may terminate the EULA with 30 days notice. This EULA will terminate automatically 30 days after the issuance of such notice.
10. Disclaimer and Limited Warranty
Fontspring warrants the Product to be free from defects in materials and workmanship under normal use for a period of twenty one (21) days from the date of delivery as shown on Receipt. Fontspring's entire liability, and Licensees exclusive remedy, for a defective product shall be, at Fontspring's election, either (1) return of purchase price or (2) replacement of any such product that is returned to Fontspring with a copy of the Receipt. Fontspring shall have no responsibility to replace the product or refund the purchase price if failure results from accident, abuse or misapplication, or if any product is lost or damaged due to theft, fire, or negligence. Any replacement product will be warranted for twenty one (21) days. This warranty gives Licensee specific legal rights. Licensee may have other rights, which vary from state to state.
EXCEPT AS EXPRESSLY PROVIDED ABOVE, THE PRODUCT, IS PROVIDED “AS IS”. FONTSPRING MAKES NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The entire risk as to the quality and performance of the Product rests upon Licensee. Neither Fontspring nor the Foundry warrants that the functions contained in the Product will meet Licensees requirements or that the operation of the software will be uninterrupted or error free.
FONTSPRING SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, OR INCIDENTAL DAMAGES (INCLUDING DAMAGES FROM LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE LIKE) ARISING OUT OF THE USE OF OR INABILITY TO USE THE PRODUCT EVEN IF Fontspring OR THE FOUNDRY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to Licensee.
11. Governing Law
This EULA is governed by the laws of the United States of America and the State of Delaware.
12. Entire Agreement
This EULA, in conjunction with the receipt (“Receipt”) that accompanies each Font licensed from Fontspring or its distributors, constitutes the entire agreement between Fontspring and Licensee.
13. Modification
The Parties may modify or amend this EULA in writing.
14. Waiver. The waiver of one breach or default hereunder shall not constitute the waiver of any subsequent breach or default.

View File

@ -0,0 +1,149 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.Content;
using Android.Graphics;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Views.Animations;
using Android.Animation;
using System;
using Android.Support.V4.Content;
namespace MyDriving.Droid.Controls
{
public class RatingCircle : View
{
Bitmap bitmap;
Canvas canvas;
RectF circleOuterBounds, circleInnerBounds;
Paint circlePaint, eraserPaint;
Context context;
float currentRating;
float rating;
ValueAnimator timerAnimator;
public RatingCircle(IntPtr handle, JniHandleOwnership transfer)
: base(handle, transfer)
{
}
public RatingCircle(Context context)
: this(context, null)
{
}
public RatingCircle(Context context, IAttributeSet attrs)
: base(context, attrs)
{
Init(context, attrs);
}
public RatingCircle(Context context, IAttributeSet attrs, int defStyle)
: base(context, attrs, defStyle)
{
Init(context, attrs);
}
public float Rating
{
get { return rating; }
set
{
rating = value;
currentRating = 0;
if (PlayAnimation)
Start(1);
else
Invalidate();
}
}
public bool PlayAnimation { get; set; } = true;
void Init(Context context, IAttributeSet attributeSet)
{
SetBackgroundColor(Color.Transparent);
this.context = context;
circlePaint = new Paint
{
Color = new Color(ContextCompat.GetColor(context, Resource.Color.accent)),
AntiAlias = true
};
eraserPaint = new Paint
{
AntiAlias = true,
Color = Color.Transparent,
};
eraserPaint.SetXfermode(new PorterDuffXfermode(PorterDuff.Mode.Clear));
}
protected override void OnSizeChanged(int w, int h, int oldw, int oldh)
{
if (w != oldw || h != oldh)
{
bitmap = Bitmap.CreateBitmap(w, h, Bitmap.Config.Argb8888);
bitmap.EraseColor(Color.Transparent);
canvas = new Canvas(bitmap);
}
base.OnSizeChanged(w, h, oldw, oldh);
UpdateBounds();
}
void UpdateBounds()
{
var logicalDensity = context.Resources.DisplayMetrics.Density;
var thickness = (int) Math.Ceiling(4*logicalDensity + .5f);
circleOuterBounds = new RectF(0, 0, Width, Height);
circleInnerBounds = new RectF(
circleOuterBounds.Left + thickness,
circleOuterBounds.Top + thickness,
circleOuterBounds.Right - thickness,
circleOuterBounds.Bottom - thickness);
Invalidate();
}
//make a perfect square
protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
var spec = widthMeasureSpec;
base.OnMeasure(spec, spec);
}
protected override void OnDraw(Canvas canvas)
{
this.canvas.DrawColor(Color.Transparent, PorterDuff.Mode.Clear);
var sweepAngle = PlayAnimation ? (currentRating/100f)*360 : (Rating/100f)*360;
if (sweepAngle > 0f)
{
this.canvas.DrawArc(circleOuterBounds, 270, sweepAngle, true, circlePaint);
this.canvas.DrawOval(circleInnerBounds, eraserPaint);
}
canvas.DrawBitmap(bitmap, 0, 0, null);
}
void Start(long secs)
{
timerAnimator = ValueAnimator.OfFloat(0f, Rating);
timerAnimator.SetDuration(Java.Util.Concurrent.TimeUnit.Seconds.ToMillis(secs));
timerAnimator.SetInterpolator(new AccelerateInterpolator());
timerAnimator.Update += (sender, e) =>
{
currentRating = (float) e.Animation.AnimatedValue;
Invalidate();
};
timerAnimator.Start();
}
}
}

View File

@ -0,0 +1,489 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.OS;
using Android.Support.V4.Content;
using Android.Views;
using Android.Widget;
using MyDriving.Droid.Services;
using MyDriving.ViewModel;
using MvvmHelpers;
using MyDriving.DataObjects;
using Android.Gms.Maps;
using Android.Gms.Maps.Model;
using System;
using Android.Graphics;
using Android.Graphics.Drawables;
using Plugin.Permissions;
using Plugin.Permissions.Abstractions;
using System.Threading.Tasks;
using MyDriving.Droid.Activities;
using MyDriving.Utils;
using MyDriving.Droid.Helpers;
using Android.Support.Design.Widget;
using System.Collections.Specialized;
using System.Collections.Generic;
using Android.Views.Animations;
using Android.Animation;
namespace MyDriving.Droid.Fragments
{
public class FragmentCurrentTrip : Android.Support.V4.App.Fragment, IOnMapReadyCallback
{
List<LatLng> allPoints;
Marker carMarker;
TextView distance, distanceUnits, time, load, consumption, consumptionUnits;
Polyline driveLine;
Color? driveLineColor;
FloatingActionButton fab;
GoogleMap map;
MapView mapView;
bool setZoom = true;
LinearLayout stats;
ObservableRangeCollection<TripPoint> trailPointList;
CurrentTripViewModel viewModel;
public void OnMapReady(GoogleMap googleMap)
{
map = googleMap;
if (viewModel != null)
SetupMap();
}
public static FragmentCurrentTrip NewInstance() => new FragmentCurrentTrip {Arguments = new Bundle()};
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
HasOptionsMenu = true;
var view = inflater.Inflate(Resource.Layout.fragment_current_trip, null);
mapView = view.FindViewById<MapView>(Resource.Id.map);
mapView.OnCreate(savedInstanceState);
fab = view.FindViewById<FloatingActionButton>(Resource.Id.fab);
time = view.FindViewById<TextView>(Resource.Id.text_time);
distance = view.FindViewById<TextView>(Resource.Id.text_distance);
distanceUnits = view.FindViewById<TextView>(Resource.Id.text_distance_units);
consumption = view.FindViewById<TextView>(Resource.Id.text_consumption);
consumptionUnits = view.FindViewById<TextView>(Resource.Id.text_consumption_units);
load = view.FindViewById<TextView>(Resource.Id.text_load);
stats = view.FindViewById<LinearLayout>(Resource.Id.stats);
stats.Visibility = ViewStates.Invisible;
return view;
}
public override void OnActivityCreated(Bundle savedInstanceState)
{
mapView.GetMapAsync(this);
base.OnActivityCreated(savedInstanceState);
}
void StartFadeAnimation(bool fadeIn)
{
//handle first run
if (!viewModel.IsRecording && stats.Visibility == ViewStates.Invisible)
return;
var start = fadeIn ? 0f : 1f;
var end = fadeIn ? 1f : 0f;
stats.Alpha = fadeIn ? 0f : 1f;
stats.Visibility = ViewStates.Visible;
var timerAnimator = ValueAnimator.OfFloat(start, end);
timerAnimator.SetDuration(Java.Util.Concurrent.TimeUnit.Seconds.ToMillis(1));
timerAnimator.SetInterpolator(new AccelerateInterpolator());
timerAnimator.Update +=
(sender, e) => { Activity.RunOnUiThread(() => stats.Alpha = (float) e.Animation.AnimatedValue); };
timerAnimator.Start();
}
void OnLocationServiceConnected(object sender, ServiceConnectedEventArgs e)
{
viewModel = GeolocationHelper.Current.LocationService.ViewModel;
viewModel.PropertyChanged += OnPropertyChanged;
ResetTrip();
}
void OnPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
case nameof(viewModel.CurrentPosition):
var latlng = viewModel.CurrentPosition.ToLatLng();
UpdateCar(latlng);
UpdateCamera(latlng);
break;
case nameof(viewModel.CurrentTrip):
TripSummaryActivity.ViewModel = viewModel.TripSummary;
ResetTrip();
StartActivity(new Android.Content.Intent(Activity, typeof (TripSummaryActivity)));
break;
case "Stats":
UpdateStats();
break;
}
}
void UpdateStats()
{
Activity?.RunOnUiThread(() =>
{
time.Text = viewModel.ElapsedTime;
consumption.Text = viewModel.FuelConsumption;
consumptionUnits.Text = viewModel.FuelConsumptionUnits;
load.Text = viewModel.EngineLoad;
distanceUnits.Text = viewModel.DistanceUnits;
distance.Text = viewModel.CurrentTrip.TotalDistanceNoUnits;
});
}
void ResetTrip()
{
trailPointList = viewModel.CurrentTrip.Points as ObservableRangeCollection<TripPoint>;
trailPointList.CollectionChanged += OnTrailUpdated;
carMarker = null;
map?.Clear();
allPoints?.Clear();
allPoints = null;
SetupMap();
UpdateStats();
StartFadeAnimation(viewModel.IsRecording);
Activity.SupportInvalidateOptionsMenu();
}
void AddStartMarker(LatLng start)
{
Activity?.RunOnUiThread(() =>
{
var logicalDensity = Resources.DisplayMetrics.Density;
var thicknessPoints = (int) Math.Ceiling(20*logicalDensity + .5f);
var b = ContextCompat.GetDrawable(Activity, Resource.Drawable.ic_start_point) as BitmapDrawable;
var finalIcon = Bitmap.CreateScaledBitmap(b.Bitmap, thicknessPoints, thicknessPoints, false);
var startMarker = new MarkerOptions();
startMarker.SetPosition(start);
startMarker.SetIcon(BitmapDescriptorFactory.FromBitmap(finalIcon));
startMarker.Anchor(.5f, .5f);
map.AddMarker(startMarker);
});
}
void AddEndMarker(LatLng end)
{
Activity?.RunOnUiThread(() =>
{
var logicalDensity = Resources.DisplayMetrics.Density;
var thicknessPoints = (int) Math.Ceiling(20*logicalDensity + .5f);
var b = ContextCompat.GetDrawable(Activity, Resource.Drawable.ic_end_point) as BitmapDrawable;
var finalIcon = Bitmap.CreateScaledBitmap(b.Bitmap, thicknessPoints, thicknessPoints, false);
var endMarker = new MarkerOptions();
endMarker.SetPosition(end);
endMarker.SetIcon(BitmapDescriptorFactory.FromBitmap(finalIcon));
endMarker.Anchor(.5f, .5f);
map.AddMarker(endMarker);
});
}
void OnTrailUpdated(object sender, NotifyCollectionChangedEventArgs e)
{
Activity?.RunOnUiThread(() =>
{
var item = viewModel.CurrentTrip.Points[viewModel.CurrentTrip.Points.Count - 1];
if (carMarker != null)
UpdateMap(item);
else
SetupMap();
});
}
void UpdateCarIcon(bool recording)
{
Activity?.RunOnUiThread(() =>
{
var logicalDensity = Resources.DisplayMetrics.Density;
var thicknessCar = (int) Math.Ceiling(26*logicalDensity + .5f);
var b =
ContextCompat.GetDrawable(Activity,
recording ? Resource.Drawable.ic_car_red : Resource.Drawable.ic_car_blue) as BitmapDrawable;
//var b = ContextCompat.GetDrawable(Activity, Resource.Drawable.ic_car) as BitmapDrawable;
var finalIcon = Bitmap.CreateScaledBitmap(b.Bitmap, thicknessCar, thicknessCar, false);
carMarker?.SetIcon(BitmapDescriptorFactory.FromBitmap(finalIcon));
fab.SetImageResource(recording ? Resource.Drawable.ic_stop : Resource.Drawable.ic_start);
});
}
void SetupMap()
{
if (map == null)
return;
if (mapView.Width == 0)
{
mapView.PostDelayed(SetupMap, 500);
return;
}
if (viewModel.CurrentTrip.HasSimulatedOBDData)
{
var activity = (BaseActivity) Activity;
activity.SupportActionBar.Title = "Current Trip (Sim OBD)";
}
TripPoint start = null;
if (viewModel.CurrentTrip.Points.Count != 0)
start = viewModel.CurrentTrip.Points[0];
UpdateMap(start, false);
if (start != null)
{
UpdateCamera(carMarker.Position);
AddStartMarker(start.ToLatLng());
}
}
void UpdateMap(TripPoint point, bool updateCamera = true)
{
if (map == null)
return;
//Get trail position or current potion to move car
var latlng = point == null
? viewModel?.CurrentPosition?.ToLatLng()
: point.ToLatLng();
Activity?.RunOnUiThread(() =>
{
UpdateCar(latlng);
driveLine?.Remove();
var polyOptions = new PolylineOptions();
if (allPoints == null)
{
allPoints = viewModel.CurrentTrip.Points.ToLatLngs();
}
else if (point != null)
{
allPoints.Add(point.ToLatLng());
}
polyOptions.Add(allPoints.ToArray());
if (!driveLineColor.HasValue)
driveLineColor = new Color(ContextCompat.GetColor(Activity, Resource.Color.recording_accent));
polyOptions.InvokeColor(driveLineColor.Value);
driveLine = map.AddPolyline(polyOptions);
if (updateCamera)
UpdateCamera(latlng);
});
}
void UpdateCar(LatLng latlng)
{
if (latlng == null || map == null)
return;
Activity?.RunOnUiThread(() =>
{
if (carMarker == null)
{
var car = new MarkerOptions();
car.SetPosition(latlng);
car.Anchor(.5f, .5f);
carMarker = map.AddMarker(car);
UpdateCarIcon(viewModel.IsRecording);
return;
}
carMarker.Position = latlng;
});
}
void UpdateCamera(LatLng latlng)
{
if (map == null)
return;
Activity?.RunOnUiThread(() =>
{
if (setZoom)
{
map.MoveCamera(CameraUpdateFactory.NewLatLngZoom(latlng, 14));
setZoom = false;
}
else
{
map.MoveCamera(CameraUpdateFactory.NewLatLng(latlng));
}
});
}
public override void OnStop()
{
base.OnStop();
GeolocationHelper.Current.LocationServiceConnected -= OnLocationServiceConnected;
if (viewModel != null)
viewModel.PropertyChanged -= OnPropertyChanged;
if (trailPointList != null)
trailPointList.CollectionChanged -= OnTrailUpdated;
if (fab != null)
fab.Click -= OnRecordButtonClick;
//If we are recording then don't stop the background service
if ((viewModel?.IsRecording).GetValueOrDefault())
return;
GeolocationHelper.Current.LocationService.StopLocationUpdates();
GeolocationHelper.StopLocationService();
}
public override async void OnStart()
{
base.OnStart();
GeolocationHelper.Current.LocationServiceConnected += OnLocationServiceConnected;
if (fab != null)
fab.Click += OnRecordButtonClick;
await StartLocationService();
}
async Task StartLocationService()
{
try
{
var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
if (status != PermissionStatus.Granted)
{
var results = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Location);
status = results[Permission.Location];
}
if (status == PermissionStatus.Granted)
{
if ((viewModel == null || !viewModel.IsRecording) && !GeolocationHelper.Current.IsRunning)
await GeolocationHelper.StartLocationService();
else
OnLocationServiceConnected(null, null);
}
else if (status != PermissionStatus.Unknown)
{
Toast.MakeText(Activity, "Location permission is not granted, can't track location",
ToastLength.Long);
}
}
catch (Exception ex)
{
Logger.Instance.Report(ex);
}
}
#region Options Menu & User Actions
public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater)
{
//if((viewModel?.IsRecording).GetValueOrDefault())
// inflater.Inflate(Resource.Menu.menu_current_trip, menu);
base.OnCreateOptionsMenu(menu, inflater);
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Resource.Id.menu_take_photo:
if (!(viewModel?.IsBusy).GetValueOrDefault())
viewModel?.TakePhotoCommand.Execute(null);
break;
}
return base.OnOptionsItemSelected(item);
}
async void OnRecordButtonClick(object sender, EventArgs e)
{
if (viewModel?.CurrentPosition == null || viewModel.IsBusy)
return;
if (viewModel.NeedSave)
{
await viewModel.SaveRecordingTripAsync();
}
if (viewModel.IsRecording)
{
if (!await viewModel.StopRecordingTrip())
return;
AddEndMarker(viewModel.CurrentPosition.ToLatLng());
UpdateCarIcon(false);
var activity = (BaseActivity) Activity;
activity.SupportActionBar.Title = "Current Trip";
await viewModel.SaveRecordingTripAsync();
}
else
{
if (!await viewModel.StartRecordingTrip())
return;
AddStartMarker(viewModel.CurrentPosition.ToLatLng());
Activity.SupportInvalidateOptionsMenu();
UpdateCarIcon(true);
UpdateStats();
StartFadeAnimation(true);
if (viewModel.CurrentTrip.HasSimulatedOBDData)
{
var activity = (BaseActivity) Activity;
activity.SupportActionBar.Title = "Current Trip (Sim OBD)";
}
}
}
#endregion
#region MapView Lifecycle Events
public override void OnResume()
{
base.OnResume();
mapView?.OnResume();
}
public override void OnPause()
{
base.OnPause();
mapView?.OnPause();
}
public override void OnDestroy()
{
base.OnDestroy();
mapView?.OnDestroy();
}
public override void OnSaveInstanceState(Bundle outState)
{
base.OnSaveInstanceState(outState);
mapView?.OnSaveInstanceState(outState);
}
public override void OnLowMemory()
{
base.OnLowMemory();
mapView?.OnLowMemory();
}
#endregion
}
}

View File

@ -0,0 +1,78 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.OS;
using Fragment = Android.Support.V4.App.Fragment;
using Android.Views;
using Android.Widget;
using Android.Content;
using MyDriving.Droid.Activities;
namespace MyDriving.Droid.Fragments
{
public class FragmentGettingStarted1 : Fragment
{
public static FragmentGettingStarted1 NewInstance() => new FragmentGettingStarted1 {Arguments = new Bundle()};
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
return inflater.Inflate(Resource.Layout.fragment_started_1, null);
}
}
public class FragmentGettingStarted2 : Fragment
{
public static FragmentGettingStarted2 NewInstance() => new FragmentGettingStarted2 {Arguments = new Bundle()};
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
return inflater.Inflate(Resource.Layout.fragment_started_2, null);
}
}
public class FragmentGettingStarted3 : Fragment
{
public static FragmentGettingStarted3 NewInstance() => new FragmentGettingStarted3 {Arguments = new Bundle()};
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
return inflater.Inflate(Resource.Layout.fragment_started_3, null);
}
}
public class FragmentGettingStarted4 : Fragment
{
public static FragmentGettingStarted4 NewInstance() => new FragmentGettingStarted4 {Arguments = new Bundle()};
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
return inflater.Inflate(Resource.Layout.fragment_started_4, null);
}
}
public class FragmentGettingStarted5 : Fragment
{
public static FragmentGettingStarted5 NewInstance() => new FragmentGettingStarted5 {Arguments = new Bundle()};
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
var view = inflater.Inflate(Resource.Layout.fragment_started_5, null);
view.FindViewById<Button>(Resource.Id.button_close).Click += (sender, args) =>
{
var intent = new Intent(Activity, typeof (LoginActivity));
intent.AddFlags(ActivityFlags.ClearTop);
Activity.StartActivity(intent);
Activity.Finish();
};
return view;
}
}
}

View File

@ -0,0 +1,209 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.OS;
using Android.Support.V4.App;
using Android.Views;
using Android.Support.V7.Widget;
using Android.Support.V4.Widget;
using Android.Widget;
using MyDriving.ViewModel;
using System;
using MyDriving.Droid.Activities;
using Android.Content;
namespace MyDriving.Droid.Fragments
{
public class FragmentPastTrips : Fragment
{
TripAdapter adapter;
LinearLayoutManager layoutManager;
RecyclerView recyclerView;
SwipeRefreshLayout refresher;
PastTripsViewModel viewModel;
public static FragmentPastTrips NewInstance() => new FragmentPastTrips {Arguments = new Bundle()};
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
var view = inflater.Inflate(Resource.Layout.fragment_past_trips, null);
viewModel = new PastTripsViewModel();
recyclerView = view.FindViewById<RecyclerView>(Resource.Id.recyclerView);
refresher = view.FindViewById<SwipeRefreshLayout>(Resource.Id.refresher);
refresher.Refresh += (sender, e) => viewModel.LoadPastTripsCommand.Execute(null);
adapter = new TripAdapter(Activity, viewModel);
adapter.ItemClick += OnItemClick;
adapter.ItemLongClick += OnItemLongClick;
layoutManager = new LinearLayoutManager(Activity) {Orientation = LinearLayoutManager.Vertical};
recyclerView.SetLayoutManager(layoutManager);
recyclerView.SetAdapter(adapter);
recyclerView.ClearOnScrollListeners();
recyclerView.AddOnScrollListener(new TripsOnScrollListenerListener(viewModel, layoutManager));
return view;
}
public override async void OnStart()
{
base.OnStart();
viewModel.PropertyChanged += ViewModel_PropertyChanged;
if (viewModel.Trips.Count == 0)
await viewModel.ExecuteLoadPastTripsCommandAsync();
}
void ViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
case nameof(viewModel.IsBusy):
refresher.Refreshing = viewModel.IsBusy;
break;
}
}
public override void OnStop()
{
base.OnStop();
viewModel.PropertyChanged -= ViewModel_PropertyChanged;
}
void OnItemClick(object sender, TripClickEventArgs args)
{
var trip = viewModel.Trips[args.Position];
var intent = new Intent(Activity, typeof (PastTripDetailsActivity));
intent.PutExtra("Id", trip.Id);
intent.PutExtra("Rating", trip.Rating);
PastTripDetailsActivity.Trip = trip;
Activity.StartActivity(intent);
}
async void OnItemLongClick(object sender, TripClickEventArgs args)
{
var trip = viewModel.Trips[args.Position];
await viewModel.ExecuteDeleteTripCommand(trip);
}
class TripsOnScrollListenerListener : RecyclerView.OnScrollListener
{
readonly LinearLayoutManager layoutManager;
readonly PastTripsViewModel viewModel;
public TripsOnScrollListenerListener(PastTripsViewModel viewModel, LinearLayoutManager layoutManager)
{
this.layoutManager = layoutManager;
this.viewModel = viewModel;
}
public override void OnScrolled(RecyclerView recyclerView, int dx, int dy)
{
base.OnScrolled(recyclerView, dx, dy);
if (viewModel.IsBusy || viewModel.Trips.Count == 0 || !viewModel.CanLoadMore)
return;
var lastVisiblePosition = layoutManager.FindLastCompletelyVisibleItemPosition();
if (lastVisiblePosition == RecyclerView.NoPosition)
return;
//if we are at the bottom and can load more.
if (lastVisiblePosition == viewModel.Trips.Count - 1)
viewModel.LoadMorePastTripCommand.Execute(null);
}
}
}
public class TripViewHolder : RecyclerView.ViewHolder
{
public TripViewHolder(View itemView, Action<TripClickEventArgs> listener,
Action<TripClickEventArgs> listenerLong) : base(itemView)
{
itemView.LongClickable = true;
Title = itemView.FindViewById<TextView>(Resource.Id.text_title);
Distance = itemView.FindViewById<TextView>(Resource.Id.text_distance);
Date = itemView.FindViewById<TextView>(Resource.Id.text_date);
Photo = itemView.FindViewById<ImageView>(Resource.Id.photo);
itemView.Click +=
(sender, e) => listener(new TripClickEventArgs {View = sender as View, Position = AdapterPosition});
itemView.LongClick +=
(sender, e) => listenerLong(new TripClickEventArgs {View = sender as View, Position = AdapterPosition});
}
public TextView Title { get; set; }
public TextView Date { get; set; }
public TextView Distance { get; set; }
public ImageView Photo { get; set; }
}
public class TripClickEventArgs : EventArgs
{
public View View { get; set; }
public int Position { get; set; }
}
public class TripAdapter : RecyclerView.Adapter
{
readonly Android.App.Activity activity;
readonly PastTripsViewModel viewModel;
public TripAdapter(Android.App.Activity activity, PastTripsViewModel viewModel)
{
this.activity = activity;
this.viewModel = viewModel;
this.viewModel.Trips.CollectionChanged +=
(sender, e) => { this.activity.RunOnUiThread(NotifyDataSetChanged); };
}
public override int ItemCount => viewModel.Trips.Count;
public event EventHandler<TripClickEventArgs> ItemClick;
public event EventHandler<TripClickEventArgs> ItemLongClick;
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) =>
new TripViewHolder(LayoutInflater.From(parent.Context).Inflate(Resource.Layout.item_trip, parent, false),
OnClick, OnClickLong);
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
var vh = holder as TripViewHolder;
if (vh == null)
return;
var trip = viewModel.Trips[position];
vh.Title.Text = trip.Name;
vh.Distance.Text = trip.TotalDistance;
vh.Date.Text = trip.TimeAgo;
vh.Photo.Visibility = (trip?.Photos?.Count).GetValueOrDefault() > 0 ||
!string.IsNullOrWhiteSpace(trip.MainPhotoUrl)
? ViewStates.Visible
: ViewStates.Gone;
if (vh.Photo.Visibility == ViewStates.Visible)
{
if ((trip?.Photos?.Count).GetValueOrDefault() > 0)
Square.Picasso.Picasso.With(activity).Load($"file://{trip.Photos[0].PhotoUrl}").Into(vh.Photo);
else
Square.Picasso.Picasso.With(activity).Load(trip.MainPhotoUrl).Into(vh.Photo);
}
}
void OnClick(TripClickEventArgs args)
{
ItemClick?.Invoke(this, args);
}
void OnClickLong(TripClickEventArgs args)
{
ItemLongClick?.Invoke(this, args);
}
}
}

View File

@ -0,0 +1,97 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.OS;
using Android.Support.V4.App;
using Android.Views;
using MyDriving.Droid.Controls;
using Refractored.Controls;
using MyDriving.Utils;
using MyDriving.ViewModel;
using Android.Widget;
namespace MyDriving.Droid.Fragments
{
public class FragmentProfile : Fragment
{
CircleImageView circleImage;
TextView distance,
maxSpeed,
time,
stops,
accelerations,
trips,
fuelUsed,
distanceUnits,
profileRating,
profileGreat;
LinearLayout profileAll;
RatingCircle ratingCircle;
bool refresh = true;
ProfileViewModel viewModel;
public static FragmentProfile NewInstance() => new FragmentProfile {Arguments = new Bundle()};
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
var view = inflater.Inflate(Resource.Layout.fragment_profile, null);
ratingCircle = view.FindViewById<RatingCircle>(Resource.Id.rating_circle);
circleImage = view.FindViewById<CircleImageView>(Resource.Id.profile_image);
viewModel = new ProfileViewModel();
Square.Picasso.Picasso.With(Activity).Load(Settings.Current.UserProfileUrl).Into(circleImage);
trips = view.FindViewById<TextView>(Resource.Id.text_trips);
time = view.FindViewById<TextView>(Resource.Id.text_time);
distance = view.FindViewById<TextView>(Resource.Id.text_distance);
maxSpeed = view.FindViewById<TextView>(Resource.Id.text_max_speed);
fuelUsed = view.FindViewById<TextView>(Resource.Id.text_fuel_consumption);
accelerations = view.FindViewById<TextView>(Resource.Id.text_hard_accelerations);
stops = view.FindViewById<TextView>(Resource.Id.text_hard_breaks);
profileAll = view.FindViewById<LinearLayout>(Resource.Id.text_profile_all);
profileGreat = view.FindViewById<TextView>(Resource.Id.text_profile_great);
profileRating = view.FindViewById<TextView>(Resource.Id.text_profile_rating);
profileAll.Visibility = ViewStates.Invisible;
UpdateUI();
return view;
}
public override void OnStart()
{
base.OnStart();
if (refresh)
{
refresh = false;
viewModel.UpdateProfileAsync().ContinueWith(t => UpdateUI());
}
}
void UpdateUI()
{
Activity.RunOnUiThread(() =>
{
trips.Text = viewModel.TotalTrips.ToString();
time.Text = viewModel.TotalTimeDisplay;
distance.Text = viewModel.TotalDistanceDisplay;
maxSpeed.Text = viewModel.MaxSpeedDisplay;
fuelUsed.Text = viewModel.FuelDisplay;
accelerations.Text = viewModel.HardAccelerations.ToString();
stops.Text = viewModel.HardStops.ToString();
ratingCircle.Rating = viewModel.DrivingSkills;
profileGreat.Text = $"Driving Skills: {viewModel.DrivingSkillsPlacementBucket.Description}";
profileRating.Text = $"{viewModel.DrivingSkills.ToString()}%";
profileAll.Visibility = ViewStates.Visible;
});
}
}
}

View File

@ -0,0 +1,41 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.OS;
using Android.Support.V7.Preferences;
using MyDriving.ViewModel;
namespace MyDriving.Droid.Fragments
{
public class FragmentSettings : PreferenceFragmentCompat
{
SettingsViewModel viewModel;
public static FragmentSettings NewInstance() => new FragmentSettings {Arguments = new Bundle()};
public override void OnCreatePreferences(Bundle p0, string p1)
{
AddPreferencesFromResource(Resource.Xml.preferences);
viewModel = new SettingsViewModel();
}
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
FindPreference("url_privacy").PreferenceClick +=
(sender, args) => viewModel.OpenBrowserCommand.Execute(viewModel.PrivacyPolicyUrl);
FindPreference("url_copyright").PreferenceClick +=
(sender, args) => viewModel.OpenBrowserCommand.Execute(viewModel.PrivacyPolicyUrl);
FindPreference("url_xamarin").PreferenceClick +=
(sender, args) => viewModel.OpenBrowserCommand.Execute(viewModel.XamarinUrl);
FindPreference("url_terms").PreferenceClick +=
(sender, args) => viewModel.OpenBrowserCommand.Execute(viewModel.TermsOfUseUrl);
FindPreference("url_open_notice").PreferenceClick +=
(sender, args) => viewModel.OpenBrowserCommand.Execute(viewModel.OpenSourceNoticeUrl);
FindPreference("url_github").PreferenceClick +=
(sender, args) => viewModel.OpenBrowserCommand.Execute(viewModel.SourceOnGitHubUrl);
FindPreference("leave_feedback").PreferenceClick +=
(sender, args) => HockeyApp.FeedbackManager.ShowFeedbackActivity(Activity);
}
}
}

View File

@ -0,0 +1,136 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.Content;
using Android.Hardware;
using Java.Lang;
using Exception = System.Exception;
using Math = System.Math;
namespace MyDriving.Droid.Helpers
{
public interface IAccelerometerListener
{
void OnAccelerationChanged(float x, float y, float z);
void OnShake(float force);
}
public class AccelerometerManager
{
readonly ShakeSensorEventListener eventListener;
readonly SensorManager sensorManager;
Sensor sensor;
public AccelerometerManager(Context context, IAccelerometerListener listener)
{
eventListener = new ShakeSensorEventListener(listener);
sensorManager = (SensorManager) context.GetSystemService(Context.SensorService);
IsSupported = sensorManager.GetSensorList(SensorType.Accelerometer).Count > 0;
}
public bool IsSupported { get; set; }
/// <summary>
/// Gets if the manager is listening to orientation changes
/// </summary>
public bool IsListening { get; private set; }
public void Configure(int threshold, int interval)
{
eventListener.Threshold = threshold;
eventListener.Interval = interval;
}
public void StopListening()
{
IsListening = false;
try
{
if (sensorManager != null && eventListener != null)
{
sensorManager.UnregisterListener(eventListener);
}
}
catch (Exception)
{
}
}
public void StartListening()
{
var sensors = sensorManager.GetSensorList(SensorType.Accelerometer);
if (sensors.Count > 0)
{
sensor = sensors[0];
IsListening = sensorManager.RegisterListener(eventListener, sensor, SensorDelay.Game);
}
}
class ShakeSensorEventListener : Object, ISensorEventListener
{
readonly IAccelerometerListener listener;
long now, timeDiff, lastUpdate, lastShake;
float x, y, z, lastX, lastY, lastZ, force;
public ShakeSensorEventListener(IAccelerometerListener listener)
{
this.listener = listener;
Threshold = 25.0f;
Interval = 200;
}
//Accuracy Configuration
public float Threshold { get; set; }
public int Interval { get; set; }
public void OnAccuracyChanged(Sensor sensor, SensorStatus accuracy)
{
}
public void OnSensorChanged(SensorEvent e)
{
try
{
now = e.Timestamp;
x = e.Values[0];
y = e.Values[1];
z = e.Values[2];
if (lastUpdate == 0)
{
lastUpdate = now;
lastShake = now;
lastX = x;
lastY = y;
lastZ = z;
}
else
{
timeDiff = now - lastUpdate;
if (timeDiff <= 0)
return;
force = Math.Abs(x + y + z - lastX - lastY - lastZ);
if (Float.Compare(force, Threshold) > 0)
{
if (now - lastShake >= Interval)
listener.OnShake(force);
lastShake = now;
}
lastX = x;
lastY = y;
lastZ = z;
lastUpdate = now;
}
}
finally
{
listener.OnAccelerationChanged(x, y, z);
}
}
}
}
}

View File

@ -0,0 +1,21 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using Android.Gms.Maps.Model;
using MyDriving.DataObjects;
using System.Collections.Generic;
using System.Linq;
namespace MyDriving.Droid.Helpers
{
public static class LocationExtensions
{
public static LatLng ToLatLng(this TripPoint point) => new LatLng(point.Latitude, point.Longitude);
public static LatLng ToLatLng(this Plugin.Geolocator.Abstractions.Position point)
=> new LatLng(point.Latitude, point.Longitude);
public static List<LatLng> ToLatLngs(this IEnumerable<TripPoint> points)
=> new List<LatLng>(points.Select(s => s.ToLatLng()));
}
}

View File

@ -0,0 +1,53 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using System;
using MyDriving.Utils;
using MyDriving.Utils.Interfaces;
using System.Threading.Tasks;
using Microsoft.WindowsAzure.MobileServices;
using Plugin.CurrentActivity;
namespace MyDriving.Droid.Helpers
{
public class Authentication : IAuthentication
{
public async Task<MobileServiceUser> LoginAsync(IMobileServiceClient client, MobileServiceAuthenticationProvider provider)
{
MobileServiceUser user = null;
try
{
Settings.Current.LoginAttempts++;
user = await client.LoginAsync(CrossCurrentActivity.Current.Activity, provider);
Settings.Current.AuthToken = user?.MobileServiceAuthenticationToken ?? string.Empty;
Settings.Current.AzureMobileUserId = user?.UserId ?? string.Empty;
}
catch (Exception e)
{
//Don't log if the user cancelled out of the login screen
if (!e.Message.Contains("cancelled"))
{
e.Data["method"] = "LoginAsync";
Logger.Instance.Report(e);
}
}
return user;
}
public void ClearCookies()
{
try
{
if ((int) Android.OS.Build.VERSION.SdkInt >= 21)
Android.Webkit.CookieManager.Instance.RemoveAllCookies(null);
}
catch (Exception ex)
{
Logger.Instance.Report(ex);
}
}
}
}

View File

@ -0,0 +1,3 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -0,0 +1,77 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using System;
using Android.App;
using Android.OS;
using Android.Runtime;
using Plugin.CurrentActivity;
using MyDriving.Utils;
using MyDriving.Utils.Interfaces;
using MyDriving.Interfaces;
using MyDriving.Droid.Helpers;
using Acr.UserDialogs;
using MyDriving.Shared;
namespace MyDriving.Droid
{
[Application]
public class MainApplication : Application, Application.IActivityLifecycleCallbacks
{
public MainApplication(IntPtr handle, JniHandleOwnership transer)
: base(handle, transer)
{
}
public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
=> CrossCurrentActivity.Current.Activity = activity;
public void OnActivityDestroyed(Activity activity)
{
}
public void OnActivityPaused(Activity activity)
{
}
public void OnActivityResumed(Activity activity) => CrossCurrentActivity.Current.Activity = activity;
public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
{
}
public void OnActivityStarted(Activity activity)
{
CrossCurrentActivity.Current.Activity = activity;
#if !XTC
HockeyApp.Tracking.StartUsage(activity);
#endif
}
public void OnActivityStopped(Activity activity)
{
#if !XTC
HockeyApp.Tracking.StopUsage(activity);
#endif
}
public override void OnCreate()
{
base.OnCreate();
RegisterActivityLifecycleCallbacks(this);
ViewModel.ViewModelBase.Init();
ServiceLocator.Instance.Add<IAuthentication, Authentication>();
ServiceLocator.Instance.Add<Utils.Interfaces.ILogger, PlatformLogger>();
ServiceLocator.Instance.Add<IOBDDevice, OBDDevice>();
Microsoft.WindowsAzure.MobileServices.CurrentPlatform.Init();
UserDialogs.Init(() => CrossCurrentActivity.Current.Activity);
}
public override void OnTerminate()
{
base.OnTerminate();
UnregisterActivityLifecycleCallbacks(this);
}
}
}

View File

@ -0,0 +1,481 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>{B09661C2-82A6-4D16-B4FD-7B23D0FFE1FE}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>MyDriving.Droid</RootNamespace>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<AndroidResgenClass>Resource</AndroidResgenClass>
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
<AndroidApplication>True</AndroidApplication>
<AndroidUseLatestPlatformSdk>False</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<JavaMaximumHeapSize>1G</JavaMaximumHeapSize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;__ANDROID__</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<JavaMaximumHeapSize>1G</JavaMaximumHeapSize>
<AndroidKeyStore>True</AndroidKeyStore>
<AndroidSigningKeyStore>Build2016.keystore</AndroidSigningKeyStore>
<AndroidSigningStorePass>Build*1234</AndroidSigningStorePass>
<AndroidSigningKeyAlias>Build2016</AndroidSigningKeyAlias>
<AndroidSigningKeyPass>Build*1234</AndroidSigningKeyPass>
<AssemblyName>MyDriving.Droid</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>full</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
<ConsolePause>false</ConsolePause>
<AndroidSupportedAbis>armeabi-v7a;x86</AndroidSupportedAbis>
<JavaMaximumHeapSize>1G</JavaMaximumHeapSize>
<AssemblyName>MyDriving.Droid</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'XTC|AnyCPU' ">
<Optimize>false</Optimize>
<OutputPath>bin\XTC</OutputPath>
<DefineConstants>XTC</DefineConstants>
<WarningLevel>4</WarningLevel>
<AndroidSupportedAbis>armeabi-v7a;x86;armeabi;arm64-v8a;x86_64</AndroidSupportedAbis>
<AndroidFastDeploymentType>
</AndroidFastDeploymentType>
<AssemblyName>MyDriving.Android</AssemblyName>
<JavaMaximumHeapSize>1G</JavaMaximumHeapSize>
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
</PropertyGroup>
<ItemGroup>
<Reference Include="HockeySDK, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\HockeySDK.Xamarin.4.1.0-beta1\lib\MonoAndroid403\HockeySDK.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Azure.Devices.Client.PCL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.Devices.Client.PCL.1.0.3\lib\portable-net45+wp8+wpa81+win8+MonoAndroid10+MonoTouch10+Xamarin.iOS10+UAP10\Microsoft.Azure.Devices.Client.PCL.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\packages\Newtonsoft.Json.8.0.3\lib\portable-net40+sl5+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="PCLCrypto, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d4421c8a4786956c, processorArchitecture=MSIL">
<HintPath>..\..\packages\PCLCrypto.1.0.86\lib\monoandroid\PCLCrypto.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.DeviceInfo, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugin.DeviceInfo.2.0.2\lib\MonoAndroid10\Plugin.DeviceInfo.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.DeviceInfo.Abstractions, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugin.DeviceInfo.2.0.2\lib\MonoAndroid10\Plugin.DeviceInfo.Abstractions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.Media, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugin.Media.2.4.0-beta3\lib\MonoAndroid10\Plugin.Media.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.Media.Abstractions, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xam.Plugin.Media.2.4.0-beta3\lib\MonoAndroid10\Plugin.Media.Abstractions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.Share, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Share.4.0.0\lib\MonoAndroid10\Plugin.Share.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Plugin.Share.Abstractions, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Plugin.Share.4.0.0\lib\MonoAndroid10\Plugin.Share.Abstractions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Square.OkHttp, Version=2.7.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Square.OkHttp.2.7.5.0\lib\MonoAndroid\Square.OkHttp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="Mono.Android" />
<Reference Include="Microsoft.WindowsAzure.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<HintPath>..\..\packages\Microsoft.Azure.Mobile.Client.2.0.1\lib\monoandroid\Microsoft.WindowsAzure.Mobile.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAzure.Mobile.Ext, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<HintPath>..\..\packages\Microsoft.Azure.Mobile.Client.2.0.1\lib\monoandroid\Microsoft.WindowsAzure.Mobile.Ext.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAzure.Mobile.SQLiteStore, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<HintPath>..\..\packages\Microsoft.Azure.Mobile.Client.SQLiteStore.2.0.1\lib\portable-win+net45+wp8+wpa81+monotouch+monoandroid\Microsoft.WindowsAzure.Mobile.SQLiteStore.dll</HintPath>
</Reference>
<Reference Include="Plugin.CurrentActivity, Version=1.0.1.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll</HintPath>
</Reference>
<Reference Include="Plugin.Geolocator, Version=3.0.4.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.dll</HintPath>
</Reference>
<Reference Include="Plugin.Geolocator.Abstractions, Version=3.0.4.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\MonoAndroid10\Plugin.Geolocator.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Permissions, Version=1.1.6.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\packages\Plugin.Permissions.1.1.7\lib\MonoAndroid10\Plugin.Permissions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Permissions.Abstractions, Version=1.1.6.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\packages\Plugin.Permissions.1.1.7\lib\MonoAndroid10\Plugin.Permissions.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\packages\Xam.Plugins.Settings.2.1.0\lib\MonoAndroid10\Plugin.Settings.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\packages\Xam.Plugins.Settings.2.1.0\lib\MonoAndroid10\Plugin.Settings.Abstractions.dll</HintPath>
</Reference>
<Reference Include="SQLitePCL, Version=3.8.7.2, Culture=neutral, PublicKeyToken=bddade01e9c850c5">
<HintPath>..\..\packages\SQLitePCL.3.8.7.2\lib\MonoAndroid\SQLitePCL.dll</HintPath>
</Reference>
<Reference Include="SQLitePCL.Ext, Version=3.8.7.2, Culture=neutral, PublicKeyToken=bddade01e9c850c5">
<HintPath>..\..\packages\SQLitePCL.3.8.7.2\lib\MonoAndroid\SQLitePCL.Ext.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\Microsoft.Net.Http.2.2.29\lib\monoandroid\System.Net.Http.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\Microsoft.Net.Http.2.2.29\lib\monoandroid\System.Net.Http.Primitives.dll</HintPath>
</Reference>
<Reference Include="Plugin.EmbeddedResource">
<HintPath>..\..\packages\Xam.Plugin.EmbeddedResource.1.0.1.0\lib\portable-net45+wp8+wpa81+win8+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Plugin.EmbeddedResource.dll</HintPath>
</Reference>
<Reference Include="PCLStorage">
<HintPath>..\..\packages\PCLStorage.1.0.2\lib\monoandroid\PCLStorage.dll</HintPath>
</Reference>
<Reference Include="PCLStorage.Abstractions">
<HintPath>..\..\packages\PCLStorage.1.0.2\lib\monoandroid\PCLStorage.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Humanizer, Version=2.0.1.0, Culture=neutral, PublicKeyToken=979442b78dfc278e">
<HintPath>..\..\packages\Humanizer.Core.2.0.1\lib\dotnet\Humanizer.dll</HintPath>
</Reference>
<Reference Include="Refractored.Controls.CircleImageView">
<HintPath>..\..\packages\Refractored.Controls.CircleImageView.1.0.1\lib\MonoAndroid10\Refractored.Controls.CircleImageView.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Validation, Version=2.0.0.0, Culture=neutral, PublicKeyToken=2fc06f0d701809a7, processorArchitecture=MSIL">
<HintPath>..\..\packages\Validation.2.0.6.15003\lib\portable-net40+sl50+win+wpa81+wp80+Xamarin.iOS10+MonoAndroid10+MonoTouch10\Validation.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.CustomTabs, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.CustomTabs.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.CustomTabs.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Design.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.Design.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v14.Preference, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v14.Preference.23.1.1.1\lib\MonoAndroid41\Xamarin.Android.Support.v14.Preference.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.AppCompat, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.CardView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.CardView.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.Palette, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.Palette.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.Palette.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.Preference, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.Preference.23.1.1.1\lib\MonoAndroid41\Xamarin.Android.Support.v7.Preference.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.RecyclerView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.RecyclerView.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v8.RenderScript, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v8.RenderScript.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v8.RenderScript.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.GooglePlayServices.Base, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.GooglePlayServices.Base.29.0.0.1\lib\MonoAndroid41\Xamarin.GooglePlayServices.Base.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.GooglePlayServices.Basement, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.GooglePlayServices.Basement.29.0.0.1\lib\MonoAndroid41\Xamarin.GooglePlayServices.Basement.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.GooglePlayServices.Maps, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.GooglePlayServices.Maps.29.0.0.1\lib\MonoAndroid41\Xamarin.GooglePlayServices.Maps.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Square.Picasso">
<HintPath>..\..\packages\Square.Picasso.2.5.2.1\lib\MonoAndroid\Square.Picasso.dll</HintPath>
</Reference>
<Reference Include="Square.OkIO">
<HintPath>..\..\packages\Square.OkIO.1.6.0.0\lib\MonoAndroid\Square.OkIO.dll</HintPath>
</Reference>
<Reference Include="Splat">
<HintPath>..\..\packages\Splat.1.6.2\lib\monoandroid\Splat.dll</HintPath>
</Reference>
<Reference Include="Acr.Support.Android">
<HintPath>..\..\packages\Acr.Support.1.1.1\lib\MonoAndroid10\Acr.Support.Android.dll</HintPath>
</Reference>
<Reference Include="Plugin.Connectivity">
<HintPath>..\..\packages\Xam.Plugin.Connectivity.2.1.2\lib\MonoAndroid10\Plugin.Connectivity.dll</HintPath>
</Reference>
<Reference Include="Plugin.Connectivity.Abstractions">
<HintPath>..\..\packages\Xam.Plugin.Connectivity.2.1.2\lib\MonoAndroid10\Plugin.Connectivity.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Acr.UserDialogs">
<HintPath>..\..\packages\Acr.UserDialogs.Android.AppCompat.4.3.2\lib\MonoAndroid10\Acr.UserDialogs.dll</HintPath>
</Reference>
<Reference Include="Acr.UserDialogs.Interface">
<HintPath>..\..\packages\Acr.UserDialogs.Android.AppCompat.4.3.2\lib\MonoAndroid10\Acr.UserDialogs.Interface.dll</HintPath>
</Reference>
<Reference Include="AndHUD">
<HintPath>..\..\packages\Acr.UserDialogs.Android.AppCompat.4.3.2\lib\MonoAndroid10\AndHUD.dll</HintPath>
</Reference>
<Reference Include="MvvmHelpers">
<HintPath>..\..\packages\Refractored.MvvmHelpers.1.0.1\lib\portable-net45+wp8+wpa81+win8+MonoAndroid10+MonoTouch10+Xamarin.iOS10+UAP10\MvvmHelpers.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MyDriving.DataStore.Abstractions\MyDriving.DataStore.Abstractions.csproj">
<Project>{649300CE-70EA-4606-983F-F4476FDD6C7E}</Project>
<Name>MyDriving.DataStore.Abstractions</Name>
</ProjectReference>
<ProjectReference Include="..\MyDriving.DataStore.Azure\MyDriving.DataStore.Azure.csproj">
<Project>{E05FB3D8-372D-4FD3-84F3-1E908E3861B6}</Project>
<Name>MyDriving.DataStore.Azure</Name>
</ProjectReference>
<ProjectReference Include="..\MyDriving.DataStore.Mock\MyDriving.DataStore.Mock.csproj">
<Project>{42F3D3DF-B854-4A5B-9C94-F3D823116AD5}</Project>
<Name>MyDriving.DataStore.Mock</Name>
</ProjectReference>
<ProjectReference Include="..\MyDriving\MyDriving.csproj">
<Name>MyDriving</Name>
<Project>{A68CCCDA-E4A5-4128-920F-AC00ECB9E3E6}</Project>
</ProjectReference>
<ProjectReference Include="..\MyDriving.Utils\MyDriving.Utils.csproj">
<Project>{CEF8CB82-B2BF-42D0-998C-8C50A4CA7AE6}</Project>
<Name>MyDriving.Utils</Name>
</ProjectReference>
<ProjectReference Include="..\MyDriving.AzureClient\MyDriving.AzureClient.csproj">
<Project>{29B6B823-6639-4942-9723-0075BBEF7C69}</Project>
<Name>MyDriving.AzureClient</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\OBDLibrary\ObdLibAndroid\ObdLibAndroid.csproj">
<Project>{9A377DF7-3E28-4B4B-8BD2-61416F7AEA1F}</Project>
<Name>ObdLibAndroid</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Compile Include="Helpers\Settings.cs" />
<Compile Include="MainApplication.cs" />
<Compile Include="Resources\Resource.designer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Fragments\FragmentPastTrips.cs" />
<Compile Include="Fragments\FragmentCurrentTrip.cs" />
<Compile Include="Fragments\FragmentSettings.cs" />
<Compile Include="Helpers\Authentication.cs" />
<Compile Include="Services\GeolocationService.cs" />
<Compile Include="Services\GeolocationHelper.cs" />
<Compile Include="Activities\BaseActivity.cs" />
<Compile Include="Activities\LoginActivity.cs" />
<Compile Include="Activities\MainActivity.cs" />
<Compile Include="Activities\SplashActivity.cs" />
<Compile Include="Activities\PastTripDetailsActivity.cs" />
<Compile Include="Helpers\AccelerometerManager.cs" />
<Compile Include="Controls\RatingCircle.cs" />
<Compile Include="Fragments\FragmentProfile.cs" />
<Compile Include="Activities\TripSummaryActivity.cs" />
<Compile Include="Helpers\AndroidExtensions.cs" />
<Compile Include="Fragments\FragmentGettingStarted.cs" />
<Compile Include="Activities\GettingStartedActivity.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<None Include="Resources\AboutResources.txt" />
<None Include="Properties\AndroidManifest.xml" />
<None Include="Assets\AboutAssets.txt" />
<AndroidResource Include="Resources\layout\toolbar.axml">
<SubType>AndroidResource</SubType>
</AndroidResource>
<AndroidResource Include="Resources\layout\nav_header.axml">
<SubType>AndroidResource</SubType>
</AndroidResource>
<AndroidResource Include="Resources\layout\fragment_past_trips.axml" />
<AndroidResource Include="Resources\layout\item_trip.axml" />
<AndroidResource Include="Resources\layout\fragment_profile.axml" />
<AndroidResource Include="Resources\layout\activity_login.axml" />
<AndroidResource Include="Resources\layout\activity_main.axml" />
<AndroidResource Include="Resources\values\dimen.xml" />
<AndroidResource Include="Resources\layout\activity_past_trip_details.axml" />
<AndroidResource Include="Resources\xml\preferences.xml" />
<AndroidResource Include="Resources\drawable-hdpi\menu_past_trips.png" />
<AndroidResource Include="Resources\drawable-mdpi\menu_past_trips.png" />
<AndroidResource Include="Resources\drawable-xhdpi\menu_past_trips.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\menu_past_trips.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\menu_past_trips.png" />
<AndroidResource Include="Resources\drawable-hdpi\menu_settings.png" />
<AndroidResource Include="Resources\drawable-mdpi\menu_settings.png" />
<AndroidResource Include="Resources\drawable-xhdpi\menu_settings.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\menu_settings.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\menu_settings.png" />
<AndroidResource Include="Resources\drawable-hdpi\menu_profile.png" />
<AndroidResource Include="Resources\drawable-mdpi\menu_profile.png" />
<AndroidResource Include="Resources\drawable-xhdpi\menu_profile.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\menu_profile.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\menu_profile.png" />
<AndroidResource Include="Resources\drawable-hdpi\menu_current_trip.png" />
<AndroidResource Include="Resources\drawable-mdpi\menu_current_trip.png" />
<AndroidResource Include="Resources\drawable-xhdpi\menu_current_trip.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\menu_current_trip.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\menu_current_trip.png" />
<AndroidResource Include="Resources\drawable-hdpi\ic_camera.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_camera.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_camera.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_camera.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_camera.png" />
<AndroidResource Include="Resources\menu\menu_current_trip.xml" />
<AndroidResource Include="Resources\drawable-hdpi\ic_stop.png" />
<AndroidResource Include="Resources\drawable-hdpi\ic_start.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_start.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_stop.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_start.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_stop.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_start.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_stop.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_start.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_stop.png" />
<AndroidResource Include="Resources\drawable-hdpi\ic_twitter.png" />
<AndroidResource Include="Resources\drawable-hdpi\ic_windows.png" />
<AndroidResource Include="Resources\drawable-hdpi\ic_facebook.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_facebook.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_windows.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_twitter.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_facebook.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_windows.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_twitter.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_facebook.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_windows.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_twitter.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_facebook.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_windows.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_twitter.png" />
<AndroidResource Include="Resources\drawable-hdpi\ic_notification.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_notification.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_notification.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_notification.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_notification.png" />
<AndroidResource Include="Resources\layout\activity_trip_summary.axml" />
<AndroidResource Include="Resources\layout\fragment_current_trip.axml">
<SubType>AndroidResource</SubType>
</AndroidResource>
<AndroidResource Include="Resources\layout\fragment_started_1.axml" />
<AndroidResource Include="Resources\layout\fragment_started_3.axml" />
<AndroidResource Include="Resources\layout\fragment_started_2.axml" />
<AndroidResource Include="Resources\layout\fragment_started_4.axml" />
<AndroidResource Include="Resources\layout\fragment_started_5.axml" />
<AndroidResource Include="Resources\layout\activity_getting_started.axml" />
<AndroidResource Include="Resources\drawable-nodpi\screen_1.png" />
<AndroidResource Include="Resources\drawable-nodpi\screen_2.png" />
<AndroidResource Include="Resources\drawable-nodpi\screen_3.png" />
<AndroidResource Include="Resources\drawable-nodpi\screen_4.png" />
<AndroidResource Include="Resources\drawable-nodpi\screen_5.png" />
<AndroidResource Include="Resources\drawable-hdpi\ic_close.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_close.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_close.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_close.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_close.png" />
<AndroidResource Include="Resources\menu\menu_summary.xml" />
<AndroidResource Include="Resources\drawable-nodpi\ic_end_point.png" />
<AndroidResource Include="Resources\drawable-nodpi\ic_car_blue.png" />
<AndroidResource Include="Resources\drawable-nodpi\ic_car_red.png" />
<AndroidResource Include="Resources\drawable-nodpi\ic_start_point.png" />
<AndroidResource Include="Resources\drawable\navigation_logo.png" />
<AndroidResource Include="Resources\drawable\logo.png" />
<AndroidResource Include="Resources\drawable-nodpi\background_started.png" />
<AndroidResource Include="Resources\drawable\navigation_header.png" />
<None Include="Assets\Desktop EULA 1.6.txt" />
<AndroidResource Include="Resources\drawable-hdpi\ic_launcher.png" />
<AndroidResource Include="Resources\drawable-mdpi\ic_launcher.png" />
<AndroidResource Include="Resources\drawable-xhdpi\ic_launcher.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\ic_launcher.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_launcher.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values\Strings.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\ic_menu.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values\colors.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values\styles.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values-v19\styles.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values-v21\styles.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\background_splash.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\menu\nav_menu.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-mdpi\ic_menu.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\ic_menu.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\ic_menu.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_menu.png" />
</ItemGroup>
<Import Project="..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
</Target>
<ItemGroup>
<AndroidEnvironment Include="environment.txt" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<AndroidAsset Include="Assets\fonts\Corbert-Regular.otf" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-nodpi\ic_tip.png" />
</ItemGroup>
<Import Project="..\MyDriving.Shared\MyDriving.Shared.projitems" Label="Shared" />
</Project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.microsoft.mydriving" android:versionCode="1" android:versionName="1.0.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
<application android:theme="@style/MyTheme" android:label="MyDriving" android:icon="@drawable/ic_launcher">
<activity android:name="net.hockeyapp.android.UpdateActivity" />
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyBV35qO2UwecYbthByA87H4Fbkqa5Fpbrk" />
</application>
</manifest>

View File

@ -0,0 +1,32 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using System.Reflection;
using Android.App;
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle("MyDriving.Droid")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("joe")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion("1.0.0")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]
[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]

View File

@ -0,0 +1,44 @@
Images, layout descriptions, binary blobs and string dictionaries can be included
in your application as resource files. Various Android APIs are designed to
operate on the resource IDs instead of dealing with images, strings or binary blobs
directly.
For example, a sample Android app that contains a user interface layout (main.axml),
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
would keep its resources in the "Resources" directory of the application:
Resources/
drawable/
icon.png
layout/
main.axml
values/
strings.xml
In order to get the build system to recognize Android resources, set the build action to
"AndroidResource". The native Android APIs do not operate directly with filenames, but
instead operate on resource IDs. When you compile an Android application that uses resources,
the build system will package the resources for distribution and generate a class called "R"
(this is an Android convention) that contains the tokens for each one of the resources
included. For example, for the above Resources layout, this is what the R class would expose:
public class R {
public class drawable {
public const int icon = 0x123;
}
public class layout {
public const int main = 0x456;
}
public class strings {
public const int first_string = 0xabc;
public const int second_string = 0xbcd;
}
}
You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
to reference the layout/main.axml file, or R.strings.first_string to reference the first
string in the dictionary file values/strings.xml.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

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