<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>22925</bug_id>
          
          <creation_ts>2008-12-18 16:15:01 -0800</creation_ts>
          <short_desc>The JIT&apos;s handling of JSImmediate values is broken on x86-64.</short_desc>
          <delta_ts>2008-12-18 18:30:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>102936</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-12-18 16:15:01 -0800</bug_when>
    <thetext>The upper bits of the immediate should be a sign extension of the low 32-bit word; the 32-bit operations on x86-64 zero the upper portion of the register.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102937</commentid>
    <comment_count>1</comment_count>
      <attachid>26131</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-12-18 16:15:27 -0800</bug_when>
    <thetext>Created attachment 26131
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102938</commentid>
    <comment_count>2</comment_count>
      <attachid>26132</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-12-18 16:24:13 -0800</bug_when>
    <thetext>Created attachment 26132
Down to 1 regression!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102952</commentid>
    <comment_count>3</comment_count>
      <attachid>26132</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-12-18 17:59:29 -0800</bug_when>
    <thetext>Comment on attachment 26132
Down to 1 regression!

&gt; +        
&gt; +        This fix honors previous behavoir.  A better fix in the long run
&gt; +        (when the JIT is enabled by default) may be to change JSImmediate.h
&gt; +        so it no longer relies on the upper bits of the pointer,... though
&gt; +        if we&apos;re goign to change JSImmediate.h for 64-bit, we probably may

Typo.  &quot;going&quot;.

&gt; +        as well change the format so that the full range of 32-bit ints can
&gt; +        be stored, rather than just 31-bits. [hrrrm, maybe we want 33-bit
&gt; +        ints, so that all results of bit-ops can be represented in immediate
&gt; +        format?]

Please add a reference to this bug.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102953</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-12-18 18:30:54 -0800</bug_when>
    <thetext>Sending        JavaScriptCore/ChangeLog
