<!DOCTYPE html><html><head>


  <meta charset="utf-8">
  <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.css">

  <title>Dart VM Observatory</title>
  <script type="text/javascript" src="https://www.google.com/jsapi"></script>
  
  
  <script src="index.html_bootstrap.dart.js"></script>
  
</head>
<body><polymer-element name="observatory-element">
  
</polymer-element><polymer-element name="breakpoint-list" extends="observatory-element">
  <template>
    <template if="{{ msg['breakpoints'].isEmpty }}">
      <div class="panel panel-warning">
        <div class="panel-body">No breakpoints</div>
      </div>
    </template>
    <template if="{{ msg['breakpoints'].isNotEmpty }}">
      <ul class="list-group">
      <template repeat="{{ bpt in msg['breakpoints'] }}">
        <li class="list-group-item">
          {{ bpt }}
        </li>
      </template>
      </ul>
    </template>
  </template>
  
</polymer-element><polymer-element name="service-ref" extends="observatory-element">
  
</polymer-element><polymer-element name="class-ref" extends="service-ref">
<template>
  <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
</template>

</polymer-element>
<polymer-element name="error-view" extends="observatory-element">
  <template>
    <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-danger">
        <div class="panel-heading">{{ error['errorType'] }}</div>
        <div class="panel-body">
          <p>{{ error['text'] }}</p>
        </div>
      </div>
    </div>
    </div>
  </template>
  
</polymer-element><polymer-element name="field-ref" extends="service-ref">
<template>
<div>
  <template if="{{ ref['final'] }}"> final </template>
  <template if="{{ ref['const'] }}"> const </template>
  <template if="{{ (ref['declared_type']['name'] == 'dynamic' &amp;&amp; !ref['final'] &amp;&amp; !ref['const']) }}">
  var
  </template>
  <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}">
  <class-ref app="{{ app }}" ref="{{ ref['declared_type'] }}"></class-ref>
  </template>
  <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
</div>
</template>  </polymer-element><polymer-element name="function-ref" extends="service-ref">
<template>
  <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="instance-ref" extends="service-ref">
<template>
<div>
  <template if="{{ (ref['type'] == 'null') }}">
    unexpected null
  </template>
  <template if="{{ (ref['type'] == '@Null') }}">
    {{ name }}
  </template>
  <template if="{{ (ref['type'] != 'null') &amp;&amp; ref['type'] != '@Null' }}">
    <a href="{{ url }}">{{ name }} </a>
  </template>
 </div>
</template>

</polymer-element>
<polymer-element name="library-ref" extends="service-ref">
<template>
  <a href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="class-view" extends="observatory-element">
  <template>
    <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-warning">
        <div class="panel-heading">
          class <strong>{{ cls['user_name'] }}</strong>
          <template if="{{ cls['super']['type'] != 'Null' }}">
            extends
            <class-ref app="{{ app }}" ref="{{ cls['super'] }}"></class-ref>
          </template>
          <library-ref app="{{ app }}" ref="{{ cls['library'] }}"></library-ref>
        </div>
        <div class="panel-body">
          <table class="table table-hover">
            <tbody>
              <tr>
                <td>Abstract</td><td>{{ cls['abstract'] }}</td>
              </tr>
              <tr>
                <td>Const</td><td>{{ cls['const'] }}</td>
              </tr>
              <tr>
                <td>Finalized</td><td>{{ cls['const'] }}</td>
              </tr>
              <tr>
                <td>Implemented</td><td>{{ cls['implemented'] }}</td>
              </tr>
              <tr>
                <td>Patch</td><td>{{ cls['patch'] }}</td>
              </tr>
              <tr>
                <td>VM Name</td><td>{{ cls['name'] }}</td>
              </tr>
            </tbody>
          </table>
          <template if="{{ cls['error'] == null }}">
            <blockquote><strong>Fields</strong></blockquote>
            <table class="table table-hover">
             <tbody>
                <tr template="" repeat="{{ field in cls['fields'] }}">
                  <td><field-ref app="{{ app }}" ref="{{ field }}"></field-ref></td>
                  <td><instance-ref app="{{ app }}" ref="{{ field['value'] }}"></instance-ref></td>
                </tr>
              </tbody>
            </table>
            <blockquote><strong>Functions</strong></blockquote>
            <table class="table table-hover">
              <thead>
                <tr>
                  <th>User Name</th>
                  <th>VM Name</th>
                </tr>
              </thead>
              <tbody>
                <tr template="" repeat="{{ function in cls['functions'] }}">
                  <td><function-ref app="{{ app }}" ref="{{ function }}"></function-ref></td>
                  <td><function-ref app="{{ app }}" ref="{{ function }}" internal=""></function-ref></td>
                </tr>
              </tbody>
            </table>
          </template>
          <template if="{{ cls['error'] != null }}">
            <error-view error_obj="{{ cls['error'] }}"></error-view>
          </template>
        </div>
      </div>
    </div>
    </div>
  </template>
  
