Commit 395d8c27 authored by Kirill Smelkov's avatar Kirill Smelkov

test/gen_testdata: Make sure that "with zext" and "without zext" databases...

test/gen_testdata: Make sure that "with zext" and "without zext" databases differ only in transaction extension

Previously diff in between 1.zdump.zpickledis.ok and 1_!zext.zdump.zpickledis.ok
indicated difference in many data records as demonstrated in the appendix.
That was due to that !zext variant, while skipping generating
transaction extension, contrary to zext variant, did not consumed PRNG
output, and so when going further PRNG state for zext and !zext variants
was diverging.

-> Fix it via consuming PRNG output in !zext case exactly the same way
as in zext case, but throwing out ext4subj output.

After the patch the diff in between `1.zdump.zpickledis.ok
1_\!zext.zdump.zpickledis.ok` shows only differences in between
txn.extension fields:

    --- a/1.zdump.zpickledis.ok
    +++ b/1_!zext.zdump.zpickledis.ok
    @@ -1,19 +1,7 @@
     txn 0285cbac75555580 "p"
     user "user0.12"
     description "step 0.12"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie8'
    -     17: U        SHORT_BINSTRING '2MHMU'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (f)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    +extension ""
     obj 0000000000000001 34 sha1:9fae782fe3e33273b520c954925704856ca90dc6
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
     ...