Sending        JavaScriptCore/assembler/MacroAssembler.h
Sending        JavaScriptCore/assembler/X86Assembler.h
Sending        JavaScriptCore/jit/JIT.cpp
Sending        JavaScriptCore/jit/JITInlineMethods.h
Transmitting file data .....
Committed revision 39389.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26131</attachid>
            <date>2008-12-18 16:15:27 -0800</date>
            <delta_ts>2008-12-18 16:24:13 -0800</delta_ts>
            <desc>The patch</desc>
            <filename>patch.jit64imm.txt</filename>
            <type>text/plain</type>
            <size>11016</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM5Mzgz
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAKKzIwMDgtMTIt
MTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIGZvciB0aGUgSklU
J3MgaGFuZGxpbmcgb2YgSlNJbW1lZGlhdGUgdmFsdWVzIG9uIHg4Ni02NC4KKyAgICAgICAgT24g
NjQtYml0IHN5c3RlbXMsIHRoZSBjb2RlIGluIEpTSW1tZWRpYXRlLmggcmVsaWVzIG9uIHRoZSB1
cHBlcgorICAgICAgICBiaXRzIG9mIGEgSlNJbW1lZGlhdGUgYmVpbmcgYSBzaWduIGV4dGVuc2lv
biBvZiB0aGUgbG93IDMyLWJpdHMuCisgICAgICAgIFRoaXMgd2FzIG5vdCBiZWluZyBlbmZvcmNl
ZCBieSB0aGUgSklULCBzaW5jZSBhIG51bWJlciBvZiBpbmxpbmUKKyAgICAgICAgb3BlcmF0aW9u
cyB3ZXJlIGJlaW5nIHBlcmZvcm1lZCBvbiAzMi1iaXQgdmFsdWVzIGluIHJlZ2lzdGVycywgYW5k
CisgICAgICAgIHdoZW4gYSAzMi1iaXQgcmVzdWx0IGlzIHdyaXR0ZW4gdG8gYSByZWdpc3RlciBv
biB4ODYtNjQgdGhlIHZhbHVlCisgICAgICAgIGlzIHplcm8tZXh0ZW5kZWQgdG8gNjQtYml0cy4K
KyAgICAgICAgCisgICAgICAgIFRoaXMgZml4IGhvbm9ycyBwcmV2aW91cyBiZWhhdm9pci4gIEEg
YmV0dGVyIGZpeCBpbiB0aGUgbG9uZyBydW4KKyAgICAgICAgKHdoZW4gdGhlIEpJVCBpcyBlbmFi
bGVkIGJ5IGRlZmF1bHQpIG1heSBiZSB0byBjaGFuZ2UgSlNJbW1lZGlhdGUuaAorICAgICAgICBz
byBpdCBubyBsb25nZXIgcmVsaWVzIG9uIHRoZSB1cHBlciBiaXRzIG9mIHRoZSBwb2ludGVyLC4u
LiB0aG91Z2gKKyAgICAgICAgaWYgd2UncmUgZ29pZ24gdG8gY2hhbmdlIEpTSW1tZWRpYXRlLmgg
Zm9yIDY0LWJpdCwgd2UgcHJvYmFibHkgbWF5CisgICAgICAgIGFzIHdlbGwgY2hhbmdlIHRoZSBm
b3JtYXQgc28gdGhhdCB0aGUgZnVsbCByYW5nZSBvZiAzMi1iaXQgaW50cyBjYW4KKyAgICAgICAg
YmUgc3RvcmVkLCByYXRoZXIgdGhhbiBqdXN0IDMxLWJpdHMuIFtocnJybSwgbWF5YmUgd2Ugd2Fu
dCAzMy1iaXQKKyAgICAgICAgaW50cywgc28gdGhhdCBhbGwgcmVzdWx0cyBvZiBiaXQtb3BzIGNh
biBiZSByZXByZXNlbnRlZCBpbiBpbW1lZGlhdGUKKyAgICAgICAgZm9ybWF0P10KKworICAgICAg
ICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
Ymxlcjo6YWRkUHRyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OmFuZFB0cik6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyOjpvclB0cik6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyOjpvcjMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnhvcjMyKToK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnhvclB0cik6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyOjpzaWduRXh0ZW5kMzJUb1B0cik6CisgICAgICAgICogYXNzZW1ibGVyL1g4
NkFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6Oik6CisgICAgICAgIChK
U0M6Olg4NkFzc2VtYmxlcjo6YW5kcV9ycik6CisgICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6
YW5kcV9pcik6CisgICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6b3JxX3JyKToKKyAgICAgICAg
KEpTQzo6WDg2QXNzZW1ibGVyOjp4b3JxX2lyKToKKyAgICAgICAgKEpTQzo6WDg2QXNzZW1ibGVy
Ojptb3ZzeGRfcnIpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6
OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVNZXRob2Rz
Lmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdEZhc3RBcml0aFJlVGFnSW1tZWRpYXRlKToKKyAg
ICAgICAgKEpTQzo6SklUOjplbWl0RmFzdEFyaXRoUG90ZW50aWFsbHlSZVRhZ0ltbWVkaWF0ZSk6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdEZhc3RBcml0aEltbVRvSW50KToKKwogMjAwOC0xMi0x
OCAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCShyZXZpc2lvbiAzOTM4
MCkKKysrIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNjks
MTEgKzM2OSwxMCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oWDg2XzY0KQogICAgICAgICBtX2Fz
c2VtYmxlci5hZGRxX2lyKGltbS5tX3ZhbHVlLCBzcmNEZXN0KTsKICNlbHNlCi0gICAgICAgIG1f
YXNzZW1ibGVyLmFkZGxfaXIoaW1tLm1fdmFsdWUsIHNyY0Rlc3QpOworICAgICAgICBhZGQzMihp
bW0sIHNyY0Rlc3QpOwogI2VuZGlmCiAgICAgfQogCi0KICAgICB2b2lkIGFkZFB0cihJbW0zMiBp
bW0sIFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fz
c2VtYmxlci5sZWFsX21yKGltbS5tX3ZhbHVlLCBzcmMsIGRlc3QpOwpAQCAtNDA0LDYgKzQwMywy
NCBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmFuZGxfaXIoaW1tLm1fdmFsdWUsIGRl
c3QpOwogICAgIH0KIAorICAgIHZvaWQgYW5kUHRyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklE
IGRlc3QpCisgICAgeworI2lmIFBMQVRGT1JNKFg4Nl82NCkKKyAgICAgICAgbV9hc3NlbWJsZXIu
YW5kcV9ycihzcmMsIGRlc3QpOworI2Vsc2UKKyAgICAgICAgYW5kMzIoc3JjLCBkZXN0KTsKKyNl
bmRpZgorICAgIH0KKworICAgIHZvaWQgYW5kUHRyKEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzcmNE
ZXN0KQorICAgIHsKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgICAgIG1fYXNzZW1ibGVyLmFu
ZHFfaXIoaW1tLm1fdmFsdWUsIHNyY0Rlc3QpOworI2Vsc2UKKyAgICAgICAgYW5kMzIoaW1tLCBz
cmNEZXN0KTsKKyNlbmRpZgorICAgIH0KKwogICAgIHZvaWQgbHNoaWZ0MzIoSW1tMzIgaW1tLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5zaGxsX2k4cihpbW0u
bV92YWx1ZSwgZGVzdCk7CkBAIC00NjAsOSArNDc3LDE4IEBAIHB1YmxpYzoKICAgICAgICAgbV9h
c3NlbWJsZXIub3JsX3JyKHNyYywgZGVzdCk7CiAgICAgfQogCisgICAgdm9pZCBvclB0cihSZWdp
c3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyNpZiBQTEFURk9STShYODZfNjQp
CisgICAgICAgIG1fYXNzZW1ibGVyLm9ycV9ycihzcmMsIGRlc3QpOworI2Vsc2UKKyAgICAgICAg
b3IzMihzcmMsIGRlc3QpOworI2VuZGlmCisgICAgfQorCiAgICAgdm9pZCBvcjMyKEltbTMyIGlt
bSwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLm9ybF9p
cihpbW0ubV92YWx1ZSwgZGVzdCk7CisgICAgICAgIG1fYXNzZW1ibGVyLm9ybF9pcihpbW0ubV92
YWx1ZSwgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCByc2hpZnQzMihJbW0zMiBpbW0sIFJlZ2lz
dGVySUQgZGVzdCkKQEAgLTUwNywxMSArNTMzLDIwIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3Nl
bWJsZXIueG9ybF9ycihzcmMsIGRlc3QpOwogICAgIH0KIAotICAgIHZvaWQgeG9yMzIoSW1tMzIg
aW1tLCBSZWdpc3RlcklEIGRlc3QpCisgICAgdm9pZCB4b3IzMihJbW0zMiBpbW0sIFJlZ2lzdGVy
SUQgc3JjRGVzdCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLnhvcmxfaXIoaW1tLm1fdmFs
dWUsIGRlc3QpOworICAgICAgICBtX2Fzc2VtYmxlci54b3JsX2lyKGltbS5tX3ZhbHVlLCBzcmNE
ZXN0KTsKICAgICB9CiAgICAgCisgICAgdm9pZCB4b3JQdHIoSW1tMzIgaW1tLCBSZWdpc3RlcklE
IHNyY0Rlc3QpCisgICAgeworI2lmIFBMQVRGT1JNKFg4Nl82NCkKKyAgICAgICAgbV9hc3NlbWJs
ZXIueG9ycV9pcihpbW0ubV92YWx1ZSwgc3JjRGVzdCk7CisjZWxzZQorICAgICAgICB4b3IzMihp
bW0sIHNyY0Rlc3QpOworI2VuZGlmCisgICAgfQorCiAKICAgICAvLyBNZW1vcnkgYWNjZXNzIG9w
ZXJhdGlvbnM6CiAgICAgLy8KQEAgLTczOCw2ICs3NzMsMTcgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgfQogCisgICAgdm9pZCBzaWduRXh0ZW5kMzJUb1B0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHsKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgICAgIG1fYXNzZW1i
bGVyLm1vdnN4ZF9ycihzcmMsIGRlc3QpOworI2Vsc2UKKyAgICAgICAgaWYgKHNyYyAhPSBkZXN0
KQorICAgICAgICAgICAgbW92ZShzcmMsIGRlc3QpOworI2VuZGlmCisgICAgfQorCisKIAogICAg
IC8vIEZvcndhcmRzIC8gZXh0ZXJuYWwgY29udHJvbCBmbG93IG9wZXJhdGlvbnM6CiAgICAgLy8K
SW5kZXg6IGFzc2VtYmxlci9YODZBc3NlbWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBhc3NlbWJsZXIv
WDg2QXNzZW1ibGVyLmgJKHJldmlzaW9uIDM5MzgwKQorKysgYXNzZW1ibGVyL1g4NkFzc2VtYmxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2ICs5Nyw5IEBAIHB1YmxpYzoKICNlbmRpZgogICAg
ICAgICBPUF9QVVNIX0VBWCAgICAgICAgICAgICAgICAgICAgID0gMHg1MCwKICAgICAgICAgT1Bf
UE9QX0VBWCAgICAgICAgICAgICAgICAgICAgICA9IDB4NTgsCisjaWYgUExBVEZPUk0oWDg2XzY0
KQorICAgICAgICBPUF9NT1ZTWERfR3ZFdiAgICAgICAgICAgICAgICAgID0gMHg2MywKKyNlbmRp
ZgogICAgICAgICBQUkVfT1BFUkFORF9TSVpFICAgICAgICAgICAgICAgID0gMHg2NiwKICAgICAg
ICAgUFJFX1NTRV82NiAgICAgICAgICAgICAgICAgICAgICA9IDB4NjYsCiAgICAgICAgIE9QX1BV
U0hfSXogICAgICAgICAgICAgICAgICAgICAgPSAweDY4LApAQCAtMzIyLDYgKzMyNSwyNCBAQCBw
dWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgdm9p
ZCBhbmRxX3JyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAg
IG1fZm9ybWF0dGVyLm9uZUJ5dGVPcDY0KE9QX0FORF9Fdkd2LCBzcmMsIGRzdCk7CisgICAgfQor
CisgICAgdm9pZCBhbmRxX2lyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAg
ICAgaWYgKENBTl9TSUdOX0VYVEVORF84XzMyKGltbSkpIHsKKyAgICAgICAgICAgIG1fZm9ybWF0
dGVyLm9uZUJ5dGVPcDY0KE9QX0dST1VQMV9FdkliLCBHUk9VUDFfT1BfQU5ELCBkc3QpOworICAg
ICAgICAgICAgbV9mb3JtYXR0ZXIuaW1tZWRpYXRlOChpbW0pOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1BfR1JPVVAxX0V2SXosIEdST1VQ
MV9PUF9BTkQsIGRzdCk7CisgICAgICAgICAgICBtX2Zvcm1hdHRlci5pbW1lZGlhdGUzMihpbW0p
OworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIG9ybF9ycihSZWdpc3RlcklE
IHNyYywgUmVnaXN0ZXJJRCBkc3QpCiAgICAgewogICAgICAgICBtX2Zvcm1hdHRlci5vbmVCeXRl
T3AoT1BfT1JfRXZHdiwgc3JjLCBkc3QpOwpAQCAtMzQzLDYgKzM2NCwxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIH0KICAgICB9CiAKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgdm9pZCBvcnFfcnIo
UmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9mb3JtYXR0
ZXIub25lQnl0ZU9wNjQoT1BfT1JfRXZHdiwgc3JjLCBkc3QpOworICAgIH0KKyNlbmRpZgorCiAg
ICAgdm9pZCBzdWJsX3JyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CiAg
ICAgICAgIG1fZm9ybWF0dGVyLm9uZUJ5dGVPcChPUF9TVUJfRXZHdiwgc3JjLCBkc3QpOwpAQCAt
MzkzLDYgKzQyMSwxOSBAQCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAKKyNpZiBQTEFURk9S
TShYODZfNjQpCisgICAgdm9pZCB4b3JxX2lyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQorICAg
IHsKKyAgICAgICAgaWYgKENBTl9TSUdOX0VYVEVORF84XzMyKGltbSkpIHsKKyAgICAgICAgICAg
IG1fZm9ybWF0dGVyLm9uZUJ5dGVPcDY0KE9QX0dST1VQMV9FdkliLCBHUk9VUDFfT1BfWE9SLCBk
c3QpOworICAgICAgICAgICAgbV9mb3JtYXR0ZXIuaW1tZWRpYXRlOChpbW0pOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1BfR1JPVVAxX0V2
SXosIEdST1VQMV9PUF9YT1IsIGRzdCk7CisgICAgICAgICAgICBtX2Zvcm1hdHRlci5pbW1lZGlh
dGUzMihpbW0pOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIHNhcmxfaThy
KGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgaWYgKGltbSA9PSAxKQpA
QCAtNzM5LDYgKzc4MCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIG1fZm9ybWF0dGVyLm9uZUJ5dGVP
cDY0KE9QX01PVl9FQVhJdiwgZHN0KTsKICAgICAgICAgbV9mb3JtYXR0ZXIuaW1tZWRpYXRlNjQo
aW1tKTsKICAgICB9CisgICAgCisgICAgdm9pZCBtb3ZzeGRfcnIoUmVnaXN0ZXJJRCBzcmMsIFJl
Z2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1Bf
TU9WU1hEX0d2RXYsIGRzdCwgc3JjKTsKKyAgICB9CisgICAgCisgICAgCiAjZWxzZQogICAgIHZv
aWQgbW92bF9tcih2b2lkKiBhZGRyLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CkluZGV4OiBqaXQv
SklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBqaXQvSklULmNwcAkocmV2aXNpb24gMzkzODApCisrKyBq
aXQvSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIyLDExICszMjIsMTMgQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgICAgIGVtaXRHZXRWaXJ0dWFs
UmVnaXN0ZXIoc3JjMiwgWDg2OjplYXgpOwogICAgICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nh
c2VJZk5vdEltbU51bShYODY6OmVheCk7CiAgICAgICAgICAgICAgICAgYWRkU2xvd0Nhc2Uoam9B
ZGQzMihJbW0zMihnZXREZVRhZ2dlZENvbnN0YW50SW1tZWRpYXRlKHZhbHVlKSksIFg4Njo6ZWF4
KSk7CisgICAgICAgICAgICAgICAgc2lnbkV4dGVuZDMyVG9QdHIoWDg2OjplYXgsIFg4Njo6ZWF4
KTsKICAgICAgICAgICAgICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCk7CiAgICAgICAg
ICAgICB9IGVsc2UgaWYgKEpTVmFsdWUqIHZhbHVlID0gZ2V0Q29uc3RhbnRJbW1lZGlhdGVOdW1l
cmljQXJnKHNyYzIpKSB7CiAgICAgICAgICAgICAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcihz
cmMxLCBYODY6OmVheCk7CiAgICAgICAgICAgICAgICAgZW1pdEp1bXBTbG93Q2FzZUlmTm90SW1t
TnVtKFg4Njo6ZWF4KTsKICAgICAgICAgICAgICAgICBhZGRTbG93Q2FzZShqb0FkZDMyKEltbTMy
KGdldERlVGFnZ2VkQ29uc3RhbnRJbW1lZGlhdGUodmFsdWUpKSwgWDg2OjplYXgpKTsKKyAgICAg
ICAgICAgICAgICBzaWduRXh0ZW5kMzJUb1B0cihYODY6OmVheCwgWDg2OjplYXgpOwogICAgICAg
ICAgICAgICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoZHN0KTsKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgT3BlcmFuZFR5cGVzIHR5cGVzID0gT3BlcmFuZFR5cGVzOjpm
cm9tSW50KGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQpOwpAQCAtODcwLDE2ICs4NzIs
MTYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgaWYg
KEpTVmFsdWUqIHZhbHVlID0gZ2V0Q29uc3RhbnRJbW1lZGlhdGVOdW1lcmljQXJnKHNyYzEpKSB7
CiAgICAgICAgICAgICAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihzcmMyLCBYODY6OmVheCk7
CiAgICAgICAgICAgICAgICAgZW1pdEp1bXBTbG93Q2FzZUlmTm90SW1tTnVtKFg4Njo6ZWF4KTsK
LSAgICAgICAgICAgICAgICBhbmQzMihJbW0zMihhc0ludGVnZXIodmFsdWUpKSwgWDg2OjplYXgp
OyAvLyBGSVhNRTogbWFrZSBpdCBtb3JlIG9idmlvdXMgdGhpcyBpcyByZWx5aW5nIG9uIHRoZSBm
b3JtYXQgb2YgSlNJbW1lZGlhdGUKKyAgICAgICAgICAgICAgICBhbmRQdHIoSW1tMzIoYXNJbnRl
Z2VyKHZhbHVlKSksIFg4Njo6ZWF4KTsgLy8gRklYTUU6IG1ha2UgaXQgbW9yZSBvYnZpb3VzIHRo
aXMgaXMgcmVseWluZyBvbiB0aGUgZm9ybWF0IG9mIEpTSW1tZWRpYXRlCiAgICAgICAgICAgICAg
ICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihkc3QpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChK
U1ZhbHVlKiB2YWx1ZSA9IGdldENvbnN0YW50SW1tZWRpYXRlTnVtZXJpY0FyZyhzcmMyKSkgewog
ICAgICAgICAgICAgICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoc3JjMSwgWDg2OjplYXgpOwog
ICAgICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bShYODY6OmVheCk7Ci0g
ICAgICAgICAgICAgICAgYW5kMzIoSW1tMzIoYXNJbnRlZ2VyKHZhbHVlKSksIFg4Njo6ZWF4KTsK
KyAgICAgICAgICAgICAgICBhbmRQdHIoSW1tMzIoYXNJbnRlZ2VyKHZhbHVlKSksIFg4Njo6ZWF4
KTsKICAgICAgICAgICAgICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCk7CiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXJzKHNy
YzEsIFg4Njo6ZWF4LCBzcmMyLCBYODY6OmVkeCk7Ci0gICAgICAgICAgICAgICAgYW5kMzIoWDg2
OjplZHgsIFg4Njo6ZWF4KTsKKyAgICAgICAgICAgICAgICBhbmRQdHIoWDg2OjplZHgsIFg4Njo6
ZWF4KTsKICAgICAgICAgICAgICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1OdW0oWDg2Ojpl
YXgpOwogICAgICAgICAgICAgICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoZHN0KTsKICAgICAg
ICAgICAgIH0KQEAgLTkwNyw3ICs5MDksNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWlu
UGFzcygpCiAgICAgICAgIGNhc2Ugb3BfYml0bm90OiB7CiAgICAgICAgICAgICBlbWl0R2V0Vmly
dHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIFg4Njo6ZWF4KTsK
ICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bShYODY6OmVheCk7Ci0gICAg
ICAgICAgICB4b3IzMihJbW0zMih+SlNJbW1lZGlhdGU6OlRhZ0JpdFR5cGVJbnRlZ2VyKSwgWDg2
OjplYXgpOworICAgICAgICAgICAgeG9yUHRyKEltbTMyKH5KU0ltbWVkaWF0ZTo6VGFnQml0VHlw
ZUludGVnZXIpLCBYODY6OmVheCk7CiAgICAgICAgICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVy
KGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpOwogICAgICAgICAgICAgTkVYVF9PUENP
REUob3BfYml0bm90KTsKICAgICAgICAgfQpAQCAtOTkxLDcgKzk5Myw3IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgY2FzZSBvcF9iaXRvcjogewogICAgICAg
ICAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcnMoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3Bl
cmFuZCwgWDg2OjplYXgsIGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQsIFg4Njo6ZWR4
KTsKICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bXMoWDg2OjplYXgsIFg4
Njo6ZWR4LCBYODY6OmVjeCk7Ci0gICAgICAgICAgICBvcjMyKFg4Njo6ZWR4LCBYODY6OmVheCk7
CisgICAgICAgICAgICBvclB0cihYODY6OmVkeCwgWDg2OjplYXgpOwogICAgICAgICAgICAgZW1p
dFB1dFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKICAg
ICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2JpdG9yKTsKICAgICAgICAgfQpJbmRleDogaml0L0pJ
VElubGluZU1ldGhvZHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBqaXQvSklUSW5saW5lTWV0aG9kcy5oCShy
ZXZpc2lvbiAzOTM4MCkKKysrIGppdC9KSVRJbmxpbmVNZXRob2RzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMxOSwxNiArMzE5LDE4IEBAIEFMV0FZU19JTkxJTkUgSklUOjpKdW1wIEpJVDo6ZW1pdEZh
c3RBcmkKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVtaXRGYXN0QXJpdGhSZVRhZ0ltbWVkaWF0
ZShSZWdpc3RlcklEIHJlZykKIHsKICAgICBhZGQzMihJbW0zMihKU0ltbWVkaWF0ZTo6VGFnQml0
VHlwZUludGVnZXIpLCByZWcpOworICAgIHNpZ25FeHRlbmQzMlRvUHRyKHJlZywgcmVnKTsKIH0K
IAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdEZhc3RBcml0aFBvdGVudGlhbGx5UmVUYWdJ
bW1lZGlhdGUoUmVnaXN0ZXJJRCByZWcpCiB7CiAgICAgb3IzMihJbW0zMihKU0ltbWVkaWF0ZTo6
VGFnQml0VHlwZUludGVnZXIpLCByZWcpOworICAgIHNpZ25FeHRlbmQzMlRvUHRyKHJlZywgcmVn
KTsKIH0KIAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdEZhc3RBcml0aEltbVRvSW50KFJl
Z2lzdGVySUQgcmVnKQogewotICAgIHJzaGlmdDMyKEltbTMyKDEpLCByZWcpOworICAgIHJzaGlm
dDMyKEltbTMyKEpTSW1tZWRpYXRlOjpJbnRlZ2VyUGF5bG9hZFNoaWZ0KSwgcmVnKTsKIH0KIAog
QUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdEZhc3RBcml0aEludFRvSW1tT3JTbG93Q2FzZShS
ZWdpc3RlcklEIHJlZykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26132</attachid>
            <date>2008-12-18 16:24:13 -0800</date>
            <delta_ts>2008-12-18 17:59:29 -0800</delta_ts>
            <desc>Down to 1 regression!</desc>
            <filename>patch.jit64imm2.txt</filename>
            <type>text/plain</type>
            <size>12164</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM5Mzgz
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAKKzIwMDgtMTIt
MTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIGZvciB0aGUgSklU
J3MgaGFuZGxpbmcgb2YgSlNJbW1lZGlhdGUgdmFsdWVzIG9uIHg4Ni02NC4KKyAgICAgICAgT24g
NjQtYml0IHN5c3RlbXMsIHRoZSBjb2RlIGluIEpTSW1tZWRpYXRlLmggcmVsaWVzIG9uIHRoZSB1
cHBlcgorICAgICAgICBiaXRzIG9mIGEgSlNJbW1lZGlhdGUgYmVpbmcgYSBzaWduIGV4dGVuc2lv
biBvZiB0aGUgbG93IDMyLWJpdHMuCisgICAgICAgIFRoaXMgd2FzIG5vdCBiZWluZyBlbmZvcmNl
ZCBieSB0aGUgSklULCBzaW5jZSBhIG51bWJlciBvZiBpbmxpbmUKKyAgICAgICAgb3BlcmF0aW9u
cyB3ZXJlIGJlaW5nIHBlcmZvcm1lZCBvbiAzMi1iaXQgdmFsdWVzIGluIHJlZ2lzdGVycywgYW5k
CisgICAgICAgIHdoZW4gYSAzMi1iaXQgcmVzdWx0IGlzIHdyaXR0ZW4gdG8gYSByZWdpc3RlciBv
biB4ODYtNjQgdGhlIHZhbHVlCisgICAgICAgIGlzIHplcm8tZXh0ZW5kZWQgdG8gNjQtYml0cy4K
KyAgICAgICAgCisgICAgICAgIFRoaXMgZml4IGhvbm9ycyBwcmV2aW91cyBiZWhhdm9pci4gIEEg
YmV0dGVyIGZpeCBpbiB0aGUgbG9uZyBydW4KKyAgICAgICAgKHdoZW4gdGhlIEpJVCBpcyBlbmFi
bGVkIGJ5IGRlZmF1bHQpIG1heSBiZSB0byBjaGFuZ2UgSlNJbW1lZGlhdGUuaAorICAgICAgICBz
byBpdCBubyBsb25nZXIgcmVsaWVzIG9uIHRoZSB1cHBlciBiaXRzIG9mIHRoZSBwb2ludGVyLC4u
LiB0aG91Z2gKKyAgICAgICAgaWYgd2UncmUgZ29pZ24gdG8gY2hhbmdlIEpTSW1tZWRpYXRlLmgg
Zm9yIDY0LWJpdCwgd2UgcHJvYmFibHkgbWF5CisgICAgICAgIGFzIHdlbGwgY2hhbmdlIHRoZSBm
b3JtYXQgc28gdGhhdCB0aGUgZnVsbCByYW5nZSBvZiAzMi1iaXQgaW50cyBjYW4KKyAgICAgICAg
YmUgc3RvcmVkLCByYXRoZXIgdGhhbiBqdXN0IDMxLWJpdHMuIFtocnJybSwgbWF5YmUgd2Ugd2Fu
dCAzMy1iaXQKKyAgICAgICAgaW50cywgc28gdGhhdCBhbGwgcmVzdWx0cyBvZiBiaXQtb3BzIGNh
biBiZSByZXByZXNlbnRlZCBpbiBpbW1lZGlhdGUKKyAgICAgICAgZm9ybWF0P10KKworICAgICAg
ICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
Ymxlcjo6YWRkUHRyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OmFuZFB0cik6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyOjpvclB0cik6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyOjpvcjMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnhvcjMyKToK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnhvclB0cik6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyOjpzaWduRXh0ZW5kMzJUb1B0cik6CisgICAgICAgICogYXNzZW1ibGVyL1g4
NkFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6Oik6CisgICAgICAgIChK
U0M6Olg4NkFzc2VtYmxlcjo6YW5kcV9ycik6CisgICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6
YW5kcV9pcik6CisgICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6b3JxX3JyKToKKyAgICAgICAg
KEpTQzo6WDg2QXNzZW1ibGVyOjp4b3JxX2lyKToKKyAgICAgICAgKEpTQzo6WDg2QXNzZW1ibGVy
Ojptb3ZzeGRfcnIpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6
OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVNZXRob2Rz
Lmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdEZhc3RBcml0aFJlVGFnSW1tZWRpYXRlKToKKyAg
ICAgICAgKEpTQzo6SklUOjplbWl0RmFzdEFyaXRoUG90ZW50aWFsbHlSZVRhZ0ltbWVkaWF0ZSk6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdEZhc3RBcml0aEltbVRvSW50KToKKwogMjAwOC0xMi0x
OCAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCShyZXZpc2lvbiAzOTM4
MCkKKysrIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNjks
MTEgKzM2OSwxMCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oWDg2XzY0KQogICAgICAgICBtX2Fz
c2VtYmxlci5hZGRxX2lyKGltbS5tX3ZhbHVlLCBzcmNEZXN0KTsKICNlbHNlCi0gICAgICAgIG1f
YXNzZW1ibGVyLmFkZGxfaXIoaW1tLm1fdmFsdWUsIHNyY0Rlc3QpOworICAgICAgICBhZGQzMihp
bW0sIHNyY0Rlc3QpOwogI2VuZGlmCiAgICAgfQogCi0KICAgICB2b2lkIGFkZFB0cihJbW0zMiBp
bW0sIFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fz
c2VtYmxlci5sZWFsX21yKGltbS5tX3ZhbHVlLCBzcmMsIGRlc3QpOwpAQCAtNDA0LDYgKzQwMywy
NCBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmFuZGxfaXIoaW1tLm1fdmFsdWUsIGRl
c3QpOwogICAgIH0KIAorICAgIHZvaWQgYW5kUHRyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklE
IGRlc3QpCisgICAgeworI2lmIFBMQVRGT1JNKFg4Nl82NCkKKyAgICAgICAgbV9hc3NlbWJsZXIu
YW5kcV9ycihzcmMsIGRlc3QpOworI2Vsc2UKKyAgICAgICAgYW5kMzIoc3JjLCBkZXN0KTsKKyNl
bmRpZgorICAgIH0KKworICAgIHZvaWQgYW5kUHRyKEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzcmNE
ZXN0KQorICAgIHsKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgICAgIG1fYXNzZW1ibGVyLmFu
ZHFfaXIoaW1tLm1fdmFsdWUsIHNyY0Rlc3QpOworI2Vsc2UKKyAgICAgICAgYW5kMzIoaW1tLCBz
cmNEZXN0KTsKKyNlbmRpZgorICAgIH0KKwogICAgIHZvaWQgbHNoaWZ0MzIoSW1tMzIgaW1tLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5zaGxsX2k4cihpbW0u
bV92YWx1ZSwgZGVzdCk7CkBAIC00NjAsOSArNDc3LDE4IEBAIHB1YmxpYzoKICAgICAgICAgbV9h
c3NlbWJsZXIub3JsX3JyKHNyYywgZGVzdCk7CiAgICAgfQogCisgICAgdm9pZCBvclB0cihSZWdp
c3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyNpZiBQTEFURk9STShYODZfNjQp
CisgICAgICAgIG1fYXNzZW1ibGVyLm9ycV9ycihzcmMsIGRlc3QpOworI2Vsc2UKKyAgICAgICAg
b3IzMihzcmMsIGRlc3QpOworI2VuZGlmCisgICAgfQorCiAgICAgdm9pZCBvcjMyKEltbTMyIGlt
bSwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLm9ybF9p
cihpbW0ubV92YWx1ZSwgZGVzdCk7CisgICAgICAgIG1fYXNzZW1ibGVyLm9ybF9pcihpbW0ubV92
YWx1ZSwgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCByc2hpZnQzMihJbW0zMiBpbW0sIFJlZ2lz
dGVySUQgZGVzdCkKQEAgLTUwNywxMSArNTMzLDIwIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3Nl
bWJsZXIueG9ybF9ycihzcmMsIGRlc3QpOwogICAgIH0KIAotICAgIHZvaWQgeG9yMzIoSW1tMzIg
aW1tLCBSZWdpc3RlcklEIGRlc3QpCisgICAgdm9pZCB4b3IzMihJbW0zMiBpbW0sIFJlZ2lzdGVy
SUQgc3JjRGVzdCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLnhvcmxfaXIoaW1tLm1fdmFs
dWUsIGRlc3QpOworICAgICAgICBtX2Fzc2VtYmxlci54b3JsX2lyKGltbS5tX3ZhbHVlLCBzcmNE
ZXN0KTsKICAgICB9CiAgICAgCisgICAgdm9pZCB4b3JQdHIoSW1tMzIgaW1tLCBSZWdpc3RlcklE
IHNyY0Rlc3QpCisgICAgeworI2lmIFBMQVRGT1JNKFg4Nl82NCkKKyAgICAgICAgbV9hc3NlbWJs
ZXIueG9ycV9pcihpbW0ubV92YWx1ZSwgc3JjRGVzdCk7CisjZWxzZQorICAgICAgICB4b3IzMihp
bW0sIHNyY0Rlc3QpOworI2VuZGlmCisgICAgfQorCiAKICAgICAvLyBNZW1vcnkgYWNjZXNzIG9w
ZXJhdGlvbnM6CiAgICAgLy8KQEAgLTczOCw2ICs3NzMsMTcgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgfQogCisgICAgdm9pZCBzaWduRXh0ZW5kMzJUb1B0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHsKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgICAgIG1fYXNzZW1i
bGVyLm1vdnN4ZF9ycihzcmMsIGRlc3QpOworI2Vsc2UKKyAgICAgICAgaWYgKHNyYyAhPSBkZXN0
KQorICAgICAgICAgICAgbW92ZShzcmMsIGRlc3QpOworI2VuZGlmCisgICAgfQorCisKIAogICAg
IC8vIEZvcndhcmRzIC8gZXh0ZXJuYWwgY29udHJvbCBmbG93IG9wZXJhdGlvbnM6CiAgICAgLy8K
SW5kZXg6IGFzc2VtYmxlci9YODZBc3NlbWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBhc3NlbWJsZXIv
WDg2QXNzZW1ibGVyLmgJKHJldmlzaW9uIDM5MzgwKQorKysgYXNzZW1ibGVyL1g4NkFzc2VtYmxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2ICs5Nyw5IEBAIHB1YmxpYzoKICNlbmRpZgogICAg
ICAgICBPUF9QVVNIX0VBWCAgICAgICAgICAgICAgICAgICAgID0gMHg1MCwKICAgICAgICAgT1Bf
UE9QX0VBWCAgICAgICAgICAgICAgICAgICAgICA9IDB4NTgsCisjaWYgUExBVEZPUk0oWDg2XzY0
KQorICAgICAgICBPUF9NT1ZTWERfR3ZFdiAgICAgICAgICAgICAgICAgID0gMHg2MywKKyNlbmRp
ZgogICAgICAgICBQUkVfT1BFUkFORF9TSVpFICAgICAgICAgICAgICAgID0gMHg2NiwKICAgICAg
ICAgUFJFX1NTRV82NiAgICAgICAgICAgICAgICAgICAgICA9IDB4NjYsCiAgICAgICAgIE9QX1BV
U0hfSXogICAgICAgICAgICAgICAgICAgICAgPSAweDY4LApAQCAtMzIyLDYgKzMyNSwyNCBAQCBw
dWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgdm9p
ZCBhbmRxX3JyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAg
IG1fZm9ybWF0dGVyLm9uZUJ5dGVPcDY0KE9QX0FORF9Fdkd2LCBzcmMsIGRzdCk7CisgICAgfQor
CisgICAgdm9pZCBhbmRxX2lyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAg
ICAgaWYgKENBTl9TSUdOX0VYVEVORF84XzMyKGltbSkpIHsKKyAgICAgICAgICAgIG1fZm9ybWF0
dGVyLm9uZUJ5dGVPcDY0KE9QX0dST1VQMV9FdkliLCBHUk9VUDFfT1BfQU5ELCBkc3QpOworICAg
ICAgICAgICAgbV9mb3JtYXR0ZXIuaW1tZWRpYXRlOChpbW0pOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1BfR1JPVVAxX0V2SXosIEdST1VQ
MV9PUF9BTkQsIGRzdCk7CisgICAgICAgICAgICBtX2Zvcm1hdHRlci5pbW1lZGlhdGUzMihpbW0p
OworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIG9ybF9ycihSZWdpc3RlcklE
IHNyYywgUmVnaXN0ZXJJRCBkc3QpCiAgICAgewogICAgICAgICBtX2Zvcm1hdHRlci5vbmVCeXRl
T3AoT1BfT1JfRXZHdiwgc3JjLCBkc3QpOwpAQCAtMzQzLDYgKzM2NCwxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIH0KICAgICB9CiAKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgdm9pZCBvcnFfcnIo
UmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9mb3JtYXR0
ZXIub25lQnl0ZU9wNjQoT1BfT1JfRXZHdiwgc3JjLCBkc3QpOworICAgIH0KKyNlbmRpZgorCiAg
ICAgdm9pZCBzdWJsX3JyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CiAg
ICAgICAgIG1fZm9ybWF0dGVyLm9uZUJ5dGVPcChPUF9TVUJfRXZHdiwgc3JjLCBkc3QpOwpAQCAt
MzkzLDYgKzQyMSwxOSBAQCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAKKyNpZiBQTEFURk9S
TShYODZfNjQpCisgICAgdm9pZCB4b3JxX2lyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQorICAg
IHsKKyAgICAgICAgaWYgKENBTl9TSUdOX0VYVEVORF84XzMyKGltbSkpIHsKKyAgICAgICAgICAg
IG1fZm9ybWF0dGVyLm9uZUJ5dGVPcDY0KE9QX0dST1VQMV9FdkliLCBHUk9VUDFfT1BfWE9SLCBk
c3QpOworICAgICAgICAgICAgbV9mb3JtYXR0ZXIuaW1tZWRpYXRlOChpbW0pOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1BfR1JPVVAxX0V2
SXosIEdST1VQMV9PUF9YT1IsIGRzdCk7CisgICAgICAgICAgICBtX2Zvcm1hdHRlci5pbW1lZGlh
dGUzMihpbW0pOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIHNhcmxfaThy
KGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgaWYgKGltbSA9PSAxKQpA
QCAtNzM5LDYgKzc4MCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIG1fZm9ybWF0dGVyLm9uZUJ5dGVP
cDY0KE9QX01PVl9FQVhJdiwgZHN0KTsKICAgICAgICAgbV9mb3JtYXR0ZXIuaW1tZWRpYXRlNjQo
aW1tKTsKICAgICB9CisgICAgCisgICAgdm9pZCBtb3ZzeGRfcnIoUmVnaXN0ZXJJRCBzcmMsIFJl
Z2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1Bf
TU9WU1hEX0d2RXYsIGRzdCwgc3JjKTsKKyAgICB9CisgICAgCisgICAgCiAjZWxzZQogICAgIHZv
aWQgbW92bF9tcih2b2lkKiBhZGRyLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CkluZGV4OiBqaXQv
SklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBqaXQvSklULmNwcAkocmV2aXNpb24gMzkzODApCisrKyBq
aXQvSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIyLDExICszMjIsMTMgQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgICAgIGVtaXRHZXRWaXJ0dWFs
UmVnaXN0ZXIoc3JjMiwgWDg2OjplYXgpOwogICAgICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nh
c2VJZk5vdEltbU51bShYODY6OmVheCk7CiAgICAgICAgICAgICAgICAgYWRkU2xvd0Nhc2Uoam9B
ZGQzMihJbW0zMihnZXREZVRhZ2dlZENvbnN0YW50SW1tZWRpYXRlKHZhbHVlKSksIFg4Njo6ZWF4
KSk7CisgICAgICAgICAgICAgICAgc2lnbkV4dGVuZDMyVG9QdHIoWDg2OjplYXgsIFg4Njo6ZWF4
KTsKICAgICAgICAgICAgICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCk7CiAgICAgICAg
ICAgICB9IGVsc2UgaWYgKEpTVmFsdWUqIHZhbHVlID0gZ2V0Q29uc3RhbnRJbW1lZGlhdGVOdW1l
cmljQXJnKHNyYzIpKSB7CiAgICAgICAgICAgICAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcihz
cmMxLCBYODY6OmVheCk7CiAgICAgICAgICAgICAgICAgZW1pdEp1bXBTbG93Q2FzZUlmTm90SW1t
TnVtKFg4Njo6ZWF4KTsKICAgICAgICAgICAgICAgICBhZGRTbG93Q2FzZShqb0FkZDMyKEltbTMy
KGdldERlVGFnZ2VkQ29uc3RhbnRJbW1lZGlhdGUodmFsdWUpKSwgWDg2OjplYXgpKTsKKyAgICAg
ICAgICAgICAgICBzaWduRXh0ZW5kMzJUb1B0cihYODY6OmVheCwgWDg2OjplYXgpOwogICAgICAg
ICAgICAgICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoZHN0KTsKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgT3BlcmFuZFR5cGVzIHR5cGVzID0gT3BlcmFuZFR5cGVzOjpm
cm9tSW50KGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQpOwpAQCAtNzU3LDkgKzc1OSw5
IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgfQogICAgICAg
ICBjYXNlIG9wX25vdDogewogICAgICAgICAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCBYODY6OmVheCk7Ci0gICAgICAgICAgICB4b3Iz
MihJbW0zMihKU0ltbWVkaWF0ZTo6RnVsbFRhZ1R5cGVCb29sKSwgWDg2OjplYXgpOworICAgICAg
ICAgICAgeG9yUHRyKEltbTMyKEpTSW1tZWRpYXRlOjpGdWxsVGFnVHlwZUJvb2wpLCBYODY6OmVh
eCk7CiAgICAgICAgICAgICBhZGRTbG93Q2FzZShqbnozMihYODY6OmVheCwgSW1tMzIoSlNJbW1l
ZGlhdGU6OkZ1bGxUYWdUeXBlTWFzaykpKTsKLSAgICAgICAgICAgIHhvcjMyKEltbTMyKEpTSW1t
ZWRpYXRlOjpGdWxsVGFnVHlwZUJvb2wgfCBKU0ltbWVkaWF0ZTo6RXh0ZW5kZWRQYXlsb2FkQml0
Qm9vbFZhbHVlKSwgWDg2OjplYXgpOworICAgICAgICAgICAgeG9yUHRyKEltbTMyKEpTSW1tZWRp
YXRlOjpGdWxsVGFnVHlwZUJvb2wgfCBKU0ltbWVkaWF0ZTo6RXh0ZW5kZWRQYXlsb2FkQml0Qm9v
bFZhbHVlKSwgWDg2OjplYXgpOwogICAgICAgICAgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKICAgICAgICAgICAgIE5FWFRfT1BDT0RF
KG9wX25vdCk7CiAgICAgICAgIH0KQEAgLTg3MCwxNiArODcyLDE2IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgICAgIGlmIChKU1ZhbHVlKiB2YWx1ZSA9IGdl
dENvbnN0YW50SW1tZWRpYXRlTnVtZXJpY0FyZyhzcmMxKSkgewogICAgICAgICAgICAgICAgIGVt
aXRHZXRWaXJ0dWFsUmVnaXN0ZXIoc3JjMiwgWDg2OjplYXgpOwogICAgICAgICAgICAgICAgIGVt
aXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bShYODY6OmVheCk7Ci0gICAgICAgICAgICAgICAgYW5k
MzIoSW1tMzIoYXNJbnRlZ2VyKHZhbHVlKSksIFg4Njo6ZWF4KTsgLy8gRklYTUU6IG1ha2UgaXQg
bW9yZSBvYnZpb3VzIHRoaXMgaXMgcmVseWluZyBvbiB0aGUgZm9ybWF0IG9mIEpTSW1tZWRpYXRl
CisgICAgICAgICAgICAgICAgYW5kUHRyKEltbTMyKGFzSW50ZWdlcih2YWx1ZSkpLCBYODY6OmVh
eCk7IC8vIEZJWE1FOiBtYWtlIGl0IG1vcmUgb2J2aW91cyB0aGlzIGlzIHJlbHlpbmcgb24gdGhl
IGZvcm1hdCBvZiBKU0ltbWVkaWF0ZQogICAgICAgICAgICAgICAgIGVtaXRQdXRWaXJ0dWFsUmVn
aXN0ZXIoZHN0KTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoSlNWYWx1ZSogdmFsdWUgPSBnZXRD
b25zdGFudEltbWVkaWF0ZU51bWVyaWNBcmcoc3JjMikpIHsKICAgICAgICAgICAgICAgICBlbWl0
R2V0VmlydHVhbFJlZ2lzdGVyKHNyYzEsIFg4Njo6ZWF4KTsKICAgICAgICAgICAgICAgICBlbWl0
SnVtcFNsb3dDYXNlSWZOb3RJbW1OdW0oWDg2OjplYXgpOwotICAgICAgICAgICAgICAgIGFuZDMy
KEltbTMyKGFzSW50ZWdlcih2YWx1ZSkpLCBYODY6OmVheCk7CisgICAgICAgICAgICAgICAgYW5k
UHRyKEltbTMyKGFzSW50ZWdlcih2YWx1ZSkpLCBYODY6OmVheCk7CiAgICAgICAgICAgICAgICAg
ZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihkc3QpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVycyhzcmMxLCBYODY6OmVheCwgc3JjMiwg
WDg2OjplZHgpOwotICAgICAgICAgICAgICAgIGFuZDMyKFg4Njo6ZWR4LCBYODY6OmVheCk7Cisg
ICAgICAgICAgICAgICAgYW5kUHRyKFg4Njo6ZWR4LCBYODY6OmVheCk7CiAgICAgICAgICAgICAg
ICAgZW1pdEp1bXBTbG93Q2FzZUlmTm90SW1tTnVtKFg4Njo6ZWF4KTsKICAgICAgICAgICAgICAg
ICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCk7CiAgICAgICAgICAgICB9CkBAIC05MDcsNyAr
OTA5LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBjYXNl
IG9wX2JpdG5vdDogewogICAgICAgICAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50
SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCBYODY6OmVheCk7CiAgICAgICAgICAgICBlbWl0SnVt
cFNsb3dDYXNlSWZOb3RJbW1OdW0oWDg2OjplYXgpOwotICAgICAgICAgICAgeG9yMzIoSW1tMzIo
fkpTSW1tZWRpYXRlOjpUYWdCaXRUeXBlSW50ZWdlciksIFg4Njo6ZWF4KTsKKyAgICAgICAgICAg
IHhvclB0cihJbW0zMih+SlNJbW1lZGlhdGU6OlRhZ0JpdFR5cGVJbnRlZ2VyKSwgWDg2OjplYXgp
OwogICAgICAgICAgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKTsKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2JpdG5vdCk7CiAgICAg
ICAgIH0KQEAgLTk5MSw3ICs5OTMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFz
cygpCiAgICAgICAgIGNhc2Ugb3BfYml0b3I6IHsKICAgICAgICAgICAgIGVtaXRHZXRWaXJ0dWFs
UmVnaXN0ZXJzKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIFg4Njo6ZWF4LCBjdXJy
ZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kLCBYODY6OmVkeCk7CiAgICAgICAgICAgICBlbWl0
SnVtcFNsb3dDYXNlSWZOb3RJbW1OdW1zKFg4Njo6ZWF4LCBYODY6OmVkeCwgWDg2OjplY3gpOwot
ICAgICAgICAgICAgb3IzMihYODY6OmVkeCwgWDg2OjplYXgpOworICAgICAgICAgICAgb3JQdHIo
WDg2OjplZHgsIFg4Njo6ZWF4KTsKICAgICAgICAgICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIo
Y3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7CiAgICAgICAgICAgICBORVhUX09QQ09E
RShvcF9iaXRvcik7CiAgICAgICAgIH0KQEAgLTE1NjksNyArMTU3MSw3IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAgICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9ub3Q6
IHsKICAgICAgICAgICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKLSAgICAgICAgICAgIHhvcjMyKElt
bTMyKEpTSW1tZWRpYXRlOjpGdWxsVGFnVHlwZUJvb2wpLCBYODY6OmVheCk7CisgICAgICAgICAg
ICB4b3JQdHIoSW1tMzIoSlNJbW1lZGlhdGU6OkZ1bGxUYWdUeXBlQm9vbCksIFg4Njo6ZWF4KTsK
ICAgICAgICAgICAgIGVtaXRQdXRKSVRTdHViQXJnKFg4Njo6ZWF4LCAxKTsKICAgICAgICAgICAg
IGVtaXRDVElDYWxsKEludGVycHJldGVyOjpjdGlfb3Bfbm90KTsKICAgICAgICAgICAgIGVtaXRQ
dXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7CkluZGV4
OiBqaXQvSklUSW5saW5lTWV0aG9kcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGppdC9KSVRJbmxpbmVNZXRo
b2RzLmgJKHJldmlzaW9uIDM5MzgwKQorKysgaml0L0pJVElubGluZU1ldGhvZHMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzE5LDE2ICszMTksMTggQEAgQUxXQVlTX0lOTElORSBKSVQ6Okp1bXAgSklU
OjplbWl0RmFzdEFyaQogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdEZhc3RBcml0aFJlVGFn
SW1tZWRpYXRlKFJlZ2lzdGVySUQgcmVnKQogewogICAgIGFkZDMyKEltbTMyKEpTSW1tZWRpYXRl
OjpUYWdCaXRUeXBlSW50ZWdlciksIHJlZyk7CisgICAgc2lnbkV4dGVuZDMyVG9QdHIocmVnLCBy
ZWcpOwogfQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0RmFzdEFyaXRoUG90ZW50aWFs
bHlSZVRhZ0ltbWVkaWF0ZShSZWdpc3RlcklEIHJlZykKIHsKICAgICBvcjMyKEltbTMyKEpTSW1t
ZWRpYXRlOjpUYWdCaXRUeXBlSW50ZWdlciksIHJlZyk7CisgICAgc2lnbkV4dGVuZDMyVG9QdHIo
cmVnLCByZWcpOwogfQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0RmFzdEFyaXRoSW1t
VG9JbnQoUmVnaXN0ZXJJRCByZWcpCiB7Ci0gICAgcnNoaWZ0MzIoSW1tMzIoMSksIHJlZyk7Cisg
ICAgcnNoaWZ0MzIoSW1tMzIoSlNJbW1lZGlhdGU6OkludGVnZXJQYXlsb2FkU2hpZnQpLCByZWcp
OwogfQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0RmFzdEFyaXRoSW50VG9JbW1PclNs
b3dDYXNlKFJlZ2lzdGVySUQgcmVnKQo=
</data>
<flag name="review"
          id="12335"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>