</polymer-element>
<polymer-element name="code-ref" extends="service-ref">
<template>
  <a href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="disassembly-entry" extends="observatory-element">
  <template>
  <div class="row">
      <div class="col-md-2">{{ instruction.formattedTicks() }}</div>
      <div class="col-md-2">{{ instruction.formattedAddress() }}</div>
      <div class="col-md-4">
        <code>{{ instruction.machine }} {{ instruction.human }}</code>
      </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="code-view" extends="observatory-element">
  <template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="{{ cssPanelClass }}">
        <div class="panel-heading">
          <function-ref app="{{ app }}" ref="{{ code.functionRef }}"></function-ref>
        </div>
        <div class="panel-body">
          <div class="row">
              <div class="col-md-2"><strong>Samples</strong></div>
              <div class="col-md-2"><strong>Address</strong></div>
              <div><strong>Instruction</strong></div>
          </div>
          <template repeat="{{ instruction in code.instructions }}">
            <disassembly-entry instruction="{{ instruction }}">
            </disassembly-entry>
          </template>
        </div>
      </div>
    </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="collapsible-content" extends="observatory-element">
  <template>
    <div class="well row">
      <a on-click="toggleDisplay" class="btn muted unselectable">
           Raw message... <i class="{{ iconClass }}"></i>
      </a>
      <div style="display: {{ displayValue }}" class="well">
        <content></content>
      </div>
    </div>
  </template>
  
</polymer-element><polymer-element name="field-view" extends="observatory-element">
  <template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-warning">
        <div class="panel-heading">
          <template if="{{ field['static'] }}">static</template>
          <template if="{{ field['final'] }}">final</template>
          <template if="{{ field['const'] }}">const</template>
          {{ field['user_name'] }} ({{ field['name'] }})
          <class-ref app="{{ app }}" ref="{{ field['class'] }}"></class-ref>
        </div>
        <div class="panel-body">
        <template if="{{ field['guard_class'] == 'dynamic'}}">
          <div class="alert alert-danger">
            Field has been assigned multiple types. If a field is only ever
            assigned a single type, performance may improve.
          </div>
        </template>
        <template if="{{ (field['guard_class'] != 'dynamic') &amp;&amp; (field['guard_class'] != 'unknown') }}">
          <div class="alert alert-success">Field has monomorphic type</div>
          <template if="{{ (field['guard_class'] != 'dynamic') &amp;&amp;
                        field['guard_nullable'] }}">
            <div class="alert alert-info">
              Field has been assigned null. If a field is never assigned null,
              performance may improve.
            </div>
          </template>
          <blockquote>
            <class-ref app="{{ app }}" ref="{{ field['guard_class'] }}"></class-ref>
          </blockquote>
        </template>
        </div>
      </div>
    </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="function-view" extends="observatory-element">
  <template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-warning">
        <div class="panel-heading">
          {{ function['user_name'] }} ({{ function['name'] }})
          <class-ref app="{{ app }}" ref="{{ function['class'] }}"></class-ref>
        </div>
        <div class="panel-body">
          <div>
          <code-ref app="{{ app }}" ref="{{ function['code'] }}"></code-ref>
          <code-ref app="{{ app }}" ref="{{ function['unoptimized_code'] }}"></code-ref>
          </div>
          <table class="table table-hover">
            <tbody>
              <tr>
                <td>static</td><td>{{ function['is_static'] }}</td>
              </tr>
              <tr>
                <td>Const</td><td>{{ function['is_const'] }}</td>
              </tr>
              <tr>
                <td>Optimizable</td><td>{{ function['is_optimizable'] }}</td>
              </tr>
              <tr>
                <td>Inlinable</td><td>{{ function['is_inlinable'] }}</td>
              </tr>
              <tr>
                <td>Kind</td><td>{{ function['kind'] }}</td>
              </tr>
              <tr>
                <td>Usage Count</td><td>{{ function['usage_counter'] }}</td>
              </tr>
              <tr>
                <td>Optimized Call Site Count</td><td>{{ function['optimized_call_site_count'] }}</td>
              </tr>
              <tr>
                <td>Deoptimizations</td><td>{{ function['deoptimizations'] }}</td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
    </div>
  </div>
  </template>
  
</polymer-element><polymer-element name="isolate-summary" extends="observatory-element">
  <template>
    <div class="row">
      <div class="col-md-1">
        <img src="img/isolate_icon.png" class="img-polaroid">
      </div>

      <div class="col-md-1">{{ isolate.name }}</div>

      <!-- TODO(turnidge): Use function-ref when it can take isolate param -->
      <div class="col-md-4">

        <div class="row">
          <template if="{{ isolate.entry['id'] != null }}">
            <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.entry['id']) }}">
              {{ isolate.entry['name'] }}
            </a>
          </template>
          <template if="{{ isolate.entry['id'] == null }}">
            <!-- fred -->
            root isolate
          </template>
        </div>

        <div class="row">
          <small>
            (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.rootLib) }}">library</a>)
            (<a href="{{ app.locationManager.relativeLink(isolate.id, 'debug/breakpoints') }}">breakpoints</a>)
            (<a href="{{ app.locationManager.relativeLink(isolate.id, 'profile') }}">profile</a>)
          </small>
        </div>
      </div>

      <div class="col-md-2">
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['total'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">total</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['dart'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">dart</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['compile'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">compile</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['gc'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">gc</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['init'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">init</p></div>
        </div>
      </div>
      <div class="col-md-2">
        <a href="{{ app.locationManager.relativeLink(isolate.id, 'allocationprofile') }}">
          {{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | formatSize }}
        </a>
      </div>
      <div class="col-md-2">
        <template if="{{ isolate.topFrame == null }}">
          idle
        </template>
        <template if="{{ isolate.topFrame != null }}">
          run
        </template>
        ( <a href="{{ app.locationManager.relativeLink(isolate.id, 'stacktrace') }}">stack trace</a> )
      </div>
    </div>
    <div class="row">
      <div class="col-md-3">
      </div>
      <div class="col-md-6">
        <template if="{{ isolate.topFrame != null }}">
          <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFrame['function']['id']) }}">
            {{ isolate.topFrame['function']['user_name'] }}
          </a>
          (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFrame['script']['id']) }}">
            {{ isolate.topFrame | fileAndLine }}
          </a>)
          <br>
          <pre>{{ isolate.topFrame['line'] }} &nbsp; {{ isolate.topFrame['lineString'] }}</pre>
        </template>
      </div>
      <div class="col-md-3">
      </div>
    </div>
  </template>
  
</polymer-element>
<polymer-element name="isolate-list" extends="observatory-element">
  <template>
      <button type="button" on-click="{{refresh}}">Refresh</button>
      <ul class="list-group">
      <template repeat="{{ isolate in app.isolateManager.isolates.values }}">
      	<li class="list-group-item">
        <isolate-summary app="{{ app }}" isolate="{{ isolate }}"></isolate-summary>
        </li>
      </template>
      </ul>
      (<a href="{{ app.locationManager.absoluteLink('cpu') }}">cpu</a>)
  </template>
  
</polymer-element>
<polymer-element name="instance-view" extends="observatory-element">
  <template>
    <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-warning">
        <div class="panel-heading">
         Instance of
         <class-ref app="{{ app }}" ref="{{ instance['class'] }}"></class-ref>
        </div>
        <div class="panel-body">
          <template if="{{ instance['error'] == null }}">
            <table class="table table-hover">
              <tbody>
                <tr>
                  <td>Preview</td><td>{{ instance['preview'] }}</td>
                </tr>
              </tbody>
            </table>
            <blockquote><strong>Fields</strong></blockquote>
            <table class="table table-hover">
             <tbody>
                <tr template="" repeat="{{ field in instance['fields'] }}">
                  <td><field-ref app="{{ app }}" ref="{{ field }}"></field-ref></td>
                  <td><instance-ref app="{{ app }}" ref="{{ field['value'] }}"></instance-ref></td>
                </tr>
              </tbody>
            </table>
          </template>
          <template if="{{ instance['error'] != null }}">
            <error-view error_obj="{{ instance['error'] }}"></error-view>
          </template>
        </div>
      </div>
    </div>
    </div>
  </template>
  
</polymer-element>
<polymer-element name="json-view" extends="observatory-element">
  <template>
    <template bind="" if="{{ valueType == 'Primitive' }}">
      <span>{{primitiveString}}</span>
    </template>
    <template bind="" if="{{ valueType == 'List' }}">
      <table class="table table-condensed table-bordered">
        <caption class="text-left">List, {{list.length}}</caption>
        <tbody>
          <tr template="" repeat="{{item in list)}}">
            <th>{{counter}}</th>
            <td><json-view json="{{item}}"></json-view></td>
          </tr>
        </tbody>
      </table>
    </template>
    <template if="{{ valueType == 'Map' }}">
      <table class="table table-condensed table-bordered">
        <caption class="text-left">Map, {{keys.length}}</caption>
        <tbody>
          <tr template="" repeat="{{key in keys}}">
            <th>{{key}}</th>
            <td><json-view json="{{value(key)}}"></json-view></td>
          </tr>
        </tbody>
      </table>
    </template>
  </template>
  
</polymer-element>
<polymer-element name="script-ref" extends="service-ref">
<template>
  <a href="{{ url }}">{{ name }}</a>
</template>

</polymer-element><polymer-element name="library-view" extends="observatory-element">
  <template>
  <div class="alert alert-success">Library {{ library['name'] }}</div>
  <div class="alert alert-info">Scripts</div>
  <table class="table table-hover">
    <tbody>
      <tr template="" repeat="{{ script in library['scripts']}}">
        <td>
          {{ script['kind'] }}
        </td>
        <td>
          <script-ref app="{{ app }}" ref="{{ script }}"></script-ref>
        </td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info">Imported Libraries</div>
  <table class="table table-hover">
    <tbody>
      <tr template="" repeat="{{ lib in library['libraries'] }}">
        <td>
          <library-ref app="{{ app }}" ref="{{ lib }}"></library-ref>
        </td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info">Variables</div>
  <table class="table table-hover">
    <tbody>
      <tr template="" repeat="{{ variable in library['variables'] }}">
        <td><field-ref app="{{ app }}" ref="{{ variable }}"></field-ref></td>
        <td><instance-ref app="{{ app }}" ref="{{ variable['value'] }}"></instance-ref></td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info">Functions</div>
  <table class="table table-hover">
    <tbody>
      <tr template="" repeat="{{ func in library['functions'] }}">
        <td>
          <function-ref app="{{ app }}" ref="{{ func }}"></function-ref>
        </td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info">Classes</div>
  <table class="table table-hover">
    <thead>
      <tr>
        <th>Name</th>
        <th>Internal Name</th>
      </tr>
    </thead>
    <tbody>
      <tr template="" repeat="{{ cls in library['classes'] }}">
        <td>
          <class-ref app="{{ app }}" ref="{{ cls }}"></class-ref>
        </td>
        <td>
          <class-ref app="{{ app }}" ref="{{ cls }}" internal=""></class-ref>
        </td>
      </tr>
    </tbody>
  </table>

  </template>
  
</polymer-element>
<polymer-element name="heap-profile" extends="observatory-element">
<template>
  <div>
  <button type="button" on-click="{{refreshData}}">Refresh</button>
  </div>
  <div class="row">
    <div id="newPieChart" class="col-md-4" style="height: 400px">
    </div>
    <div id="newStatus" class="col-md-2">
      <table class="table">
        <tbody>
          <tr>
            <td>Collections</td>
            <td>{{ formattedCollections(true) }}</td>
          </tr>
          <tr>
            <td>Average Collection Time</td>
            <td>{{ formattedAverage(true) }}</td>
          </tr>
          <tr>
            <td>Cumulative Collection Time</td>
            <td>{{ formattedTotalCollectionTime(true) }}</td>
          </tr>
        </tbody>
      </table>
    </div>
    <div id="oldPieChart" class="col-md-4" style="height: 400px">
    </div>
    <div id="oldStatus" class="col-md-2">
      <table class="table">
        <tbody>
          <tr>
            <td>Collections</td>
            <td>{{ formattedCollections(true) }}</td>
          </tr>
          <tr>
            <td>Average Collection Time</td>
            <td>{{ formattedAverage(true) }}</td>
          </tr>
          <tr>
            <td>Cumulative Collection Time</td>
            <td>{{ formattedTotalCollectionTime(true) }}</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <div class="row">
    <div id="table" class="col-md-12" style="height: 800px"></div>
  </div>
</template>

</polymer-element>
<polymer-element name="script-view" extends="observatory-element">
<template>
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel-heading">
      <button on-click="{{refreshCoverage}}">Refresh Coverage</button>
      {{ script.scriptRef['user_name'] }}
      {{ script.coveredPercentageFormatted() }}
      </div>
      <div class="panel-body">
        <table style="width:100%">
          <tbody>
          <tr template="" repeat="{{ line in script.linesForDisplay }}">
            <td style="{{ hitsStyle(line) }}">  </td>
            <td style="font-family: consolas, courier, monospace;font-size: 1em;line-height: 1.2em;white-space: nowrap;">{{line.line}}</td>
            <td width="99%" style="font-family: consolas, courier, monospace;font-size: 1em;line-height: 1.2em;">{{line.text}}</td>
          </tr>
          </tbody>
        </table>
      </div>
    </div>
  </div>
</template>

</polymer-element><polymer-element name="stack-frame" extends="observatory-element">
  <template>
    <div class="row">
      <div class="col-md-1"></div>
      <div class="col-md-1">
        #{{ frame['depth'] }}
      </div>
      <div class="col-md-9">
        <function-ref app="{{ app }}" ref="{{ frame['function'] }}"></function-ref>
        ( <script-ref app="{{ app }}" ref="{{ frame['script'] }}"></script-ref>:{{ frame['line'] }} )
      </div>
      <div class="col-md-1"></div>
    </div>

    <template repeat="{{ v in frame['vars'] }}">
      <div class="row">
        <div class="col-md-3"></div>
        <div class="col-md-1">
          {{ v['name'] }}
        </div>
        <div class="col-md-6">
          <instance-ref app="{{ app }}" ref="{{ v['value'] }}"></instance-ref>
        </div>
        <div class="col-md-2"></div>
      </div>
    </template>

  </template>
  
</polymer-element>
<polymer-element name="stack-trace" extends="observatory-element">
  <template>
    <template if="{{ trace['members'].isEmpty }}">
      <div class="col-md-1"></div>
      <div class="col-md-11">
        <em>No stack</em>
      </div>
    </template>
    <template if="{{ trace['members'].isNotEmpty }}">
      <ul class="list-group">
        <template repeat="{{ frame in trace['members'] }}">
          <li class="list-group-item">
            <stack-frame app="{{ app }}" frame="{{ frame }}"></stack-frame>
          </li>
        </template>
      </ul>
    </template>
  </template>
  
