<list>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>USER</org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>REVISION</org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>DATE</org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>LINE</org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>
        <int>1</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>CONTENT</org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD>
        <string>&quot;Database cache backend.&quot;</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>jezdez</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>16338</revision>
          <changeset>bf038debb499</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2011-07-13</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>2</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>import base64</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>jezdez</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>16338</revision>
          <changeset>bf038debb499</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2011-07-13</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>3</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>import time</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>jezdez</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>16338</revision>
          <changeset>bf038debb499</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2011-07-13</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>4</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>from datetime import datetime</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>2</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>7</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>try:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>8</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    import cPickle as pickle</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>9</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>except ImportError:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>10</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    import pickle</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>11</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>jezdez</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>16338</revision>
          <changeset>bf038debb499</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2011-07-13</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>11</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>from django.core.cache.backends.base import BaseCache</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>jezdez</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>16338</revision>
          <changeset>bf038debb499</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2011-07-13</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>12</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>from django.db import connections, router, transaction, DatabaseError</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>jezdez</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>16338</revision>
          <changeset>bf038debb499</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2011-07-13</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>13</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>jezdez</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>16338</revision>
          <changeset>bf038debb499</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2011-07-13</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>14</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>12</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>class Options(object):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>13</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    &quot;&quot;&quot;A class that will quack like a Django model _meta class.</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>14</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>15</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    This allows cache operations to be controlled by the router</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>16</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    &quot;&quot;&quot;</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>17</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def __init__(self, table):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>18</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.db_table = table</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>19</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.app_label = &apos;django_cache&apos;</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>20</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.module_name = &apos;cacheentry&apos;</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>21</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.verbose_name = &apos;cache entry&apos;</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>22</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.verbose_name_plural = &apos;cache entries&apos;</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>23</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.object_name =  &apos;CacheEntry&apos;</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>24</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.abstract = False</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>25</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.managed = True</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>26</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.proxy = False</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>27</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14807</revision>
          <changeset>905c4a7e1f19</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-12-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>28</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>class BaseDatabaseCache(BaseCache):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14807</revision>
          <changeset>905c4a7e1f19</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-12-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>29</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def __init__(self, table, params):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14807</revision>
          <changeset>905c4a7e1f19</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-12-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>30</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        BaseCache.__init__(self, params)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>31</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self._table = table</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>32</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>33</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        class CacheEntry(object):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>34</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            _meta = Options(table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>35</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.cache_model_class = CacheEntry</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>36</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14807</revision>
          <changeset>905c4a7e1f19</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-12-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>37</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>class DatabaseCache(BaseDatabaseCache):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>38</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def get(self, key, default=None, version=None):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>39</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        key = self.make_key(key, version=version)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13568</revision>
          <changeset>7e0b7bf098d2</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-09-12</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>49</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.validate_key(key)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>49</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        db = router.db_for_read(self.cache_model_class)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>50</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        table = connections[db].ops.quote_name(self._table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>51</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor = connections[db].cursor()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>52</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>53</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor.execute(&quot;SELECT cache_key, value, expires FROM %s WHERE cache_key = %%s&quot; % table, [key])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>30</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        row = cursor.fetchone()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>31</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        if row is None:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>32</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            return default</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>33</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        now = datetime.now()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>34</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        if row[2] &lt; now:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>59</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            db = router.db_for_write(self.cache_model_class)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>60</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            cursor = connections[db].cursor()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>61</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            cursor.execute(&quot;DELETE FROM %s WHERE cache_key = %%s&quot; % table, [key])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>62</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            transaction.commit_unless_managed(using=db)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>37</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            return default</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>64</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        value = connections[db].ops.process_clob(row[1])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>ikelly </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>9862</revision>
          <changeset>8739c35149dd</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2009-03-13</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>39</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        return pickle.loads(base64.decodestring(value))</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>39</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>59</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def set(self, key, value, timeout=None, version=None):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>60</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        key = self.make_key(key, version=version)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13568</revision>
          <changeset>7e0b7bf098d2</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-09-12</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>69</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.validate_key(key)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>8110</revision>
          <changeset>c787c7f62142</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2008-08-10</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>41</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self._base_set(&apos;set&apos;, key, value, timeout)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>6421</revision>
          <changeset>b4175804cc7b</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2007-10-20</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>45</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>64</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def add(self, key, value, timeout=None, version=None):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>65</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        key = self.make_key(key, version=version)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13568</revision>
          <changeset>7e0b7bf098d2</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-09-12</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>73</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.validate_key(key)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>6438</revision>
          <changeset>5096a56a9ac6</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2007-10-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>44</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        return self._base_set(&apos;add&apos;, key, value, timeout)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>6438</revision>
          <changeset>5096a56a9ac6</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2007-10-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>45</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>6421</revision>
          <changeset>b4175804cc7b</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2007-10-20</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>46</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def _base_set(self, mode, key, value, timeout=None):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>41</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        if timeout is None:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>42</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            timeout = self.default_timeout</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>76</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        db = router.db_for_write(self.cache_model_class)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>77</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        table = connections[db].ops.quote_name(self._table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>78</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor = connections[db].cursor()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>79</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>80</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor.execute(&quot;SELECT COUNT(*) FROM %s&quot; % table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>45</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        num = cursor.fetchone()[0]</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>46</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        now = datetime.now().replace(microsecond=0)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>47</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        exp = datetime.fromtimestamp(time.time() + timeout).replace(microsecond=0)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>48</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        if num &gt; self._max_entries:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>85</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            self._cull(db, cursor, now)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>50</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        encoded = base64.encodestring(pickle.dumps(value, 2)).strip()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>87</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor.execute(&quot;SELECT cache_key, expires FROM %s WHERE cache_key = %%s&quot; % table, [key])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>52</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        try:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>9753</revision>
          <changeset>0ab5ef23e1bc</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2009-03-02</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>59</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            result = cursor.fetchone()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>9753</revision>
          <changeset>0ab5ef23e1bc</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2009-03-02</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>60</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            if result and (mode == &apos;set&apos; or</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>9753</revision>
          <changeset>0ab5ef23e1bc</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2009-03-02</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>61</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                    (mode == &apos;add&apos; and result[1] &lt; now)):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>92</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                cursor.execute(&quot;UPDATE %s SET value = %%s, expires = %%s WHERE cache_key = %%s&quot; % table,</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>93</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                               [encoded, connections[db].ops.value_to_db_datetime(exp), key])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>55</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            else:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>95</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                cursor.execute(&quot;INSERT INTO %s (cache_key, value, expires) VALUES (%%s, %%s, %%s)&quot; % table,</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>96</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                               [key, encoded, connections[db].ops.value_to_db_datetime(exp)])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>57</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        except DatabaseError:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>58</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            # To be threadsafe, updates/inserts are allowed to fail silently</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>99</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            transaction.rollback_unless_managed(using=db)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>8110</revision>
          <changeset>c787c7f62142</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2008-08-10</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>65</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            return False</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>60</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        else:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>102</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            transaction.commit_unless_managed(using=db)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>8110</revision>
          <changeset>c787c7f62142</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2008-08-10</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>68</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            return True</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>62</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>101</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def delete(self, key, version=None):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>102</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        key = self.make_key(key, version=version)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13568</revision>
          <changeset>7e0b7bf098d2</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-09-12</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>109</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.validate_key(key)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>104</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>106</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        db = router.db_for_write(self.cache_model_class)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>107</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        table = connections[db].ops.quote_name(self._table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>108</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor = connections[db].cursor()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>109</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>110</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor.execute(&quot;DELETE FROM %s WHERE cache_key = %%s&quot; % table, [key])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>111</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        transaction.commit_unless_managed(using=db)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>67</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>112</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def has_key(self, key, version=None):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>113</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        key = self.make_key(key, version=version)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13568</revision>
          <changeset>7e0b7bf098d2</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-09-12</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>118</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        self.validate_key(key)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14425</revision>
          <changeset>793e94ba2037</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-11-19</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>115</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>114</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        db = router.db_for_read(self.cache_model_class)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>115</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        table = connections[db].ops.quote_name(self._table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>116</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor = connections[db].cursor()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>117</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>mtredinnick </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>9753</revision>
          <changeset>0ab5ef23e1bc</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2009-03-02</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>78</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        now = datetime.now().replace(microsecond=0)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>119</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor.execute(&quot;SELECT cache_key FROM %s WHERE cache_key = %%s and expires &gt; %%s&quot; % table,</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>120</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                       [key, connections[db].ops.value_to_db_datetime(now)])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>71</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        return cursor.fetchone() is not None</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>72</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>123</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def _cull(self, db, cursor, now):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>74</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        if self._cull_frequency == 0:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>12116</revision>
          <changeset>c1ad14c551a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-01-27</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>87</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            self.clear()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>76</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        else:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13480</revision>
          <changeset>7351411944a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-31</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>127</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            table = connections[db].ops.quote_name(self._table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>127</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            cursor.execute(&quot;DELETE FROM %s WHERE expires &lt; %%s&quot; % table,</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>128</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                           [connections[db].ops.value_to_db_datetime(now)])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>129</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            cursor.execute(&quot;SELECT COUNT(*) FROM %s&quot; % table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>79</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            num = cursor.fetchone()[0]</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>adrian </string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>2287</revision>
          <changeset>3f0790d500a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2006-02-24</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>80</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>            if num &gt; self._max_entries:</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>132</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                cursor.execute(&quot;SELECT cache_key FROM %s ORDER BY cache_key LIMIT 1 OFFSET %%s&quot; % table, [num / self._cull_frequency])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>133</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>                cursor.execute(&quot;DELETE FROM %s WHERE cache_key &lt; %%s&quot; % table, [cursor.fetchone()[0]])</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>12116</revision>
          <changeset>c1ad14c551a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-01-27</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>95</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>12116</revision>
          <changeset>c1ad14c551a9</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-01-27</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>96</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    def clear(self):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>136</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        db = router.db_for_write(self.cache_model_class)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>137</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        table = connections[db].ops.quote_name(self._table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>138</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor = connections[db].cursor()</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>13275</revision>
          <changeset>4dd52d4f3f50</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-08-05</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>139</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>        cursor.execute(&apos;DELETE FROM %s&apos; % table)</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14807</revision>
          <changeset>905c4a7e1f19</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-12-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>143</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string></string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14807</revision>
          <changeset>905c4a7e1f19</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-12-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>144</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string># For backwards compatibility</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14807</revision>
          <changeset>905c4a7e1f19</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-12-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>145</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>class CacheClass(DatabaseCache):</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
  <org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
    <fields enum-type="org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD">
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>russellm</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <org.zmlx.hg4idea.HgRevisionNumber>
          <revision>14807</revision>
          <changeset>905c4a7e1f19</changeset>
          <commitMessage></commitMessage>
          <author></author>
          <parents class="java.util.Collections$EmptyList" reference="../../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[2]/org.zmlx.hg4idea.HgRevisionNumber/parents"/>
          <isWorkingVersion>false</isWorkingVersion>
        </org.zmlx.hg4idea.HgRevisionNumber>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[3]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>2010-12-21</string>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[4]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <int>146</int>
      </entry>
      <entry>
        <org.zmlx.hg4idea.provider.annotate.HgAnnotation_-FIELD reference="../../../../org.zmlx.hg4idea.provider.annotate.HgAnnotationLine/fields/entry[5]/org.zmlx.hg4idea.provider.annotate.HgAnnotation$FIELD"/>
        <string>    pass</string>
      </entry>
    </fields>
  </org.zmlx.hg4idea.provider.annotate.HgAnnotationLine>
</list>