<ol>
  {{#clazz}}

  {{#hasPublicConstructors}}
  <li class="section-title"><a href="{{{href}}}#constructors">Constructors</a></li>
  {{#publicConstructors}}
  <li><a{{#isDeprecated}} class="deprecated"{{/isDeprecated}} href="{{{href}}}">{{shortName}}</a></li>
  {{/publicConstructors}}
  {{/hasPublicConstructors}}

  {{#hasPublicProperties}}
  <li class="section-title{{ #allPublicInstancePropertiesInherited }} inherited{{ /allPublicInstancePropertiesInherited }}">
    <a href="{{{href}}}#instance-properties">Properties</a>
  </li>
  {{#allPublicInstanceProperties}}
  <li{{ #isInherited }} class="inherited"{{ /isInherited}}>{{{ linkedName }}}</li>
  {{/allPublicInstanceProperties}}
  {{/hasPublicProperties}}

  {{#hasPublicMethods}}
  <li class="section-title{{ #allPublicInstanceMethodsInherited }} inherited{{ /allPublicInstanceMethodsInherited }}"><a href="{{{href}}}#instance-methods">Methods</a></li>
  {{#allPublicInstanceMethods}}
  <li{{ #isInherited }} class="inherited"{{ /isInherited}}>{{{ linkedName }}}</li>
  {{/allPublicInstanceMethods}}
  {{/hasPublicMethods}}

  {{#hasPublicOperators}}
  <li class="section-title{{ #allPublicOperatorsInherited }} inherited{{ /allPublicOperatorsInherited}}"><a href="{{{href}}}#operators">Operators</a></li>
  {{#allPublicOperators}}
  <li{{ #isInherited }} class="inherited"{{ /isInherited}}>{{{ linkedName }}}</li>
  {{/allPublicOperators}}
  {{/hasPublicOperators}}

  {{#hasPublicStaticProperties}}
  <li class="section-title"><a href="{{{href}}}#static-properties">Static properties</a></li>
  {{#publicStaticProperties}}
  <li>{{{ linkedName }}}</li>
  {{/publicStaticProperties}}
  {{/hasPublicStaticProperties}}

  {{#hasPublicStaticMethods}}
  <li class="section-title"><a href="{{{href}}}#static-methods">Static methods</a></li>
  {{#publicStaticMethods}}
  <li>{{{ linkedName }}}</li>
  {{/publicStaticMethods}}
  {{/hasPublicStaticMethods}}

  {{#hasPublicConstants}}
  <li class="section-title"><a href="{{{href}}}#constants">Constants</a></li>
  {{#publicConstants}}
  <li>{{{linkedName}}}</li>
  {{/publicConstants}}
  {{/hasPublicConstants}}

  {{/clazz}}
</ol>
