<!--
    Copyright 2013 The Android Open Source Project

    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.
--><?cs # Table of contents for source.?>
<ul id="nav">
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>source/index.html">
        <span class="en">Overview</span>
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>source/code-lines.html">Codelines, Branches, and Releases</a></li>
      <li><a href="<?cs var:toroot ?>source/build-numbers.html">Codenames, Tags, and Build Numbers</a></li>
      <li><a href="<?cs var:toroot ?>source/roles.html">Project Roles</a></li>
      <li><a href="<?cs var:toroot ?>source/brands.html">Brand Guidelines</a></li>
      <li><a href="<?cs var:toroot ?>source/licenses.html">Licenses</a></li>
      <li><a href="<?cs var:toroot ?>source/faqs.html">FAQ</a></li>
    </ul>
  </li>


  <li class="nav-section">
      <div class="nav-section-header">
        <a href="<?cs var:toroot ?>source/building.html">
          <span class="en">Downloading and Building</span>
        </a>
      </div>
       <ul>
        <li><a href="<?cs var:toroot ?>source/initializing.html">Initializing the Build Environment</a></li>
        <li><a href="<?cs var:toroot ?>source/downloading.html">Downloading the Source</a></li>
        <li><a href="<?cs var:toroot ?>source/building-running.html">Building and Running</a></li>
        <li><a href="<?cs var:toroot ?>source/building-devices.html">Building for Devices</a></li>
        <li><a href="<?cs var:toroot ?>source/building-kernels.html">Building Kernels</a></li>
        <li><a href="<?cs var:toroot ?>source/known-issues.html">Known Issues</a></li>
      </ul>
  </li>
  <li class="nav-section">
          <div class="nav-section-header">
            <a href="<?cs var:toroot ?>source/developing.html">
              <span class="en">Developing</span>
            </a>
          </div>
          <ul>
            <li><a href="<?cs var:toroot ?>source/using-repo.html">Using Repo</a></li>
            <li><a href="<?cs var:toroot ?>source/using-eclipse.html">Using Eclipse</a></li>
            <li><a href="<?cs var:toroot ?>source/git-resources.html">Git Resources</a></li>
          </ul>
  </li>

  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>source/contributing.html">
        <span class="en">Contributing</span>
      </a>
    </div>
       <ul>
        <li><a href="<?cs var:toroot ?>source/life-of-a-patch.html">Life of a Patch</a>
        <li><a href="<?cs var:toroot ?>source/submit-patches.html">Submitting Patches</a></li>
        <li><a href="http://android-review.googlesource.com">View Patches</a></li>
        <li><a href="<?cs var:toroot ?>source/life-of-a-bug.html">Life of a Bug</a></li>
        <li><a href="<?cs var:toroot ?>source/report-bugs.html">Reporting Bugs</a></li>
        <li><a href="<?cs var:toroot ?>source/code-style.html">Code Style Guidelines</a></li>
      </ul>
  </li>

  <li class="nav-section">
    <div class="nav-section-header empty">
      <a href="<?cs var:toroot ?>source/community/index.html">
        <span class="en">Community</span>
      </a>
    </div>
  </li>

</ul>