</polymer-element>
<polymer-element name="message-viewer" extends="observatory-element">
  <!--
    This is a big switch statement which instantiates the custom element
    designated to display the message type.
  -->
  <template>
  	<!-- If the message type is an IsolateList -->
    <template if="{{ messageType == 'IsolateList' }}">
      <isolate-list app="{{ app }}"></isolate-list>
    </template>
    <!-- If the message type is a StackTrace -->
    <template if="{{ messageType == 'StackTrace' }}">
      <stack-trace app="{{ app }}" trace="{{ message }}"></stack-trace>
    </template>
    <template if="{{ messageType == 'BreakpointList' }}">
      <breakpoint-list app="{{ app }}" msg="{{ message }}"></breakpoint-list>
    </template>
    <template if="{{ messageType == 'Error' }}">
      <error-view app="{{ app }}" error="{{ message }}"></error-view>
    </template>
    <template if="{{ messageType == 'Library' }}">
      <library-view app="{{ app }}" library="{{ message }}"></library-view>
    </template>
    <template if="{{ messageType == 'Class' }}">
      <class-view app="{{ app }}" cls="{{ message }}"></class-view>
    </template>
    <template if="{{ messageType == 'Field' }}">
      <field-view app="{{ app }}" field="{{ message }}"></field-view>
    </template>
    <template if="{{ messageType == 'Instance' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'Array' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'GrowableObjectArray' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'String' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'Bool' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'Smi' }}">
      <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
    </template>
    <template if="{{ messageType == 'Function' }}">
      <function-view app="{{ app }}" function="{{ message }}"></function-view>
    </template>
    <template if="{{ messageType == 'Code' }}">
      <code-view app="{{ app }}" code="{{ message['code'] }}"></code-view>
    </template>
    <template if="{{ messageType == 'Script' }}">
      <script-view app="{{ app }}" script="{{ message['script'] }}"></script-view>
    </template>
    <template if="{{ messageType == 'AllocationProfile' }}">
      <heap-profile app="{{ app }}" profile="{{ message }}"></heap-profile>
    </template>
    <template if="{{ messageType == 'CPU' }}">
      <json-view json="{{ message }}"></json-view>
    </template>
    <!-- Add new views and message types in the future here. -->
  </template>
  
</polymer-element><polymer-element name="navigation-bar-isolate" extends="observatory-element">
    <template>
      <ul class="nav navbar-nav">
        <li><a href="{{ currentIsolateLink('') }}"> {{currentIsolateName()}}</a></li>
        <template repeat="{{link in links}}">
          <li><a href="{{ currentIsolateLink(link) }}">{{ link }}</a></li>
        </template>
      </ul>
    </template>
  
</polymer-element><polymer-element name="navigation-bar" extends="observatory-element">
  <template>
    <nav class="navbar navbar-default" role="navigation">
      <div class="navbar-header">
        <a class="navbar-brand" href="#/isolates">Observatory</a>
      </div>
      <template if="{{ app.locationManager.hasCurrentIsolate }}">
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <navigation-bar-isolate app="{{ app }}"></navigation-bar-isolate>
        </div>
      </template>
    </nav>
  </template>
  
</polymer-element><polymer-element name="isolate-profile" extends="observatory-element">
  <template>
    <p> P R O F I L E </p>
    <div>
      <button type="button" on-click="{{refreshData}}">Refresh profile data</button>
      <span>Top</span>
      <select selectedindex="{{methodCountSelected}}" value="{{methodCounts[methodCountSelected]}}">
        <option template="" repeat="{{count in methodCounts}}">{{count}}</option>
      </select>
      <span>methods</span>
    </div>
    <blockquote><strong>Top Exclusive</strong></blockquote>
    <table class="table table-hover">
      <thead>
        <tr>
          <th>Ticks</th>
          <th>Percent</th>
          <th>Method</th>
        </tr>
      </thead>
      <tbody>
        <tr template="" repeat="{{ code in topExclusiveCodes }}">
            <td>{{ codeTicks(code, false) }}</td>
            <td>{{ codePercent(code, false) }}</td>
            <td>
            <span>{{ codeName(code) }}</span>
            <code-ref app="{{ app }}" ref="{{ code.codeRef }}"></code-ref>
            </td>
        </tr>
    </tbody></table>
  </template>
  
</polymer-element>
<polymer-element name="response-viewer" extends="observatory-element">
  <template>
    <template repeat="{{ message in app.requestManager.responses }}">
      <message-viewer app="{{ app }}" message="{{ message }}"></message-viewer>
    </template>
  </template>
  
</polymer-element><polymer-element name="observatory-application" extends="observatory-element">
  <template>
    <navigation-bar app="{{ app }}"></navigation-bar>
    <template if="{{ app.locationManager.profile }}">
      <isolate-profile app="{{ app }}"></isolate-profile>
    </template>
    <template if="{{ app.locationManager.profile == false }}">
      <response-viewer app="{{ app }}"></response-viewer>
    </template>
  </template>
  
</polymer-element>
  <observatory-application></observatory-application>

</body></html>