Appendix. `1.zdump.zpickledis.ok 1_\!zext.zdump.zpickledis.ok` before this patch

    diff --git a/1.zdump.zpickledis.ok b/1_!zext.zdump.zpickledis.ok
    index 9385444..f80531d 100644
    --- a/1.zdump.zpickledis.ok
    +++ b/1_!zext.zdump.zpickledis.ok
    @@ -1,114 +1,49 @@
    -txn 0285cbac75555580 "p"
    -user "user0.12"
    -description "step 0.12"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie8'
    -     17: U        SHORT_BINSTRING '2MHMU'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (f)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000001 34 sha1:9fae782fe3e33273b520c954925704856ca90dc6
    -      0: \x80 PROTO      2
    -      2: c    GLOBAL     '__main__ Object'
    -     19: q    BINPUT     1
    -     21: .    STOP
    -  highest protocol among opcodes = 2
    -     22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'f0.12'
    -     31: q    BINPUT     2
    -     33: .    STOP
    -  highest protocol among opcodes = 2
    -
    -
     txn 0285cbac8369d066 "p"
     user "user0.15"
     description "step 0.15"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieY'
    -     17: U        SHORT_BINSTRING 'EDZ10'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 34 sha1:5dbf26359289e5a25f9755f832ea91cc8ee76686
    +extension ""
    +obj 0000000000000003 34 sha1:e616d80f35ea7aaaecdbc65e1e5838c25f4bf07a
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'e0.15'
    +     24: U    SHORT_BINSTRING 'b0.15'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2

    -txn 0285cbac962fc999 "p"
    -user "user0.19"
    -description "step 0.19"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieF'
    -     17: U        SHORT_BINSTRING 'OUC9L'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (a)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000005 34 sha1:9e0a8797eb8f60498563703b1961126fba35be9b
    +txn 0285cbac9f92c633 "p"
    +user "user0.21"
    +description "step 0.21"
    +extension ""
    +obj 0000000000000001 34 sha1:025d34759b434419251b5a429f3ad78ce3c2fd98
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'a0.19'
    +     24: U    SHORT_BINSTRING 'f0.21'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2

    -txn 0285cbac9f92c633 "p"
    -user "user0.21"
    -description "step 0.21"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie8'
    -     17: U        SHORT_BINSTRING '0QC1A'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 34 sha1:009174c1f01142f24495fa13738749ff528fd82c
    +txn 0285cbaca4444480 "p"
    +user "user0.22"
    +description "step 0.22"
    +extension ""
    +obj 0000000000000006 34 sha1:0734767857e69ab8bfd0007d4ca3f1a7fd69b677
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'd0.21'
    +     24: U    SHORT_BINSTRING 'g0.22'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -117,27 +52,15 @@ obj 0000000000000002 34 sha1:009174c1f01142f24495fa13738749ff528fd82c
     txn 0285cbacb70a3db3 "p"
     user "root0.1\nYour\nMagesty "
     description "undo 0.1\nmore detailed description\n\nzzz ...\t"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieV'
    -     17: U        SHORT_BINSTRING 'VHBGT'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (undo AoXLrK2nQRk=)'
    -     69: u        SETITEMS   (MARK at 5)
    -     70: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000003 34 sha1:484358413b2746e8a05b1e3173051abedd28e1fa
    +extension ""
    +obj 0000000000000004 34 sha1:fe21381adc01e51965c3278c6debf52ebd63068c
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g0.11'
    +     24: U    SHORT_BINSTRING 'd0.11'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -146,27 +69,15 @@ obj 0000000000000003 34 sha1:484358413b2746e8a05b1e3173051abedd28e1fa
     txn 0285cbacbbbbbc00 "p"
     user "user"
     description "cyclic reference"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieE'
    -     17: U        SHORT_BINSTRING 'ZM3QZ'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (cycle)'
    -     57: u        SETITEMS   (MARK at 5)
    -     58: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000007 41 sha1:7108c96ccb9cbeaab1164d533174c300e51309f9
    +extension ""
    +obj 0000000000000002 41 sha1:1e2e3ac81badec749c2082a08d205c06c6bb5119
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
    +     24: U    SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
          34: q    BINPUT     2
          36: h    BINGET     1
          38: \x86 TUPLE2
    @@ -177,9 +88,9 @@ obj 0000000000000007 41 sha1:7108c96ccb9cbeaab1164d533174c300e51309f9

     txn 0285cbacc06d3a4c "p"
     user ""
    -description "predelete 4"
    +description "predelete 5"
     extension ""
    -obj 0000000000000000 213 sha1:a6e70638fafd4619841032356ae93a4da7b539c5
    +obj 0000000000000000 194 sha1:4a9e413a4ff168a6a7f84be32b9168364048fd6d
           0: \x80 PROTO      2
           2: c    GLOBAL     'persistent.mapping PersistentMapping'
          40: q    BINPUT     1
    @@ -193,62 +104,56 @@ obj 0000000000000000 213 sha1:a6e70638fafd4619841032356ae93a4da7b539c5
          56: }    EMPTY_DICT
          57: q    BINPUT     4
          59: (    MARK
    -     60: U        SHORT_BINSTRING 'a'
    -     63: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x05'
    +     60: U        SHORT_BINSTRING 'c'
    +     63: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
          73: q        BINPUT     5
          75: c        GLOBAL     '__main__ Object'
          92: q        BINPUT     6
          94: \x86     TUPLE2
          95: Q        BINPERSID
    -     96: U        SHORT_BINSTRING 'c'
    -     99: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
    +     96: U        SHORT_BINSTRING 'b'
    +     99: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x03'
         109: q        BINPUT     7
         111: h        BINGET     6
         113: \x86     TUPLE2
         114: Q        BINPERSID
    -    115: U        SHORT_BINSTRING 'b'
    -    118: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
    +    115: U        SHORT_BINSTRING 'e'
    +    118: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
         128: q        BINPUT     8
         130: h        BINGET     6
         132: \x86     TUPLE2
         133: Q        BINPERSID
    -    134: U        SHORT_BINSTRING 'e'
    -    137: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
    +    134: U        SHORT_BINSTRING 'd'
    +    137: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x04'
         147: q        BINPUT     9
         149: h        BINGET     6
         151: \x86     TUPLE2
         152: Q        BINPERSID
    -    153: U        SHORT_BINSTRING 'd'
    -    156: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
    +    153: U        SHORT_BINSTRING 'g'
    +    156: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
         166: q        BINPUT     10
         168: h        BINGET     6
         170: \x86     TUPLE2
         171: Q        BINPERSID
    -    172: U        SHORT_BINSTRING 'g'
    -    175: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x03'
    +    172: U        SHORT_BINSTRING 'f'
    +    175: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x01'
         185: q        BINPUT     11
         187: h        BINGET     6
         189: \x86     TUPLE2
         190: Q        BINPERSID
    -    191: U        SHORT_BINSTRING 'f'
    -    194: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x01'
    -    204: q        BINPUT     12
    -    206: h        BINGET     6
    -    208: \x86     TUPLE2
    -    209: Q        BINPERSID
    -    210: u        SETITEMS   (MARK at 59)
    -    211: s    SETITEM
    -    212: .    STOP
    +    191: u        SETITEMS   (MARK at 59)
    +    192: s    SETITEM
    +    193: .    STOP
       highest protocol among opcodes = 2

    -obj 0000000000000008 32 sha1:936674657cf846998d27356363832827fa612092
    +obj 0000000000000007 32 sha1:b9d61167d2388ac320b1bc2940b43e7a8bad46ac
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'b0*'
    +     24: U    SHORT_BINSTRING 'e0*'
          29: q    BINPUT     2
          31: .    STOP
       highest protocol among opcodes = 2
    @@ -257,20 +162,8 @@ obj 0000000000000008 32 sha1:936674657cf846998d27356363832827fa612092
     txn 0285cbad06d3a0cc " "
     user "user1.0"
     description "step 1.0"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieE'
    -     17: U        SHORT_BINSTRING 'VAZ3U'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 33 sha1:f18e991b87b63cf1f9486d74d70020ff8d573eec
    +extension ""
    +obj 0000000000000007 33 sha1:f18e991b87b63cf1f9486d74d70020ff8d573eec
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
    @@ -286,27 +179,15 @@ obj 0000000000000006 33 sha1:f18e991b87b63cf1f9486d74d70020ff8d573eec
     txn 0285cbad0b851f19 " "
     user "user1.1"
     description "step 1.1"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieN'
    -     17: U        SHORT_BINSTRING 'GSV4I'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (b)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000008 33 sha1:c37e1d2350c8fc4e18cdbc53b432dba50e5196ba
    +extension ""
    +obj 0000000000000006 33 sha1:bf4f1be3d63bca5c7dccf98f7660f419597a0f3d
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'b1.1'
    +     24: U    SHORT_BINSTRING 'g1.1'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -315,20 +196,8 @@ obj 0000000000000008 33 sha1:c37e1d2350c8fc4e18cdbc53b432dba50e5196ba
     txn 0285cbad10369d66 " "
     user "user1.2"
     description "step 1.2"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieY'
    -     17: U        SHORT_BINSTRING 'A01OK'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000003 33 sha1:28e9880fc0f50a9fea5c4a9e861adc1fe44c9f5c
    +extension ""
    +obj 0000000000000006 33 sha1:28e9880fc0f50a9fea5c4a9e861adc1fe44c9f5c
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
    @@ -344,27 +213,15 @@ obj 0000000000000003 33 sha1:28e9880fc0f50a9fea5c4a9e861adc1fe44c9f5c
     txn 0285cbad14e81bb3 " "
     user "user1.3"
     description "step 1.3"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-generator'
    -     19: q        BINPUT     2
    -     21: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     35: U        SHORT_BINSTRING 'x-cookieW'
    -     46: U        SHORT_BINSTRING '1QPNP'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000003 33 sha1:5fb466e36ea6f847b73ad7976def8ad60e00e766
    +extension ""
    +obj 0000000000000004 33 sha1:e8796affc44d563a09a2913907f91467a34498fc
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g1.3'
    +     24: U    SHORT_BINSTRING 'd1.3'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -373,27 +230,15 @@ obj 0000000000000003 33 sha1:5fb466e36ea6f847b73ad7976def8ad60e00e766
     txn 0285cbad19999a00 " "
     user "user1.4"
     description "step 1.4"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieC'
    -     17: U        SHORT_BINSTRING 'J7L05'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (c)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000007 33 sha1:90b0ffa657df9de708913a2cbbd454126fd9de15
    +extension ""
    +obj 0000000000000006 33 sha1:15a38343610d25057cd88521669671350eb0c0a8
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'c1.4'
    +     24: U    SHORT_BINSTRING 'g1.4'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -402,27 +247,15 @@ obj 0000000000000007 33 sha1:90b0ffa657df9de708913a2cbbd454126fd9de15
     txn 0285cbad1e4b184c " "
     user "user1.5"
     description "step 1.5"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieA'
    -     17: U        SHORT_BINSTRING 'CM15Z'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (f)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000001 33 sha1:70b0a88b7652b82b82539800484dc7788277f32a
    +extension ""
    +obj 0000000000000003 33 sha1:0adf3b787e6814b6cc073bd51a42c3f18615a674
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'f1.5'
    +     24: U    SHORT_BINSTRING 'b1.5'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -431,27 +264,15 @@ obj 0000000000000001 33 sha1:70b0a88b7652b82b82539800484dc7788277f32a
     txn 0285cbad22fc9699 " "
     user "user1.6"
     description "step 1.6"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieI'
    -     17: U        SHORT_BINSTRING 'AH816'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 33 sha1:e9018b0bc67c9de08becf1f1fe1a548ed263fb29
    +extension ""
    +obj 0000000000000001 33 sha1:4d811fcaaa707127f5f6f49dc368ffd2ebae1018
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'd1.6'
    +     24: U    SHORT_BINSTRING 'f1.6'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -460,27 +281,15 @@ obj 0000000000000002 33 sha1:e9018b0bc67c9de08becf1f1fe1a548ed263fb29
     txn 0285cbad27ae14e6 " "
     user "user1.7"
     description "step 1.7"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieU'
    -     17: U        SHORT_BINSTRING 'BE3WH'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (c)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000007 33 sha1:0cd3f4b725517a5371429e2ef2f56ea54fe405fb
    +extension ""
    +obj 0000000000000004 33 sha1:4c3e1f41eebd1f56c0fef1f609d64e061a137f5a
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'c1.7'
    +     24: U    SHORT_BINSTRING 'd1.7'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -489,27 +298,77 @@ obj 0000000000000007 33 sha1:0cd3f4b725517a5371429e2ef2f56ea54fe405fb
     txn 0285cbad2c5f9333 " "
     user "user1.8"
     description "step 1.8"
    -extension
    +extension ""
    +obj 0000000000000000 213 sha1:8ccd62e915379b196be62bdb500c4019dfb7825f
           0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-generator'
    -     19: q        BINPUT     2
    -     21: U        SHORT_BINSTRING 'zodb/py2 (c)'
    -     35: U        SHORT_BINSTRING 'x-cookieW'
    -     46: U        SHORT_BINSTRING 'HPFAQ'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    +      2: c    GLOBAL     'persistent.mapping PersistentMapping'
    +     40: q    BINPUT     1
    +     42: .    STOP
    +  highest protocol among opcodes = 2
    +     43: \x80 PROTO      2
    +     45: }    EMPTY_DICT
    +     46: q    BINPUT     2
    +     48: U    SHORT_BINSTRING 'data'
    +     54: q    BINPUT     3
    +     56: }    EMPTY_DICT
    +     57: q    BINPUT     4
    +     59: (    MARK
    +     60: U        SHORT_BINSTRING 'a'
    +     63: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
    +     73: q        BINPUT     5
    +     75: c        GLOBAL     '__main__ Object'
    +     92: q        BINPUT     6
    +     94: \x86     TUPLE2
    +     95: Q        BINPERSID
    +     96: U        SHORT_BINSTRING 'c'
    +     99: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
    +    109: q        BINPUT     7
    +    111: h        BINGET     6
    +    113: \x86     TUPLE2
    +    114: Q        BINPERSID
    +    115: U        SHORT_BINSTRING 'b'
    +    118: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x03'
    +    128: q        BINPUT     8
    +    130: h        BINGET     6
    +    132: \x86     TUPLE2
    +    133: Q        BINPERSID
    +    134: U        SHORT_BINSTRING 'e'
    +    137: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
    +    147: q        BINPUT     9
    +    149: h        BINGET     6
    +    151: \x86     TUPLE2
    +    152: Q        BINPERSID
    +    153: U        SHORT_BINSTRING 'd'
    +    156: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x04'
    +    166: q        BINPUT     10
    +    168: h        BINGET     6
    +    170: \x86     TUPLE2
    +    171: Q        BINPERSID
    +    172: U        SHORT_BINSTRING 'g'
    +    175: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
    +    185: q        BINPUT     11
    +    187: h        BINGET     6
    +    189: \x86     TUPLE2
    +    190: Q        BINPERSID
    +    191: U        SHORT_BINSTRING 'f'
    +    194: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x01'
    +    204: q        BINPUT     12
    +    206: h        BINGET     6
    +    208: \x86     TUPLE2
    +    209: Q        BINPERSID
    +    210: u        SETITEMS   (MARK at 59)
    +    211: s    SETITEM
    +    212: .    STOP
       highest protocol among opcodes = 2
    -obj 0000000000000007 33 sha1:13e366fb1d15d36a62099e6b835638407718229f
    +
    +obj 0000000000000008 33 sha1:7cffb67651540355d8467852ec6cabcb48d964aa
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'c1.8'
    +     24: U    SHORT_BINSTRING 'a1.8'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -518,27 +377,15 @@ obj 0000000000000007 33 sha1:13e366fb1d15d36a62099e6b835638407718229f
     txn 0285cbad31111180 " "
     user "user1.9"
     description "step 1.9"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieQ'
    -     17: U        SHORT_BINSTRING 'DZM23'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 33 sha1:3ac37991a56061c7407cc093ee2a71eef4379131
    +extension ""
    +obj 0000000000000001 33 sha1:c32c4831eabc3a97810c4f925465c6093e4fb716
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'e1.9'
    +     24: U    SHORT_BINSTRING 'f1.9'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -547,27 +394,15 @@ obj 0000000000000006 33 sha1:3ac37991a56061c7407cc093ee2a71eef4379131
     txn 0285cbad35c28fcc " "
     user "user1.10"
     description "step 1.10"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieO'
    -     17: U        SHORT_BINSTRING 'EIGHL'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (a)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000005 34 sha1:407cc5710a22f6c387df45aab613aa3673b221c6
    +extension ""
    +obj 0000000000000002 34 sha1:07fe4a745e127abf54f451d41fba5db7bd10ac9d
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'a1.10'
    +     24: U    SHORT_BINSTRING 'c1.10'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -576,27 +411,15 @@ obj 0000000000000005 34 sha1:407cc5710a22f6c387df45aab613aa3673b221c6
     txn 0285cbad3a740e19 " "
     user "user1.11"
     description "step 1.11"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie2'
    -     17: U        SHORT_BINSTRING 'Z9RFC'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (c)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000007 34 sha1:88ab1add11652101077535c03b04e83fe4ddb88b
    +extension ""
    +obj 0000000000000001 34 sha1:2f0fc397cd9bdceb59cfb7e40b823ae3a81e2f7c
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'c1.11'
    +     24: U    SHORT_BINSTRING 'f1.11'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -605,20 +428,8 @@ obj 0000000000000007 34 sha1:88ab1add11652101077535c03b04e83fe4ddb88b
     txn 0285cbad3f258c66 " "
     user "user1.12"
     description "step 1.12"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie7'
    -     17: U        SHORT_BINSTRING 'WGO4E'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 34 sha1:4808aef147f8ded08ffaae2ce04265506385e7f7
    +extension ""
    +obj 0000000000000007 34 sha1:4808aef147f8ded08ffaae2ce04265506385e7f7
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
    @@ -634,27 +445,15 @@ obj 0000000000000006 34 sha1:4808aef147f8ded08ffaae2ce04265506385e7f7
     txn 0285cbad43d70ab3 " "
     user "user1.13"
     description "step 1.13"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie5'
    -     17: U        SHORT_BINSTRING '757DJ'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000003 34 sha1:a9f47880096587b359fa7ea6a0fd213e800a24a4
    +extension ""
    +obj 0000000000000008 34 sha1:656d65291d6e34225fe2c8213c2241b390e7487a
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g1.13'
    +     24: U    SHORT_BINSTRING 'a1.13'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -663,27 +462,15 @@ obj 0000000000000003 34 sha1:a9f47880096587b359fa7ea6a0fd213e800a24a4
     txn 0285cbad48888900 " "
     user "user1.14"
     description "step 1.14"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieX'
    -     17: U        SHORT_BINSTRING '5EOVH'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000003 34 sha1:e5b3820378e102a61be2b5998ded3182c106c7db
    +extension ""
    +obj 0000000000000004 34 sha1:87a243d2e9bdd70a84129119894b7d25479f4abc
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g1.14'
    +     24: U    SHORT_BINSTRING 'd1.14'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -692,27 +479,15 @@ obj 0000000000000003 34 sha1:e5b3820378e102a61be2b5998ded3182c106c7db
     txn 0285cbad4d3a074c " "
     user "user1.15"
     description "step 1.15"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieC'
    -     17: U        SHORT_BINSTRING 'HO7L7'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 34 sha1:f136bac1befa0fbd1ebd50218f8d9afe00b9b0a5
    +extension ""
    +obj 0000000000000006 34 sha1:2e9ebc331bf53c095e9573de64a9b31f2b340b2f
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'd1.15'
    +     24: U    SHORT_BINSTRING 'g1.15'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -721,27 +496,15 @@ obj 0000000000000002 34 sha1:f136bac1befa0fbd1ebd50218f8d9afe00b9b0a5
     txn 0285cbad51eb8599 " "
     user "user1.16"
     description "step 1.16"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieU'
    -     17: U        SHORT_BINSTRING 'T159S'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000003 34 sha1:778621ce5c5e97b65343b1ab0cc1a3ce5702fbc8
    +extension ""
    +obj 0000000000000003 34 sha1:86adb5f06801883ba2be7776f68bd8ab46b34dd8
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g1.16'
    +     24: U    SHORT_BINSTRING 'b1.16'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -750,27 +513,15 @@ obj 0000000000000003 34 sha1:778621ce5c5e97b65343b1ab0cc1a3ce5702fbc8
     txn 0285cbad569d03e6 " "
     user "user1.17"
     description "step 1.17"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie8'
    -     17: U        SHORT_BINSTRING 'T23V1'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (f)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000001 34 sha1:eb6d2d192f3d8fe47a1b2e8119d390ed580c3fb4
    +extension ""
    +obj 0000000000000002 34 sha1:033ab1c2cfacb42e1db63ec9fac8427c700cc3cb
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'f1.17'
    +     24: U    SHORT_BINSTRING 'c1.17'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -779,27 +530,15 @@ obj 0000000000000001 34 sha1:eb6d2d192f3d8fe47a1b2e8119d390ed580c3fb4
     txn 0285cbad5b4e8233 " "
     user "user1.18"
     description "step 1.18"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieY'
    -     17: U        SHORT_BINSTRING 'UB55N'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (a)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000005 34 sha1:921682b323eb62f109d052bc1dfd4ffe0dbf79db
    +extension ""
    +obj 0000000000000006 34 sha1:11f0228fea479a8dacdda2351f2720d005c04b06
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'a1.18'
    +     24: U    SHORT_BINSTRING 'g1.18'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -808,27 +547,15 @@ obj 0000000000000005 34 sha1:921682b323eb62f109d052bc1dfd4ffe0dbf79db
     txn 0285cbad60000080 " "
     user "user1.19"
     description "step 1.19"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieZ'
    -     17: U        SHORT_BINSTRING 'IKOSR'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000003 34 sha1:b0b31eb0b48548119153628eb3c6711d959e9f9b
    +extension ""
    +obj 0000000000000003 34 sha1:6f5ef8a80a64540885791a6b1e2d1a352ee91d1a
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g1.19'
    +     24: U    SHORT_BINSTRING 'b1.19'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -837,27 +564,15 @@ obj 0000000000000003 34 sha1:b0b31eb0b48548119153628eb3c6711d959e9f9b
     txn 0285cbad64b17ecc " "
     user "user1.20"
     description "step 1.20"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieS'
    -     17: U        SHORT_BINSTRING '7JLTH'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000003 34 sha1:6bfd3298d0bea74cfa3d1f01bb722e958e3f1520
    +extension ""
    +obj 0000000000000004 34 sha1:1c032191dab251d941e739b3703f42ed7e43b246
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g1.20'
    +     24: U    SHORT_BINSTRING 'd1.20'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -866,27 +581,15 @@ obj 0000000000000003 34 sha1:6bfd3298d0bea74cfa3d1f01bb722e958e3f1520
     txn 0285cbad6962fd19 " "
     user "user1.21"
     description "step 1.21"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieI'
    -     17: U        SHORT_BINSTRING 'USN06'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 34 sha1:0d4b4837500e84b190ea2f92b16ab8ec0c486db5
    +extension ""
    +obj 0000000000000003 34 sha1:d90118a669a7a9dbe6b779bcc61110df0cc97fd1
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'e1.21'
    +     24: U    SHORT_BINSTRING 'b1.21'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -895,27 +598,15 @@ obj 0000000000000006 34 sha1:0d4b4837500e84b190ea2f92b16ab8ec0c486db5
     txn 0285cbad6e147b66 " "
     user "user1.22"
     description "step 1.22"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie2'
    -     17: U        SHORT_BINSTRING 'UXAET'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (a)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000005 34 sha1:eacbd02d0d78eece9d784da7f3fd0b2738ca6ce0
    +extension ""
    +obj 0000000000000006 34 sha1:cd7d6434b0aa8290342b60c85d7378cda0d19734
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'a1.22'
    +     24: U    SHORT_BINSTRING 'g1.22'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -924,27 +615,15 @@ obj 0000000000000005 34 sha1:eacbd02d0d78eece9d784da7f3fd0b2738ca6ce0
     txn 0285cbad72c5f9b3 " "
     user "user1.23"
     description "step 1.23"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieH'
    -     17: U        SHORT_BINSTRING 'AT11F'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (a)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000005 34 sha1:1b443228d5a434ddd9616ecb5aa90672c0ce9ba2
    +extension ""
    +obj 0000000000000001 34 sha1:230c0adc97facea312cd09aeb825f9a6c953e029
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'a1.23'
    +     24: U    SHORT_BINSTRING 'f1.23'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -953,27 +632,15 @@ obj 0000000000000005 34 sha1:1b443228d5a434ddd9616ecb5aa90672c0ce9ba2
     txn 0285cbad77777800 " "
     user "user1.24"
     description "step 1.24"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieD'
    -     17: U        SHORT_BINSTRING 'O5ZEM'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (f)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000001 34 sha1:b35a1826cc6cb71b9ddff043f0e8f88b4d90281f
    +extension ""
    +obj 0000000000000004 34 sha1:ec728760e33cbafcd21496354cbe752995dc02c4
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'f1.24'
    +     24: U    SHORT_BINSTRING 'd1.24'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -982,63 +649,27 @@ obj 0000000000000001 34 sha1:b35a1826cc6cb71b9ddff043f0e8f88b4d90281f
     txn 0285cbad7c28f64c " "
     user "root1.0\nYour\nMagesty "
     description "undo 1.0\nmore detailed description\n\nzzz ...\t"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie3'
    -     17: U        SHORT_BINSTRING 'G51MM'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (undo AoXLrXLF+bM=)'
    -     69: u        SETITEMS   (MARK at 5)
    -     70: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000005 from 0285cbad6e147b66
    +extension ""
    +obj 0000000000000001 from 0285cbad3a740e19

     txn 0285cbad80da7499 " "
     user "root1.1\nYour\nMagesty "
     description "undo 1.1\nmore detailed description\n\nzzz ...\t\t"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieL'
    -     17: U        SHORT_BINSTRING 'CDRHV'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (undo AoXLrXd3eAA=)'
    -     69: u        SETITEMS   (MARK at 5)
    -     70: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000001 from 0285cbad569d03e6
    +extension ""
    +obj 0000000000000004 from 0285cbad64b17ecc

     txn 0285cbad858bf2e6 " "
     user "user"
     description "cyclic reference"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie4'
    -     17: U        SHORT_BINSTRING 'C4OMS'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (cycle)'
    -     57: u        SETITEMS   (MARK at 5)
    -     58: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 41 sha1:1e2e3ac81badec749c2082a08d205c06c6bb5119
    +extension ""
    +obj 0000000000000008 41 sha1:ecd78bff79e5e10c04d6a14c8277d3fd5baba3a2
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
    +     24: U    SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
          34: q    BINPUT     2
          36: h    BINGET     1
          38: \x86 TUPLE2
    @@ -1051,7 +682,7 @@ txn 0285cbad8a3d7133 " "
     user ""
     description "predelete 3"
     extension ""
    -obj 0000000000000000 213 sha1:e278899979bad10d72962170790ea2a2f5865567
    +obj 0000000000000000 213 sha1:e8e6e66cf82c7cbff72efb7bed28826296e51a01
           0: \x80 PROTO      2
           2: c    GLOBAL     'persistent.mapping PersistentMapping'
          40: q    BINPUT     1
    @@ -1066,38 +697,38 @@ obj 0000000000000000 213 sha1:e278899979bad10d72962170790ea2a2f5865567
          57: q    BINPUT     4
          59: (    MARK
          60: U        SHORT_BINSTRING 'a'
    -     63: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x05'
    +     63: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
          73: q        BINPUT     5
          75: c        GLOBAL     '__main__ Object'
          92: q        BINPUT     6
          94: \x86     TUPLE2
          95: Q        BINPERSID
          96: U        SHORT_BINSTRING 'c'
    -     99: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
    +     99: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
         109: q        BINPUT     7
         111: h        BINGET     6
         113: \x86     TUPLE2
         114: Q        BINPERSID
         115: U        SHORT_BINSTRING 'b'
    -    118: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
    +    118: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\t'
         128: q        BINPUT     8
         130: h        BINGET     6
         132: \x86     TUPLE2
         133: Q        BINPERSID
         134: U        SHORT_BINSTRING 'e'
    -    137: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
    +    137: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
         147: q        BINPUT     9
         149: h        BINGET     6
         151: \x86     TUPLE2
         152: Q        BINPERSID
         153: U        SHORT_BINSTRING 'd'
    -    156: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
    +    156: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x04'
         166: q        BINPUT     10
         168: h        BINGET     6
         170: \x86     TUPLE2
         171: Q        BINPERSID
         172: U        SHORT_BINSTRING 'g'
    -    175: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\t'
    +    175: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
         185: q        BINPUT     11
         187: h        BINGET     6
         189: \x86     TUPLE2
    @@ -1113,14 +744,14 @@ obj 0000000000000000 213 sha1:e278899979bad10d72962170790ea2a2f5865567
         212: .    STOP
       highest protocol among opcodes = 2

    -obj 0000000000000009 32 sha1:38aaea7061f311a5ff41e144ea56df2c8f66435c
    +obj 0000000000000009 32 sha1:94f4c80027cdf77affb7dd9f26b634975b4619e4
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g1*'
    +     24: U    SHORT_BINSTRING 'b1*'
          29: q    BINPUT     2
          31: .    STOP
       highest protocol among opcodes = 2
    @@ -1129,45 +760,21 @@ obj 0000000000000009 32 sha1:38aaea7061f311a5ff41e144ea56df2c8f66435c
     txn 0285cbad8eeeef80 " "
     user "root1\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
     description "delete 1\nalpha beta gamma'delta\"lambda\n\nqqq ..."
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieS'
    -     17: U        SHORT_BINSTRING 'XVOTI'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (delete 3)'
    -     60: u        SETITEMS   (MARK at 5)
    -     61: .    STOP
    -  highest protocol among opcodes = 2
    +extension ""
     obj 0000000000000003 delete

     txn 0285cbadcbf25966 " "
     user "user2.0"
     description "step 2.0"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie1'
    -     17: U        SHORT_BINSTRING 'GRGS2'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (f)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000001 33 sha1:7b5599bdbf192e2d33e2597b52c8a72a751ddd13
    +extension ""
    +obj 0000000000000004 33 sha1:aff1248f33b29d65fe0b038d7dc11db007e2690d
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'f2.0'
    +     24: U    SHORT_BINSTRING 'd2.0'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -1176,27 +783,15 @@ obj 0000000000000001 33 sha1:7b5599bdbf192e2d33e2597b52c8a72a751ddd13
     txn 0285cbadd0a3d7b3 " "
     user "user2.1"
     description "step 2.1"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie3'
    -     17: U        SHORT_BINSTRING 'WYNK7'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 33 sha1:50b0cf792f2fdc3fbfc5f47f148784924350e31c
    +extension ""
    +obj 0000000000000006 33 sha1:2a2f21f6f3480aef6afd1398bec7f6bffa43109c
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'd2.1'
    +     24: U    SHORT_BINSTRING 'g2.1'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -1205,27 +800,15 @@ obj 0000000000000002 33 sha1:50b0cf792f2fdc3fbfc5f47f148784924350e31c
     txn 0285cbadd5555600 " "
     user "user2.2"
     description "step 2.2"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieF'
    -     17: U        SHORT_BINSTRING 'SPFA4'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000009 33 sha1:71f1255a9751e0f223f079552e182cf26b27c0a6
    +extension ""
    +obj 0000000000000008 33 sha1:07e79c0eb72eea524bbfbce530b0671a4f90f483
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g2.2'
    +     24: U    SHORT_BINSTRING 'a2.2'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -1234,27 +817,15 @@ obj 0000000000000009 33 sha1:71f1255a9751e0f223f079552e182cf26b27c0a6
     txn 0285cbadda06d44c " "
     user "user2.3"
     description "step 2.3"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie1'
    -     17: U        SHORT_BINSTRING 'XE3RQ'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000009 33 sha1:e6236b8f0a4a2201c0c2375a8f360905108eff2d
    +extension ""
    +obj 0000000000000004 33 sha1:9985268077ca849a615e15ed1b37634875749695
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g2.3'
    +     24: U    SHORT_BINSTRING 'd2.3'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -1263,20 +834,8 @@ obj 0000000000000009 33 sha1:e6236b8f0a4a2201c0c2375a8f360905108eff2d
     txn 0285cbaddeb85299 " "
     user "user2.4"
     description "step 2.4"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie2'
    -     17: U        SHORT_BINSTRING '1XYQ2'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 33 sha1:55a37439e3dc66552d680833af332b8be83bfc2a
    +extension ""
    +obj 0000000000000007 33 sha1:55a37439e3dc66552d680833af332b8be83bfc2a
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
    @@ -1292,27 +851,15 @@ obj 0000000000000006 33 sha1:55a37439e3dc66552d680833af332b8be83bfc2a
     txn 0285cbade369d0e6 " "
     user "user2.5"
     description "step 2.5"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieW'
    -     17: U        SHORT_BINSTRING 'C0ZT2'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (a)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000005 33 sha1:6beb5d1ca083744ff1e8a13c0bee70c2df54a05c
    +extension ""
    +obj 0000000000000004 33 sha1:2e472bec634f703fc24e5192114b0c61364d9273
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'a2.5'
    +     24: U    SHORT_BINSTRING 'd2.5'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -1321,27 +868,15 @@ obj 0000000000000005 33 sha1:6beb5d1ca083744ff1e8a13c0bee70c2df54a05c
     txn 0285cbade81b4f33 " "
     user "user2.6"
     description "step 2.6"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie0'
    -     17: U        SHORT_BINSTRING 'OX40D'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (b)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000008 33 sha1:2a3221e27ac8fbf15ab75b38a9a65e727d237355
    +extension ""
    +obj 0000000000000001 33 sha1:e0148787fb3ffe52ef3ba85ad82b6b8afa47e20f
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'b2.6'
    +     24: U    SHORT_BINSTRING 'f2.6'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -1350,27 +885,15 @@ obj 0000000000000008 33 sha1:2a3221e27ac8fbf15ab75b38a9a65e727d237355
     txn 0285cbadeccccd80 " "
     user "user2.7"
     description "step 2.7"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieY'
    -     17: U        SHORT_BINSTRING '64CY4'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000009 33 sha1:408fddc8c7255c5e2ed94c239ac57c211ab94b6d
    +extension ""
    +obj 0000000000000004 33 sha1:9472357211e402a8dfcda8b72f7ef98c2b8d8b20
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g2.7'
    +     24: U    SHORT_BINSTRING 'd2.7'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -1379,27 +902,15 @@ obj 0000000000000009 33 sha1:408fddc8c7255c5e2ed94c239ac57c211ab94b6d
     txn 0285cbadf17e4bcc " "
     user "user2.8"
     description "step 2.8"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieZ'
    -     17: U        SHORT_BINSTRING 'AXYM6'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 33 sha1:72eda0cdae0addbec9472e28b5a9a91ecdf41bbf
    +extension ""
    +obj 0000000000000006 33 sha1:d57709ac596de41959e36e1dd6902a853213267e
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'd2.8'
    +     24: U    SHORT_BINSTRING 'g2.8'
          30: q    BINPUT     2
          32: .    STOP
       highest protocol among opcodes = 2
    @@ -1408,20 +919,8 @@ obj 0000000000000002 33 sha1:72eda0cdae0addbec9472e28b5a9a91ecdf41bbf
     txn 0285cbadf62fca19 " "
     user "user2.9"
     description "step 2.9"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie8'
    -     17: U        SHORT_BINSTRING '5WYSB'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 33 sha1:f1d87ba386f57291ecc925020a05df06caedb278
    +extension ""
    +obj 0000000000000007 33 sha1:f1d87ba386f57291ecc925020a05df06caedb278
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
    @@ -1437,27 +936,15 @@ obj 0000000000000006 33 sha1:f1d87ba386f57291ecc925020a05df06caedb278
     txn 0285cbadfae14866 " "
     user "user2.10"
     description "step 2.10"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie2'
    -     17: U        SHORT_BINSTRING 'F1402'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (c)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000007 34 sha1:6696fa0434fadb645687c74c8561f0f55fce1fd6
    +extension ""
    +obj 0000000000000007 34 sha1:5118b5ada1ab6ce6852eef392212ea9300ac6f06
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'c2.10'
    +     24: U    SHORT_BINSTRING 'e2.10'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1466,20 +953,8 @@ obj 0000000000000007 34 sha1:6696fa0434fadb645687c74c8561f0f55fce1fd6
     txn 0285cbadff92c6b3 " "
     user "user2.11"
     description "step 2.11"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieG'
    -     17: U        SHORT_BINSTRING 'Q5FM3'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 34 sha1:14e8b27b3bc8bf5b4d86ca162cc1c912a29a1c05
    +extension ""
    +obj 0000000000000004 34 sha1:14e8b27b3bc8bf5b4d86ca162cc1c912a29a1c05
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
    @@ -1495,27 +970,15 @@ obj 0000000000000002 34 sha1:14e8b27b3bc8bf5b4d86ca162cc1c912a29a1c05
     txn 0285cbae04444500 " "
     user "user2.12"
     description "step 2.12"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie7'
    -     17: U        SHORT_BINSTRING '2EFQB'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (g)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000009 34 sha1:db269b90a0df33aa7d411c672f93fb7d86bbdb87
    +extension ""
    +obj 0000000000000007 34 sha1:60c6854b7737f5bbc7569c8b6a694910ed370ccc
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'g2.12'
    +     24: U    SHORT_BINSTRING 'e2.12'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1524,27 +987,15 @@ obj 0000000000000009 34 sha1:db269b90a0df33aa7d411c672f93fb7d86bbdb87
     txn 0285cbae08f5c34c " "
     user "user2.13"
     description "step 2.13"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieS'
    -     17: U        SHORT_BINSTRING 'YS9KO'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 34 sha1:4b28f9e97ff4f61f3dfba30b9f7aceb4913215ce
    +extension ""
    +obj 0000000000000002 34 sha1:5d89801d288c5238f605784e7c71b2d61598d362
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'd2.13'
    +     24: U    SHORT_BINSTRING 'c2.13'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1553,27 +1004,15 @@ obj 0000000000000002 34 sha1:4b28f9e97ff4f61f3dfba30b9f7aceb4913215ce
     txn 0285cbae0da74199 " "
     user "user2.14"
     description "step 2.14"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie5'
    -     17: U        SHORT_BINSTRING 'RF8GX'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (c)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000007 34 sha1:c3eabecf360015b4b7555abc3a0dc0cea77fe7ed
    +extension ""
    +obj 0000000000000007 34 sha1:0a27d685d77313b1a2b7c3478888a98798847077
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'c2.14'
    +     24: U    SHORT_BINSTRING 'e2.14'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1582,27 +1021,15 @@ obj 0000000000000007 34 sha1:c3eabecf360015b4b7555abc3a0dc0cea77fe7ed
     txn 0285cbae1258bfe6 " "
     user "user2.15"
     description "step 2.15"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie0'
    -     17: U        SHORT_BINSTRING 'H70PM'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 34 sha1:25ffaeb6090581d72bce075a765d3cf4198af90f
    +extension ""
    +obj 0000000000000002 34 sha1:ae3975f91e13b4ec60e6810006be027149642926
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'e2.15'
    +     24: U    SHORT_BINSTRING 'c2.15'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1611,27 +1038,15 @@ obj 0000000000000006 34 sha1:25ffaeb6090581d72bce075a765d3cf4198af90f
     txn 0285cbae170a3e33 " "
     user "user2.16"
     description "step 2.16"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-generator'
    -     19: q        BINPUT     2
    -     21: U        SHORT_BINSTRING 'zodb/py2 (f)'
    -     35: U        SHORT_BINSTRING 'x-cookieO'
    -     46: U        SHORT_BINSTRING 'MJ5PG'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000001 34 sha1:e934438dede49d14ee2d1d2afa8fa18774547764
    +extension ""
    +obj 0000000000000009 34 sha1:0f253572ebd02bdd419b287ac75113bc8213ef83
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'f2.16'
    +     24: U    SHORT_BINSTRING 'b2.16'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1640,20 +1055,8 @@ obj 0000000000000001 34 sha1:e934438dede49d14ee2d1d2afa8fa18774547764
     txn 0285cbae1bbbbc80 " "
     user "user2.17"
     description "step 2.17"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie1'
    -     17: U        SHORT_BINSTRING 'RAZ4V'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (b)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000008 34 sha1:9961f82b3f01204f80efbb3b62a2b98d9d3202fa
    +extension ""
    +obj 0000000000000009 34 sha1:9961f82b3f01204f80efbb3b62a2b98d9d3202fa
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
    @@ -1669,27 +1072,15 @@ obj 0000000000000008 34 sha1:9961f82b3f01204f80efbb3b62a2b98d9d3202fa
     txn 0285cbae206d3acc " "
     user "user2.18"
     description "step 2.18"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieR'
    -     17: U        SHORT_BINSTRING 'KE39A'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 34 sha1:5294513e1e00c7de532f4f90068b2147bf87f673
    +extension ""
    +obj 0000000000000007 34 sha1:00cce52a596916011d8935c4e53dcb04510af2d9
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'd2.18'
    +     24: U    SHORT_BINSTRING 'e2.18'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1698,20 +1089,8 @@ obj 0000000000000002 34 sha1:5294513e1e00c7de532f4f90068b2147bf87f673
     txn 0285cbae251eb919 " "
     user "user2.19"
     description "step 2.19"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie8'
    -     17: U        SHORT_BINSTRING '1SBCJ'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 34 sha1:523ec17c6d74016e3464d52bb7c7b7baa4b82a20
    +extension ""
    +obj 0000000000000007 34 sha1:523ec17c6d74016e3464d52bb7c7b7baa4b82a20
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
    @@ -1727,27 +1106,15 @@ obj 0000000000000006 34 sha1:523ec17c6d74016e3464d52bb7c7b7baa4b82a20
     txn 0285cbae29d03766 " "
     user "user2.20"
     description "step 2.20"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieJ'
    -     17: U        SHORT_BINSTRING 'EAIKM'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (b)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000008 34 sha1:14b17f0e944432782cb270205b2e96948d112619
    +extension ""
    +obj 0000000000000004 34 sha1:9cf3a2031b4e9af93e7fd40e58dbceedc753b7d6
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'b2.20'
    +     24: U    SHORT_BINSTRING 'd2.20'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1756,27 +1123,15 @@ obj 0000000000000008 34 sha1:14b17f0e944432782cb270205b2e96948d112619
     txn 0285cbae2e81b5b3 " "
     user "user2.21"
     description "step 2.21"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieM'
    -     17: U        SHORT_BINSTRING 'ESSAD'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 34 sha1:27744ea516240e0d00be75f26af9698f842bdda5
    +extension ""
    +obj 0000000000000008 34 sha1:330a069412b6cfb00a43da001b600b7f6b2380e6
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'e2.21'
    +     24: U    SHORT_BINSTRING 'a2.21'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1785,27 +1140,15 @@ obj 0000000000000006 34 sha1:27744ea516240e0d00be75f26af9698f842bdda5
     txn 0285cbae33333400 " "
     user "user2.22"
     description "step 2.22"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieH'
    -     17: U        SHORT_BINSTRING 'DL5OC'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 34 sha1:a3f303ddd4f2fb9369f6fbbb38ae8030f7f8188d
    +extension ""
    +obj 0000000000000001 34 sha1:bf2d0d8f4cd81e1592001eb3c265a22894cdb51b
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'e2.22'
    +     24: U    SHORT_BINSTRING 'f2.22'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1814,27 +1157,15 @@ obj 0000000000000006 34 sha1:a3f303ddd4f2fb9369f6fbbb38ae8030f7f8188d
     txn 0285cbae37e4b24c " "
     user "user2.23"
     description "step 2.23"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieQ'
    -     17: U        SHORT_BINSTRING 'PBN2A'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (d)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 34 sha1:343bed4b31f4fe69a92ee51d28fd7b9cfd6ecb8b
    +extension ""
    +obj 0000000000000006 34 sha1:c47e0f1415e14f41016809ac3a4323745ad79170
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'd2.23'
    +     24: U    SHORT_BINSTRING 'g2.23'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2
    @@ -1843,84 +1174,36 @@ obj 0000000000000002 34 sha1:343bed4b31f4fe69a92ee51d28fd7b9cfd6ecb8b
     txn 0285cbae3c963099 " "
     user "user2.24"
     description "step 2.24"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookie2'
    -     17: U        SHORT_BINSTRING '0GV0I'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (e)'
    -     53: u        SETITEMS   (MARK at 5)
    -     54: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 34 sha1:8804c60dc27b2e2f6908e2a099a5c5d4b5abc843
    +extension ""
    +obj 0000000000000006 34 sha1:2030a0ccc56595b70aac033e70c899060dbfb0f9
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'e2.24'
    +     24: U    SHORT_BINSTRING 'g2.24'
          31: q    BINPUT     2
          33: .    STOP
       highest protocol among opcodes = 2

    -txn 0285cbae4147aee6 " "
    +txn 0285cbae45f92d33 " "
     user "root2.0\nYour\nMagesty "
     description "undo 2.0\nmore detailed description\n\nzzz ...\t\t"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieM'
    -     17: U        SHORT_BINSTRING 'OQO01'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (undo AoXLrjfkskw=)'
    -     69: u        SETITEMS   (MARK at 5)
    -     70: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000002 from 0285cbae206d3acc
    +extension ""
    +obj 0000000000000001 from 0285cbade81b4f33

    -txn 0285cbae45f92d33 " "
    +txn 0285cbae4aaaab80 " "
     user "root2.1\nYour\nMagesty "
     description "undo 2.1\nmore detailed description\n\nzzz ...\t\t\t"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieA'
    -     17: U        SHORT_BINSTRING 'VPQ8R'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (undo AoXLrjyWMJk=)'
    -     69: u        SETITEMS   (MARK at 5)
    -     70: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 from 0285cbae33333400
    +extension ""
    +obj 0000000000000006 from 0285cbae37e4b24c

    -txn 0285cbae4aaaab80 " "
    +txn 0285cbae4f5c29cc " "
     user "user"
     description "cyclic reference"
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-generator'
    -     19: q        BINPUT     2
    -     21: U        SHORT_BINSTRING 'zodb/py2 (cycle)'
    -     39: U        SHORT_BINSTRING 'x-cookieG'
    -     50: U        SHORT_BINSTRING 'B6FWF'
    -     57: u        SETITEMS   (MARK at 5)
    -     58: .    STOP
    -  highest protocol among opcodes = 2
    +extension ""
     obj 0000000000000006 41 sha1:863d327e4b795efff7dff75bb73c0d20ea3981aa
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
    @@ -1937,11 +1220,11 @@ obj 0000000000000006 41 sha1:863d327e4b795efff7dff75bb73c0d20ea3981aa
       highest protocol among opcodes = 2

    -txn 0285cbae4f5c29cc " "
    +txn 0285cbae540da819 " "
     user ""
    -description "predelete 6"
    +description "predelete 1"
     extension ""
    -obj 0000000000000000 213 sha1:b44d53e1b6cc465c4ab3ba2a3384a80fbba4eb8a
    +obj 0000000000000000 213 sha1:ae6936a4e7c9f3f748d8ecf28186e259897651dd
           0: \x80 PROTO      2
           2: c    GLOBAL     'persistent.mapping PersistentMapping'
          40: q    BINPUT     1
    @@ -1956,44 +1239,44 @@ obj 0000000000000000 213 sha1:b44d53e1b6cc465c4ab3ba2a3384a80fbba4eb8a
          57: q    BINPUT     4
          59: (    MARK
          60: U        SHORT_BINSTRING 'a'
    -     63: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x05'
    +     63: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
          73: q        BINPUT     5
          75: c        GLOBAL     '__main__ Object'
          92: q        BINPUT     6
          94: \x86     TUPLE2
          95: Q        BINPERSID
          96: U        SHORT_BINSTRING 'c'
    -     99: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
    +     99: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
         109: q        BINPUT     7
         111: h        BINGET     6
         113: \x86     TUPLE2
         114: Q        BINPERSID
         115: U        SHORT_BINSTRING 'b'
    -    118: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
    +    118: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\t'
         128: q        BINPUT     8
         130: h        BINGET     6
         132: \x86     TUPLE2
         133: Q        BINPERSID
         134: U        SHORT_BINSTRING 'e'
    -    137: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\n'
    +    137: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
         147: q        BINPUT     9
         149: h        BINGET     6
         151: \x86     TUPLE2
         152: Q        BINPERSID
         153: U        SHORT_BINSTRING 'd'
    -    156: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
    +    156: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x04'
         166: q        BINPUT     10
         168: h        BINGET     6
         170: \x86     TUPLE2
         171: Q        BINPERSID
         172: U        SHORT_BINSTRING 'g'
    -    175: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\t'
    +    175: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
         185: q        BINPUT     11
         187: h        BINGET     6
         189: \x86     TUPLE2
         190: Q        BINPERSID
         191: U        SHORT_BINSTRING 'f'
    -    194: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x01'
    +    194: U        SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\n'
         204: q        BINPUT     12
         206: h        BINGET     6
         208: \x86     TUPLE2
    @@ -2003,34 +1286,22 @@ obj 0000000000000000 213 sha1:b44d53e1b6cc465c4ab3ba2a3384a80fbba4eb8a
         212: .    STOP
       highest protocol among opcodes = 2

    -obj 000000000000000a 32 sha1:35a18f6ce20260014618957689b770b74d7b3c78
    +obj 000000000000000a 32 sha1:da5c7f574b5e6a64d0d58314a6939ef761266d41
           0: \x80 PROTO      2
           2: c    GLOBAL     '__main__ Object'
          19: q    BINPUT     1
          21: .    STOP
       highest protocol among opcodes = 2
          22: \x80 PROTO      2
    -     24: U    SHORT_BINSTRING 'e2*'
    +     24: U    SHORT_BINSTRING 'f2*'
          29: q    BINPUT     2
          31: .    STOP
       highest protocol among opcodes = 2

    -txn 0285cbae540da819 " "
    +txn 0285cbae58bf2666 " "
     user "root2\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
     description "delete 2\nalpha beta gamma'delta\"lambda\n\nqqq ..."
    -extension
    -      0: \x80 PROTO      2
    -      2: }    EMPTY_DICT
    -      3: q    BINPUT     1
    -      5: (    MARK
    -      6: U        SHORT_BINSTRING 'x-cookieT'
    -     17: U        SHORT_BINSTRING '4WFSD'
    -     24: U        SHORT_BINSTRING 'x-generator'
    -     37: q        BINPUT     2
    -     39: U        SHORT_BINSTRING 'zodb/py2 (delete 6)'
    -     60: u        SETITEMS   (MARK at 5)
    -     61: .    STOP
    -  highest protocol among opcodes = 2
    -obj 0000000000000006 delete
    +extension ""
    +obj 0000000000000001 delete
parent fbb2a3d9
......@@ -177,9 +177,12 @@ def gen_testdb(outfs_path, zext=True):
def _gen_testdb(outfs_path, zext):
xtime_reset()
ext = ext4subj
def ext(subj):
# invoke ext4subj for both zext and !zext so that PRNG is left in the same state for both cases
e = ext4subj(subj)
if not zext:
def ext(subj): return {}
e = {}
return e
logging.basicConfig()
......
txn 0285cbac75555580 "p"
user "user0.12"
description "step 0.12"
extension ""
obj 0000000000000001 34 sha1:9fae782fe3e33273b520c954925704856ca90dc6
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f0.12'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
txn 0285cbac8369d066 "p"
user "user0.15"
description "step 0.15"
extension ""
obj 0000000000000003 34 sha1:e616d80f35ea7aaaecdbc65e1e5838c25f4bf07a
obj 0000000000000006 34 sha1:5dbf26359289e5a25f9755f832ea91cc8ee76686
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'b0.15'
24: U SHORT_BINSTRING 'e0.15'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
txn 0285cbac9f92c633 "p"
user "user0.21"
description "step 0.21"
txn 0285cbac962fc999 "p"
user "user0.19"
description "step 0.19"
extension ""
obj 0000000000000001 34 sha1:025d34759b434419251b5a429f3ad78ce3c2fd98
obj 0000000000000005 34 sha1:9e0a8797eb8f60498563703b1961126fba35be9b
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f0.21'
24: U SHORT_BINSTRING 'a0.19'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
txn 0285cbaca4444480 "p"
user "user0.22"
description "step 0.22"
txn 0285cbac9f92c633 "p"
user "user0.21"
description "step 0.21"
extension ""
obj 0000000000000006 34 sha1:0734767857e69ab8bfd0007d4ca3f1a7fd69b677
obj 0000000000000002 34 sha1:009174c1f01142f24495fa13738749ff528fd82c
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g0.22'
24: U SHORT_BINSTRING 'd0.21'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -53,14 +70,14 @@ txn 0285cbacb70a3db3 "p"
user "root0.1\nYour\nMagesty "
description "undo 0.1\nmore detailed description\n\nzzz ...\t"
extension ""
obj 0000000000000004 34 sha1:fe21381adc01e51965c3278c6debf52ebd63068c
obj 0000000000000003 34 sha1:484358413b2746e8a05b1e3173051abedd28e1fa
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd0.11'
24: U SHORT_BINSTRING 'g0.11'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -70,14 +87,14 @@ txn 0285cbacbbbbbc00 "p"
user "user"
description "cyclic reference"
extension ""
obj 0000000000000002 41 sha1:1e2e3ac81badec749c2082a08d205c06c6bb5119
obj 0000000000000007 41 sha1:7108c96ccb9cbeaab1164d533174c300e51309f9
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
24: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
34: q BINPUT 2
36: h BINGET 1
38: \x86 TUPLE2
......@@ -88,9 +105,9 @@ obj 0000000000000002 41 sha1:1e2e3ac81badec749c2082a08d205c06c6bb5119
txn 0285cbacc06d3a4c "p"
user ""
description "predelete 5"
description "predelete 4"
extension ""
obj 0000000000000000 194 sha1:4a9e413a4ff168a6a7f84be32b9168364048fd6d
obj 0000000000000000 213 sha1:a6e70638fafd4619841032356ae93a4da7b539c5
0: \x80 PROTO 2
2: c GLOBAL 'persistent.mapping PersistentMapping'
40: q BINPUT 1
......@@ -104,56 +121,62 @@ obj 0000000000000000 194 sha1:4a9e413a4ff168a6a7f84be32b9168364048fd6d
56: } EMPTY_DICT
57: q BINPUT 4
59: ( MARK
60: U SHORT_BINSTRING 'c'
63: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
60: U SHORT_BINSTRING 'a'
63: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x05'
73: q BINPUT 5
75: c GLOBAL '__main__ Object'
92: q BINPUT 6
94: \x86 TUPLE2
95: Q BINPERSID
96: U SHORT_BINSTRING 'b'
99: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x03'
96: U SHORT_BINSTRING 'c'
99: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
109: q BINPUT 7
111: h BINGET 6
113: \x86 TUPLE2
114: Q BINPERSID
115: U SHORT_BINSTRING 'e'
118: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
115: U SHORT_BINSTRING 'b'
118: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
128: q BINPUT 8
130: h BINGET 6
132: \x86 TUPLE2
133: Q BINPERSID
134: U SHORT_BINSTRING 'd'
137: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x04'
134: U SHORT_BINSTRING 'e'
137: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
147: q BINPUT 9
149: h BINGET 6
151: \x86 TUPLE2
152: Q BINPERSID
153: U SHORT_BINSTRING 'g'
156: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
153: U SHORT_BINSTRING 'd'
156: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
166: q BINPUT 10
168: h BINGET 6
170: \x86 TUPLE2
171: Q BINPERSID
172: U SHORT_BINSTRING 'f'
175: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x01'
172: U SHORT_BINSTRING 'g'
175: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x03'
185: q BINPUT 11
187: h BINGET 6
189: \x86 TUPLE2
190: Q BINPERSID
191: u SETITEMS (MARK at 59)
192: s SETITEM
193: . STOP
191: U SHORT_BINSTRING 'f'
194: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x01'
204: q BINPUT 12
206: h BINGET 6
208: \x86 TUPLE2
209: Q BINPERSID
210: u SETITEMS (MARK at 59)
211: s SETITEM
212: . STOP
highest protocol among opcodes = 2
obj 0000000000000007 32 sha1:b9d61167d2388ac320b1bc2940b43e7a8bad46ac
obj 0000000000000008 32 sha1:936674657cf846998d27356363832827fa612092
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'e0*'
24: U SHORT_BINSTRING 'b0*'
29: q BINPUT 2
31: . STOP
highest protocol among opcodes = 2
......@@ -163,7 +186,7 @@ txn 0285cbad06d3a0cc " "
user "user1.0"
description "step 1.0"
extension ""
obj 0000000000000007 33 sha1:f18e991b87b63cf1f9486d74d70020ff8d573eec
obj 0000000000000006 33 sha1:f18e991b87b63cf1f9486d74d70020ff8d573eec
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
......@@ -180,14 +203,14 @@ txn 0285cbad0b851f19 " "
user "user1.1"
description "step 1.1"
extension ""
obj 0000000000000006 33 sha1:bf4f1be3d63bca5c7dccf98f7660f419597a0f3d
obj 0000000000000008 33 sha1:c37e1d2350c8fc4e18cdbc53b432dba50e5196ba
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g1.1'
24: U SHORT_BINSTRING 'b1.1'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -197,7 +220,7 @@ txn 0285cbad10369d66 " "
user "user1.2"
description "step 1.2"
extension ""
obj 0000000000000006 33 sha1:28e9880fc0f50a9fea5c4a9e861adc1fe44c9f5c
obj 0000000000000003 33 sha1:28e9880fc0f50a9fea5c4a9e861adc1fe44c9f5c
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
......@@ -214,14 +237,14 @@ txn 0285cbad14e81bb3 " "
user "user1.3"
description "step 1.3"
extension ""
obj 0000000000000004 33 sha1:e8796affc44d563a09a2913907f91467a34498fc
obj 0000000000000003 33 sha1:5fb466e36ea6f847b73ad7976def8ad60e00e766
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd1.3'
24: U SHORT_BINSTRING 'g1.3'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -231,14 +254,14 @@ txn 0285cbad19999a00 " "
user "user1.4"
description "step 1.4"
extension ""
obj 0000000000000006 33 sha1:15a38343610d25057cd88521669671350eb0c0a8
obj 0000000000000007 33 sha1:90b0ffa657df9de708913a2cbbd454126fd9de15
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g1.4'
24: U SHORT_BINSTRING 'c1.4'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -248,14 +271,14 @@ txn 0285cbad1e4b184c " "
user "user1.5"
description "step 1.5"
extension ""
obj 0000000000000003 33 sha1:0adf3b787e6814b6cc073bd51a42c3f18615a674
obj 0000000000000001 33 sha1:70b0a88b7652b82b82539800484dc7788277f32a
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'b1.5'
24: U SHORT_BINSTRING 'f1.5'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -265,14 +288,14 @@ txn 0285cbad22fc9699 " "
user "user1.6"
description "step 1.6"
extension ""
obj 0000000000000001 33 sha1:4d811fcaaa707127f5f6f49dc368ffd2ebae1018
obj 0000000000000002 33 sha1:e9018b0bc67c9de08becf1f1fe1a548ed263fb29
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f1.6'
24: U SHORT_BINSTRING 'd1.6'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -282,14 +305,14 @@ txn 0285cbad27ae14e6 " "
user "user1.7"
description "step 1.7"
extension ""
obj 0000000000000004 33 sha1:4c3e1f41eebd1f56c0fef1f609d64e061a137f5a
obj 0000000000000007 33 sha1:0cd3f4b725517a5371429e2ef2f56ea54fe405fb
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd1.7'
24: U SHORT_BINSTRING 'c1.7'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -299,76 +322,14 @@ txn 0285cbad2c5f9333 " "
user "user1.8"
description "step 1.8"
extension ""
obj 0000000000000000 213 sha1:8ccd62e915379b196be62bdb500c4019dfb7825f
0: \x80 PROTO 2
2: c GLOBAL 'persistent.mapping PersistentMapping'
40: q BINPUT 1
42: . STOP
highest protocol among opcodes = 2
43: \x80 PROTO 2
45: } EMPTY_DICT
46: q BINPUT 2
48: U SHORT_BINSTRING 'data'
54: q BINPUT 3
56: } EMPTY_DICT
57: q BINPUT 4
59: ( MARK
60: U SHORT_BINSTRING 'a'
63: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
73: q BINPUT 5
75: c GLOBAL '__main__ Object'
92: q BINPUT 6
94: \x86 TUPLE2
95: Q BINPERSID
96: U SHORT_BINSTRING 'c'
99: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
109: q BINPUT 7
111: h BINGET 6
113: \x86 TUPLE2
114: Q BINPERSID
115: U SHORT_BINSTRING 'b'
118: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x03'
128: q BINPUT 8
130: h BINGET 6
132: \x86 TUPLE2
133: Q BINPERSID
134: U SHORT_BINSTRING 'e'
137: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
147: q BINPUT 9
149: h BINGET 6
151: \x86 TUPLE2
152: Q BINPERSID
153: U SHORT_BINSTRING 'd'
156: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x04'
166: q BINPUT 10
168: h BINGET 6
170: \x86 TUPLE2
171: Q BINPERSID
172: U SHORT_BINSTRING 'g'
175: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
185: q BINPUT 11
187: h BINGET 6
189: \x86 TUPLE2
190: Q BINPERSID
191: U SHORT_BINSTRING 'f'
194: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x01'
204: q BINPUT 12
206: h BINGET 6
208: \x86 TUPLE2
209: Q BINPERSID
210: u SETITEMS (MARK at 59)
211: s SETITEM
212: . STOP
highest protocol among opcodes = 2
obj 0000000000000008 33 sha1:7cffb67651540355d8467852ec6cabcb48d964aa
obj 0000000000000007 33 sha1:13e366fb1d15d36a62099e6b835638407718229f
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'a1.8'
24: U SHORT_BINSTRING 'c1.8'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -378,14 +339,14 @@ txn 0285cbad31111180 " "
user "user1.9"
description "step 1.9"
extension ""
obj 0000000000000001 33 sha1:c32c4831eabc3a97810c4f925465c6093e4fb716
obj 0000000000000006 33 sha1:3ac37991a56061c7407cc093ee2a71eef4379131
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f1.9'
24: U SHORT_BINSTRING 'e1.9'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -395,14 +356,14 @@ txn 0285cbad35c28fcc " "
user "user1.10"
description "step 1.10"
extension ""
obj 0000000000000002 34 sha1:07fe4a745e127abf54f451d41fba5db7bd10ac9d
obj 0000000000000005 34 sha1:407cc5710a22f6c387df45aab613aa3673b221c6
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'c1.10'
24: U SHORT_BINSTRING 'a1.10'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -412,14 +373,14 @@ txn 0285cbad3a740e19 " "
user "user1.11"
description "step 1.11"
extension ""
obj 0000000000000001 34 sha1:2f0fc397cd9bdceb59cfb7e40b823ae3a81e2f7c
obj 0000000000000007 34 sha1:88ab1add11652101077535c03b04e83fe4ddb88b
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f1.11'
24: U SHORT_BINSTRING 'c1.11'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -429,7 +390,7 @@ txn 0285cbad3f258c66 " "
user "user1.12"
description "step 1.12"
extension ""
obj 0000000000000007 34 sha1:4808aef147f8ded08ffaae2ce04265506385e7f7
obj 0000000000000006 34 sha1:4808aef147f8ded08ffaae2ce04265506385e7f7
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
......@@ -446,14 +407,14 @@ txn 0285cbad43d70ab3 " "
user "user1.13"
description "step 1.13"
extension ""
obj 0000000000000008 34 sha1:656d65291d6e34225fe2c8213c2241b390e7487a
obj 0000000000000003 34 sha1:a9f47880096587b359fa7ea6a0fd213e800a24a4
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'a1.13'
24: U SHORT_BINSTRING 'g1.13'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -463,14 +424,14 @@ txn 0285cbad48888900 " "
user "user1.14"
description "step 1.14"
extension ""
obj 0000000000000004 34 sha1:87a243d2e9bdd70a84129119894b7d25479f4abc
obj 0000000000000003 34 sha1:e5b3820378e102a61be2b5998ded3182c106c7db
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd1.14'
24: U SHORT_BINSTRING 'g1.14'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -480,14 +441,14 @@ txn 0285cbad4d3a074c " "
user "user1.15"
description "step 1.15"
extension ""
obj 0000000000000006 34 sha1:2e9ebc331bf53c095e9573de64a9b31f2b340b2f
obj 0000000000000002 34 sha1:f136bac1befa0fbd1ebd50218f8d9afe00b9b0a5
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g1.15'
24: U SHORT_BINSTRING 'd1.15'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -497,14 +458,14 @@ txn 0285cbad51eb8599 " "
user "user1.16"
description "step 1.16"
extension ""
obj 0000000000000003 34 sha1:86adb5f06801883ba2be7776f68bd8ab46b34dd8
obj 0000000000000003 34 sha1:778621ce5c5e97b65343b1ab0cc1a3ce5702fbc8
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'b1.16'
24: U SHORT_BINSTRING 'g1.16'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -514,14 +475,14 @@ txn 0285cbad569d03e6 " "
user "user1.17"
description "step 1.17"
extension ""
obj 0000000000000002 34 sha1:033ab1c2cfacb42e1db63ec9fac8427c700cc3cb
obj 0000000000000001 34 sha1:eb6d2d192f3d8fe47a1b2e8119d390ed580c3fb4
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'c1.17'
24: U SHORT_BINSTRING 'f1.17'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -531,14 +492,14 @@ txn 0285cbad5b4e8233 " "
user "user1.18"
description "step 1.18"
extension ""
obj 0000000000000006 34 sha1:11f0228fea479a8dacdda2351f2720d005c04b06
obj 0000000000000005 34 sha1:921682b323eb62f109d052bc1dfd4ffe0dbf79db
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g1.18'
24: U SHORT_BINSTRING 'a1.18'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -548,14 +509,14 @@ txn 0285cbad60000080 " "
user "user1.19"
description "step 1.19"
extension ""
obj 0000000000000003 34 sha1:6f5ef8a80a64540885791a6b1e2d1a352ee91d1a
obj 0000000000000003 34 sha1:b0b31eb0b48548119153628eb3c6711d959e9f9b
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'b1.19'
24: U SHORT_BINSTRING 'g1.19'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -565,14 +526,14 @@ txn 0285cbad64b17ecc " "
user "user1.20"
description "step 1.20"
extension ""
obj 0000000000000004 34 sha1:1c032191dab251d941e739b3703f42ed7e43b246
obj 0000000000000003 34 sha1:6bfd3298d0bea74cfa3d1f01bb722e958e3f1520
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd1.20'
24: U SHORT_BINSTRING 'g1.20'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -582,14 +543,14 @@ txn 0285cbad6962fd19 " "
user "user1.21"
description "step 1.21"
extension ""
obj 0000000000000003 34 sha1:d90118a669a7a9dbe6b779bcc61110df0cc97fd1
obj 0000000000000006 34 sha1:0d4b4837500e84b190ea2f92b16ab8ec0c486db5
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'b1.21'
24: U SHORT_BINSTRING 'e1.21'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -599,14 +560,14 @@ txn 0285cbad6e147b66 " "
user "user1.22"
description "step 1.22"
extension ""
obj 0000000000000006 34 sha1:cd7d6434b0aa8290342b60c85d7378cda0d19734
obj 0000000000000005 34 sha1:eacbd02d0d78eece9d784da7f3fd0b2738ca6ce0
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g1.22'
24: U SHORT_BINSTRING 'a1.22'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -616,14 +577,14 @@ txn 0285cbad72c5f9b3 " "
user "user1.23"
description "step 1.23"
extension ""
obj 0000000000000001 34 sha1:230c0adc97facea312cd09aeb825f9a6c953e029
obj 0000000000000005 34 sha1:1b443228d5a434ddd9616ecb5aa90672c0ce9ba2
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f1.23'
24: U SHORT_BINSTRING 'a1.23'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -633,14 +594,14 @@ txn 0285cbad77777800 " "
user "user1.24"
description "step 1.24"
extension ""
obj 0000000000000004 34 sha1:ec728760e33cbafcd21496354cbe752995dc02c4
obj 0000000000000001 34 sha1:b35a1826cc6cb71b9ddff043f0e8f88b4d90281f
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd1.24'
24: U SHORT_BINSTRING 'f1.24'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -650,26 +611,26 @@ txn 0285cbad7c28f64c " "
user "root1.0\nYour\nMagesty "
description "undo 1.0\nmore detailed description\n\nzzz ...\t"
extension ""
obj 0000000000000001 from 0285cbad3a740e19
obj 0000000000000005 from 0285cbad6e147b66
txn 0285cbad80da7499 " "
user "root1.1\nYour\nMagesty "
description "undo 1.1\nmore detailed description\n\nzzz ...\t\t"
extension ""
obj 0000000000000004 from 0285cbad64b17ecc
obj 0000000000000001 from 0285cbad569d03e6
txn 0285cbad858bf2e6 " "
user "user"
description "cyclic reference"
extension ""
obj 0000000000000008 41 sha1:ecd78bff79e5e10c04d6a14c8277d3fd5baba3a2
obj 0000000000000002 41 sha1:1e2e3ac81badec749c2082a08d205c06c6bb5119
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
24: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
34: q BINPUT 2
36: h BINGET 1
38: \x86 TUPLE2
......@@ -682,7 +643,7 @@ txn 0285cbad8a3d7133 " "
user ""
description "predelete 3"
extension ""
obj 0000000000000000 213 sha1:e8e6e66cf82c7cbff72efb7bed28826296e51a01
obj 0000000000000000 213 sha1:e278899979bad10d72962170790ea2a2f5865567
0: \x80 PROTO 2
2: c GLOBAL 'persistent.mapping PersistentMapping'
40: q BINPUT 1
......@@ -697,38 +658,38 @@ obj 0000000000000000 213 sha1:e8e6e66cf82c7cbff72efb7bed28826296e51a01
57: q BINPUT 4
59: ( MARK
60: U SHORT_BINSTRING 'a'
63: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
63: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x05'
73: q BINPUT 5
75: c GLOBAL '__main__ Object'
92: q BINPUT 6
94: \x86 TUPLE2
95: Q BINPERSID
96: U SHORT_BINSTRING 'c'
99: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
99: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
109: q BINPUT 7
111: h BINGET 6
113: \x86 TUPLE2
114: Q BINPERSID
115: U SHORT_BINSTRING 'b'
118: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\t'
118: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
128: q BINPUT 8
130: h BINGET 6
132: \x86 TUPLE2
133: Q BINPERSID
134: U SHORT_BINSTRING 'e'
137: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
137: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
147: q BINPUT 9
149: h BINGET 6
151: \x86 TUPLE2
152: Q BINPERSID
153: U SHORT_BINSTRING 'd'
156: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x04'
156: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
166: q BINPUT 10
168: h BINGET 6
170: \x86 TUPLE2
171: Q BINPERSID
172: U SHORT_BINSTRING 'g'
175: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
175: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\t'
185: q BINPUT 11
187: h BINGET 6
189: \x86 TUPLE2
......@@ -744,14 +705,14 @@ obj 0000000000000000 213 sha1:e8e6e66cf82c7cbff72efb7bed28826296e51a01
212: . STOP
highest protocol among opcodes = 2
obj 0000000000000009 32 sha1:94f4c80027cdf77affb7dd9f26b634975b4619e4
obj 0000000000000009 32 sha1:38aaea7061f311a5ff41e144ea56df2c8f66435c
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'b1*'
24: U SHORT_BINSTRING 'g1*'
29: q BINPUT 2
31: . STOP
highest protocol among opcodes = 2
......@@ -767,14 +728,14 @@ txn 0285cbadcbf25966 " "
user "user2.0"
description "step 2.0"
extension ""
obj 0000000000000004 33 sha1:aff1248f33b29d65fe0b038d7dc11db007e2690d
obj 0000000000000001 33 sha1:7b5599bdbf192e2d33e2597b52c8a72a751ddd13
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd2.0'
24: U SHORT_BINSTRING 'f2.0'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -784,14 +745,14 @@ txn 0285cbadd0a3d7b3 " "
user "user2.1"
description "step 2.1"
extension ""
obj 0000000000000006 33 sha1:2a2f21f6f3480aef6afd1398bec7f6bffa43109c
obj 0000000000000002 33 sha1:50b0cf792f2fdc3fbfc5f47f148784924350e31c
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g2.1'
24: U SHORT_BINSTRING 'd2.1'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -801,14 +762,14 @@ txn 0285cbadd5555600 " "
user "user2.2"
description "step 2.2"
extension ""
obj 0000000000000008 33 sha1:07e79c0eb72eea524bbfbce530b0671a4f90f483
obj 0000000000000009 33 sha1:71f1255a9751e0f223f079552e182cf26b27c0a6
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'a2.2'
24: U SHORT_BINSTRING 'g2.2'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -818,14 +779,14 @@ txn 0285cbadda06d44c " "
user "user2.3"
description "step 2.3"
extension ""
obj 0000000000000004 33 sha1:9985268077ca849a615e15ed1b37634875749695
obj 0000000000000009 33 sha1:e6236b8f0a4a2201c0c2375a8f360905108eff2d
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd2.3'
24: U SHORT_BINSTRING 'g2.3'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -835,7 +796,7 @@ txn 0285cbaddeb85299 " "
user "user2.4"
description "step 2.4"
extension ""
obj 0000000000000007 33 sha1:55a37439e3dc66552d680833af332b8be83bfc2a
obj 0000000000000006 33 sha1:55a37439e3dc66552d680833af332b8be83bfc2a
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
......@@ -852,14 +813,14 @@ txn 0285cbade369d0e6 " "
user "user2.5"
description "step 2.5"
extension ""
obj 0000000000000004 33 sha1:2e472bec634f703fc24e5192114b0c61364d9273
obj 0000000000000005 33 sha1:6beb5d1ca083744ff1e8a13c0bee70c2df54a05c
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd2.5'
24: U SHORT_BINSTRING 'a2.5'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -869,14 +830,14 @@ txn 0285cbade81b4f33 " "
user "user2.6"
description "step 2.6"
extension ""
obj 0000000000000001 33 sha1:e0148787fb3ffe52ef3ba85ad82b6b8afa47e20f
obj 0000000000000008 33 sha1:2a3221e27ac8fbf15ab75b38a9a65e727d237355
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f2.6'
24: U SHORT_BINSTRING 'b2.6'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -886,14 +847,14 @@ txn 0285cbadeccccd80 " "
user "user2.7"
description "step 2.7"
extension ""
obj 0000000000000004 33 sha1:9472357211e402a8dfcda8b72f7ef98c2b8d8b20
obj 0000000000000009 33 sha1:408fddc8c7255c5e2ed94c239ac57c211ab94b6d
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd2.7'
24: U SHORT_BINSTRING 'g2.7'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -903,14 +864,14 @@ txn 0285cbadf17e4bcc " "
user "user2.8"
description "step 2.8"
extension ""
obj 0000000000000006 33 sha1:d57709ac596de41959e36e1dd6902a853213267e
obj 0000000000000002 33 sha1:72eda0cdae0addbec9472e28b5a9a91ecdf41bbf
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g2.8'
24: U SHORT_BINSTRING 'd2.8'
30: q BINPUT 2
32: . STOP
highest protocol among opcodes = 2
......@@ -920,7 +881,7 @@ txn 0285cbadf62fca19 " "
user "user2.9"
description "step 2.9"
extension ""
obj 0000000000000007 33 sha1:f1d87ba386f57291ecc925020a05df06caedb278
obj 0000000000000006 33 sha1:f1d87ba386f57291ecc925020a05df06caedb278
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
......@@ -937,14 +898,14 @@ txn 0285cbadfae14866 " "
user "user2.10"
description "step 2.10"
extension ""
obj 0000000000000007 34 sha1:5118b5ada1ab6ce6852eef392212ea9300ac6f06
obj 0000000000000007 34 sha1:6696fa0434fadb645687c74c8561f0f55fce1fd6
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'e2.10'
24: U SHORT_BINSTRING 'c2.10'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -954,7 +915,7 @@ txn 0285cbadff92c6b3 " "
user "user2.11"
description "step 2.11"
extension ""
obj 0000000000000004 34 sha1:14e8b27b3bc8bf5b4d86ca162cc1c912a29a1c05
obj 0000000000000002 34 sha1:14e8b27b3bc8bf5b4d86ca162cc1c912a29a1c05
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
......@@ -971,14 +932,14 @@ txn 0285cbae04444500 " "
user "user2.12"
description "step 2.12"
extension ""
obj 0000000000000007 34 sha1:60c6854b7737f5bbc7569c8b6a694910ed370ccc
obj 0000000000000009 34 sha1:db269b90a0df33aa7d411c672f93fb7d86bbdb87
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'e2.12'
24: U SHORT_BINSTRING 'g2.12'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -988,14 +949,14 @@ txn 0285cbae08f5c34c " "
user "user2.13"
description "step 2.13"
extension ""
obj 0000000000000002 34 sha1:5d89801d288c5238f605784e7c71b2d61598d362
obj 0000000000000002 34 sha1:4b28f9e97ff4f61f3dfba30b9f7aceb4913215ce
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'c2.13'
24: U SHORT_BINSTRING 'd2.13'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1005,14 +966,14 @@ txn 0285cbae0da74199 " "
user "user2.14"
description "step 2.14"
extension ""
obj 0000000000000007 34 sha1:0a27d685d77313b1a2b7c3478888a98798847077
obj 0000000000000007 34 sha1:c3eabecf360015b4b7555abc3a0dc0cea77fe7ed
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'e2.14'
24: U SHORT_BINSTRING 'c2.14'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1022,14 +983,14 @@ txn 0285cbae1258bfe6 " "
user "user2.15"
description "step 2.15"
extension ""
obj 0000000000000002 34 sha1:ae3975f91e13b4ec60e6810006be027149642926
obj 0000000000000006 34 sha1:25ffaeb6090581d72bce075a765d3cf4198af90f
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'c2.15'
24: U SHORT_BINSTRING 'e2.15'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1039,14 +1000,14 @@ txn 0285cbae170a3e33 " "
user "user2.16"
description "step 2.16"
extension ""
obj 0000000000000009 34 sha1:0f253572ebd02bdd419b287ac75113bc8213ef83
obj 0000000000000001 34 sha1:e934438dede49d14ee2d1d2afa8fa18774547764
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'b2.16'
24: U SHORT_BINSTRING 'f2.16'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1056,7 +1017,7 @@ txn 0285cbae1bbbbc80 " "
user "user2.17"
description "step 2.17"
extension ""
obj 0000000000000009 34 sha1:9961f82b3f01204f80efbb3b62a2b98d9d3202fa
obj 0000000000000008 34 sha1:9961f82b3f01204f80efbb3b62a2b98d9d3202fa
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
......@@ -1073,14 +1034,14 @@ txn 0285cbae206d3acc " "
user "user2.18"
description "step 2.18"
extension ""
obj 0000000000000007 34 sha1:00cce52a596916011d8935c4e53dcb04510af2d9
obj 0000000000000002 34 sha1:5294513e1e00c7de532f4f90068b2147bf87f673
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'e2.18'
24: U SHORT_BINSTRING 'd2.18'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1090,7 +1051,7 @@ txn 0285cbae251eb919 " "
user "user2.19"
description "step 2.19"
extension ""
obj 0000000000000007 34 sha1:523ec17c6d74016e3464d52bb7c7b7baa4b82a20
obj 0000000000000006 34 sha1:523ec17c6d74016e3464d52bb7c7b7baa4b82a20
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
......@@ -1107,14 +1068,14 @@ txn 0285cbae29d03766 " "
user "user2.20"
description "step 2.20"
extension ""
obj 0000000000000004 34 sha1:9cf3a2031b4e9af93e7fd40e58dbceedc753b7d6
obj 0000000000000008 34 sha1:14b17f0e944432782cb270205b2e96948d112619
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'd2.20'
24: U SHORT_BINSTRING 'b2.20'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1124,14 +1085,14 @@ txn 0285cbae2e81b5b3 " "
user "user2.21"
description "step 2.21"
extension ""
obj 0000000000000008 34 sha1:330a069412b6cfb00a43da001b600b7f6b2380e6
obj 0000000000000006 34 sha1:27744ea516240e0d00be75f26af9698f842bdda5
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'a2.21'
24: U SHORT_BINSTRING 'e2.21'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1141,14 +1102,14 @@ txn 0285cbae33333400 " "
user "user2.22"
description "step 2.22"
extension ""
obj 0000000000000001 34 sha1:bf2d0d8f4cd81e1592001eb3c265a22894cdb51b
obj 0000000000000006 34 sha1:a3f303ddd4f2fb9369f6fbbb38ae8030f7f8188d
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f2.22'
24: U SHORT_BINSTRING 'e2.22'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1158,14 +1119,14 @@ txn 0285cbae37e4b24c " "
user "user2.23"
description "step 2.23"
extension ""
obj 0000000000000006 34 sha1:c47e0f1415e14f41016809ac3a4323745ad79170
obj 0000000000000002 34 sha1:343bed4b31f4fe69a92ee51d28fd7b9cfd6ecb8b
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g2.23'
24: U SHORT_BINSTRING 'd2.23'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
......@@ -1175,32 +1136,32 @@ txn 0285cbae3c963099 " "
user "user2.24"
description "step 2.24"
extension ""
obj 0000000000000006 34 sha1:2030a0ccc56595b70aac033e70c899060dbfb0f9
obj 0000000000000006 34 sha1:8804c60dc27b2e2f6908e2a099a5c5d4b5abc843
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'g2.24'
24: U SHORT_BINSTRING 'e2.24'
31: q BINPUT 2
33: . STOP
highest protocol among opcodes = 2
txn 0285cbae45f92d33 " "
txn 0285cbae4147aee6 " "
user "root2.0\nYour\nMagesty "
description "undo 2.0\nmore detailed description\n\nzzz ...\t\t"
extension ""
obj 0000000000000001 from 0285cbade81b4f33
obj 0000000000000002 from 0285cbae206d3acc
txn 0285cbae4aaaab80 " "
txn 0285cbae45f92d33 " "
user "root2.1\nYour\nMagesty "
description "undo 2.1\nmore detailed description\n\nzzz ...\t\t\t"
extension ""
obj 0000000000000006 from 0285cbae37e4b24c
obj 0000000000000006 from 0285cbae33333400
txn 0285cbae4f5c29cc " "
txn 0285cbae4aaaab80 " "
user "user"
description "cyclic reference"
extension ""
......@@ -1220,11 +1181,11 @@ obj 0000000000000006 41 sha1:863d327e4b795efff7dff75bb73c0d20ea3981aa
highest protocol among opcodes = 2
txn 0285cbae540da819 " "
txn 0285cbae4f5c29cc " "
user ""
description "predelete 1"
description "predelete 6"
extension ""
obj 0000000000000000 213 sha1:ae6936a4e7c9f3f748d8ecf28186e259897651dd
obj 0000000000000000 213 sha1:b44d53e1b6cc465c4ab3ba2a3384a80fbba4eb8a
0: \x80 PROTO 2
2: c GLOBAL 'persistent.mapping PersistentMapping'
40: q BINPUT 1
......@@ -1239,44 +1200,44 @@ obj 0000000000000000 213 sha1:ae6936a4e7c9f3f748d8ecf28186e259897651dd
57: q BINPUT 4
59: ( MARK
60: U SHORT_BINSTRING 'a'
63: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
63: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x05'
73: q BINPUT 5
75: c GLOBAL '__main__ Object'
92: q BINPUT 6
94: \x86 TUPLE2
95: Q BINPERSID
96: U SHORT_BINSTRING 'c'
99: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
99: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
109: q BINPUT 7
111: h BINGET 6
113: \x86 TUPLE2
114: Q BINPERSID
115: U SHORT_BINSTRING 'b'
118: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\t'
118: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x08'
128: q BINPUT 8
130: h BINGET 6
132: \x86 TUPLE2
133: Q BINPERSID
134: U SHORT_BINSTRING 'e'
137: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x07'
137: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\n'
147: q BINPUT 9
149: h BINGET 6
151: \x86 TUPLE2
152: Q BINPERSID
153: U SHORT_BINSTRING 'd'
156: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x04'
156: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x02'
166: q BINPUT 10
168: h BINGET 6
170: \x86 TUPLE2
171: Q BINPERSID
172: U SHORT_BINSTRING 'g'
175: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x06'
175: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\t'
185: q BINPUT 11
187: h BINGET 6
189: \x86 TUPLE2
190: Q BINPERSID
191: U SHORT_BINSTRING 'f'
194: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\n'
194: U SHORT_BINSTRING '\x00\x00\x00\x00\x00\x00\x00\x01'
204: q BINPUT 12
206: h BINGET 6
208: \x86 TUPLE2
......@@ -1286,22 +1247,22 @@ obj 0000000000000000 213 sha1:ae6936a4e7c9f3f748d8ecf28186e259897651dd
212: . STOP
highest protocol among opcodes = 2
obj 000000000000000a 32 sha1:da5c7f574b5e6a64d0d58314a6939ef761266d41
obj 000000000000000a 32 sha1:35a18f6ce20260014618957689b770b74d7b3c78
0: \x80 PROTO 2
2: c GLOBAL '__main__ Object'
19: q BINPUT 1
21: . STOP
highest protocol among opcodes = 2
22: \x80 PROTO 2
24: U SHORT_BINSTRING 'f2*'
24: U SHORT_BINSTRING 'e2*'
29: q BINPUT 2
31: . STOP
highest protocol among opcodes = 2
txn 0285cbae58bf2666 " "
txn 0285cbae540da819 " "
user "root2\nYour\nRoyal\nMagesty' \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
description "delete 2\nalpha beta gamma'delta\"lambda\n\nqqq ..."
extension ""
obj 0000000000000001 delete
obj 0000000000000006 delete
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment