<?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>72938</bug_id>
          
          <creation_ts>2011-11-22 04:14:35 -0800</creation_ts>
          <short_desc>Use more macrology in JSC::Options</short_desc>
          <delta_ts>2011-12-18 03:41:06 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>72889</dependson>
          <blocked>74498</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Andy Wingo">wingo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>507506</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-22 04:14:35 -0800</bug_when>
    <thetext>Use more macrology in JSC::Options</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507508</commentid>
    <comment_count>1</comment_count>
      <attachid>116200</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-22 04:17:44 -0800</bug_when>
    <thetext>Created attachment 116200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507510</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-22 04:21:59 -0800</bug_when>
    <thetext>Of course, I look over the patch 10 times, but only notice a error after uploading.  Pushing a fix shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507511</commentid>
    <comment_count>3</comment_count>
      <attachid>116201</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-22 04:26:38 -0800</bug_when>
    <thetext>Created attachment 116201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507797</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-22 13:39:53 -0800</bug_when>
    <thetext>Ahhh, this looks good.  I&apos;ll r+ once the other patch lands and we can see that the bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510831</commentid>
    <comment_count>5</comment_count>
      <attachid>116980</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-29 09:10:09 -0800</bug_when>
    <thetext>Created attachment 116980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510868</commentid>
    <comment_count>6</comment_count>
      <attachid>116987</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-29 09:50:02 -0800</bug_when>
    <thetext>Created attachment 116987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519098</commentid>
    <comment_count>7</comment_count>
      <attachid>118762</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-12-12 03:19:22 -0800</bug_when>
    <thetext>Created attachment 118762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521862</commentid>
    <comment_count>8</comment_count>
      <attachid>119418</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-12-15 06:23:53 -0800</bug_when>
    <thetext>Created attachment 119418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521864</commentid>
    <comment_count>9</comment_count>
      <attachid>119418</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-12-15 06:24:33 -0800</bug_when>
    <thetext>Comment on attachment 119418
Patch

Same patch, resubmitted to give EWS a crack at it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522198</commentid>
    <comment_count>10</comment_count>
      <attachid>119418</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-15 13:29:52 -0800</bug_when>
    <thetext>Comment on attachment 119418
Patch

Clearing flags on attachment: 119418

Committed r102978: &lt;http://trac.webkit.org/changeset/102978&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522199</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-15 13:29:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523418</commentid>
    <comment_count>12</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-18 00:51:52 -0800</bug_when>
    <thetext>This was a bad idea. Now if I want to change one of the options, I have to wait for the whole world to rebuild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523429</commentid>
    <comment_count>13</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-12-18 03:41:06 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; This was a bad idea. Now if I want to change one of the options, I have to wait for the whole world to rebuild.

Ah, bummer.

OTOH with the command-line patch from 74498, you can do so at runtime.  Doesn&apos;t solve this issue, though.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116200</attachid>
            <date>2011-11-22 04:17:44 -0800</date>
            <delta_ts>2011-11-22 04:26:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72938-20111122131742.patch</filename>
            <type>text/plain</type>
            <size>12034</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ODlmZjgxMTE0Y2U3YjQ0ZTFmMmQzNmJjNjUxYTVkZDg0MDhhNTYwLi43MTMzMmE2MDM4OTU2MWMz
MzkzMjNjNmIwZDMyMzhhYzJkMjg0YWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNyBAQAogMjAxMS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQGlnYWxpYS5jb20+CiAK
KyAgICAgICAgVXNlIG1vcmUgbWFjcm9sb2d5IGluIEpTQzo6T3B0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5jcHA6
CisgICAgICAgIChKU0M6Ok9wdGlvbnM6OmluaXRpYWxpemVPcHRpb25zKToKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDogVXNlIG1hY3JvcyB0byBlbnN1cmUgdGhhdCBhbGwgaGV1cmlzdGlj
cyBhcmUKKyAgICAgICAgZGVjbGFyZWQgYW5kIGhhdmUgaW5pdGlhbGl6ZXJzLgorCisyMDExLTEx
LTIyICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwogICAgICAgICBSZW5hbWUgSlND
OjpIZXVyaXN0aWNzIHRvIEpTQzo6T3B0aW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmNwcAppbmRleCBhMDBkYjljN2Y2YjJiNWYxNGQwNWE3ZjhiNGNmZTA4ZjA5MTJh
MmJhLi41ZjZjOWIzY2Q5NTE4MDY2YjVjYTVjYjk4OTY3ODVmZDY0NmMwODYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcApAQCAtNDQsNDggKzQ0LDkgQEAKIAog
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBPcHRpb25zIHsKIAotdW5zaWduZWQgbWF4aW11bUV2
YWxPcHRpbWl6YXRpb25DYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotdW5zaWduZWQgbWF4aW11
bVByb2dyYW1PcHRpbWl6YXRpb25DYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotdW5zaWduZWQg
bWF4aW11bUZ1bmN0aW9uRm9yQ2FsbE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291
bnQ7Ci11bnNpZ25lZCBtYXhpbXVtRnVuY3Rpb25Gb3JDb25zdHJ1Y3RPcHRpbWl6YXRpb25DYW5k
aWRhdGVJbnN0cnVjdGlvbkNvdW50OwotCi11bnNpZ25lZCBtYXhpbXVtRnVuY3Rpb25Gb3JDYWxs
SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudDsKLXVuc2lnbmVkIG1heGltdW1GdW5jdGlv
bkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7Ci0KLXVuc2lnbmVk
IG1heGltdW1JbmxpbmluZ0RlcHRoOwotCi1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZv
ck9wdGltaXplQWZ0ZXJXYXJtVXA7Ci1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9w
dGltaXplQWZ0ZXJMb25nV2FybVVwOwotaW50MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JE
b250T3B0aW1pemVBbnl0aW1lU29vbjsKLWludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVlRm9y
T3B0aW1pemVTb29uOwotaW50MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZU5l
eHRJbnZvY2F0aW9uOwotCi1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JMb29w
OwotaW50MzJfdCBleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yUmV0dXJuOwotCi11bnNpZ25l
ZCBkZXNpcmVkU3BlY3VsYXRpdmVTdWNjZXNzRmFpbFJhdGlvOwotCi11bnNpZ25lZCBsaWtlbHlU
b1Rha2VTbG93Q2FzZVRocmVzaG9sZDsKLXVuc2lnbmVkIGNvdWxkVGFrZVNsb3dDYXNlVGhyZXNo
b2xkOwotCi11bnNpZ25lZCBsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2U7Ci11bnNpZ25lZCBs
YXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2VGb3JMb29wOwotCi11bnNpZ25lZCByZW9wdGltaXph
dGlvblJldHJ5Q291bnRlck1heDsKLXVuc2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVy
U3RlcDsKLQotdW5zaWduZWQgbWluaW11bU9wdGltaXphdGlvbkRlbGF5OwotdW5zaWduZWQgbWF4
aW11bU9wdGltaXphdGlvbkRlbGF5OwotZG91YmxlIGRlc2lyZWRQcm9maWxlTGl2ZW5lc3NSYXRl
OwotZG91YmxlIGRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlOwotCi11bnNpZ25lZCBtaW5pbXVt
TnVtYmVyT2ZTY2Fuc0JldHdlZW5SZWJhbGFuY2U7Ci11bnNpZ25lZCBnY01hcmtTdGFja1NlZ21l
bnRTaXplOwotdW5zaWduZWQgbWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXA7Ci11bnNpZ25lZCBt
YXhpbXVtTnVtYmVyT2ZTaGFyZWRTZWdtZW50czsKLXVuc2lnbmVkIHNoYXJlZFN0YWNrV2FrZXVw
VGhyZXNob2xkOwotdW5zaWduZWQgbnVtYmVyT2ZHQ01hcmtlcnM7Ci11bnNpZ25lZCBvcGFxdWVS
b290TWVyZ2VUaHJlc2hvbGQ7CisjZGVmaW5lIERFRklORSh0eXBlLCBjbmFtZSwgZGVmYXVsdF92
YWwpIHR5cGUgY25hbWU7CitGT1JfRUFDSF9IRVVSSVNUSUMoREVGSU5FKQorI3VuZGVmIERFRklO
RQogCiAjaWYgRU5BQkxFKFJVTl9USU1FX0hFVVJJU1RJQ1MpCiBzdGF0aWMgYm9vbCBwYXJzZShj
b25zdCBjaGFyKiBzdHJpbmcsIGludDMyX3QmIHZhbHVlKQpAQCAtMTI2LDY3ICs4NywzNSBAQCB2
b2lkIHNldEhldXJpc3RpYyhUJiB2YXJpYWJsZSwgY29uc3QgY2hhciogbmFtZSwgVSB2YWx1ZSkK
IAogdm9pZCBpbml0aWFsaXplT3B0aW9ucygpCiB7Ci0gICAgLy8gRklYTUU6IE11c3QgcmV2aXNp
dCB0aGVzZSBoZXVyaXN0aWNzISBUaGUgREZHLCBiZWluZyBhbiBvcHRpbWl6aW5nIGNvbXBpbGVy
LCBtYXkKLSAgICAvLyB0YWtlIGEgbG9uZyB0aW1lIGZvciBwYXRob2xvZ2ljYWxseSBodWdlIGNv
ZGUgYmxvY2tzLiBUaGUgYmVzdCB3YXkgdG8gY29wZSB3aXRoCi0gICAgLy8gdGhpcyBpcyB0byBy
ZWZ1c2UgdG8gb3B0aW1pemUgdGhlbS4KLSAgICBTRVQobWF4aW11bUV2YWxPcHRpbWl6YXRpb25D
YW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50LCAgICAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKTsKLSAgICBTRVQobWF4aW11bVByb2dyYW1PcHRpbWl6YXRp
b25DYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50LCAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKTsKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9uRm9yQ2FsbE9w
dGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsICAgICAgc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKTsKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9uRm9yQ29uc3Ry
dWN0T3B0aW1pemF0aW9uQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKTsKLSAgICAKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9uRm9y
Q2FsbElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDE1MCk7Ci0gICAgU0VUKG1heGlt
dW1GdW5jdGlvbkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDgw
KTsKLSAgICAKLSAgICBTRVQobWF4aW11bUlubGluaW5nRGVwdGgsIDUpOwotCi0gICAgU0VUKGV4
ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJtVXAsICAgICAtMTAwMCk7Ci0g
ICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwLCAt
NTAwMCk7Ci0gICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6ZUFueXRp
bWVTb29uLCBzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptaW4oKSk7Ci0gICAgU0VUKGV4
ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplU29vbiwgICAgICAgICAgICAtMTAwMCk7Ci0g
ICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplTmV4dEludm9jYXRpb24sICAw
KTsKKyNkZWZpbmUgSU5JVCh0eXBlLCBjbmFtZSwgZGVmYXVsdF92YWwpIFNFVChjbmFtZSwgZGVm
YXVsdF92YWwpOworICAgIEZPUl9FQUNIX0hFVVJJU1RJQyhJTklUKQorI3VuZGVmIElOSVQKIAot
ICAgIFNFVChleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yTG9vcCwgICAxKTsKLSAgICBTRVQo
ZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZvclJldHVybiwgMTUpOwotCi0gICAgU0VUKGRlc2ly
ZWRTcGVjdWxhdGl2ZVN1Y2Nlc3NGYWlsUmF0aW8sIDYpOwotICAgIAotICAgIFNFVChsaWtlbHlU
b1Rha2VTbG93Q2FzZVRocmVzaG9sZCwgMTAwKTsKLSAgICBTRVQoY291bGRUYWtlU2xvd0Nhc2VU
aHJlc2hvbGQsICAgIDEwKTsgLy8gU2hvdWxkbid0IGJlIHplcm8gYmVjYXVzZSBzb21lIG9wcyB3
aWxsIHNwdXJpb3VzbHkgdGFrZSBzbG93IGNhc2UsIGZvciBleGFtcGxlIGZvciBsaW5raW5nIG9y
IGNhY2hpbmcuCisgICAgLy8gTm93IHdlIGluaXRpYWxpemUgaGV1cmlzdGljcyB3aG9zZSBkZWZh
dWx0cyBhcmUgbm90IGtub3duIGF0CisgICAgLy8gY29tcGlsZS10aW1lLgogCi0gICAgU0VUKGxh
cmdlRmFpbENvdW50VGhyZXNob2xkQmFzZSwgICAgICAgIDIwKTsKLSAgICBTRVQobGFyZ2VGYWls
Q291bnRUaHJlc2hvbGRCYXNlRm9yTG9vcCwgMSk7CisgICAgaWYgKCFnY01hcmtTdGFja1NlZ21l
bnRTaXplKQorICAgICAgICBnY01hcmtTdGFja1NlZ21lbnRTaXplID0gcGFnZVNpemUoKTsKIAot
ICAgIFNFVChyZW9wdGltaXphdGlvblJldHJ5Q291bnRlclN0ZXAsIDEpOwotCi0gICAgU0VUKG1p
bmltdW1PcHRpbWl6YXRpb25EZWxheSwgICAxKTsKLSAgICBTRVQobWF4aW11bU9wdGltaXphdGlv
bkRlbGF5LCAgIDUpOwotICAgIFNFVChkZXNpcmVkUHJvZmlsZUxpdmVuZXNzUmF0ZSwgMC43NSk7
Ci0gICAgU0VUKGRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlLCAwLjM1KTsKLSAgICAKLSAgICBT
RVQobWluaW11bU51bWJlck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNlLCAxMDAwMCk7Ci0gICAgU0VU
KGdjTWFya1N0YWNrU2VnbWVudFNpemUsICAgICAgICAgICAgICAgcGFnZVNpemUoKSk7Ci0gICAg
U0VUKG1pbmltdW1OdW1iZXJPZkNlbGxzVG9LZWVwLCAgICAgICAgICAgMTApOwotICAgIFNFVCht
YXhpbXVtTnVtYmVyT2ZTaGFyZWRTZWdtZW50cywgICAgICAgIDMpOwotICAgIFNFVChzaGFyZWRT
dGFja1dha2V1cFRocmVzaG9sZCwgICAgICAgICAgIDEpOwotICAgIFNFVChvcGFxdWVSb290TWVy
Z2VUaHJlc2hvbGQsICAgICAgICAgICAgIDEwMDApOwotCi0gICAgaW50IGNwdXNUb1VzZSA9IDE7
CisgICAgaWYgKCFudW1iZXJPZkdDTWFya2VycykgeworICAgICAgICBpbnQgY3B1c1RvVXNlID0g
MTsKICNpZiBPUyhEQVJXSU4pICYmIEVOQUJMRShQQVJBTExFTF9HQykKLSAgICBpbnQgbmFtZVsy
XTsKLSAgICBzaXplX3QgdmFsdWVTaXplID0gc2l6ZW9mKGNwdXNUb1VzZSk7Ci0gICAgbmFtZVsw
XSA9IENUTF9IVzsKLSAgICBuYW1lWzFdID0gSFdfQVZBSUxDUFU7Ci0gICAgc3lzY3RsKG5hbWUs
IDIsICZjcHVzVG9Vc2UsICZ2YWx1ZVNpemUsIDAsIDApOworICAgICAgICBpbnQgbmFtZVsyXTsK
KyAgICAgICAgc2l6ZV90IHZhbHVlU2l6ZSA9IHNpemVvZihjcHVzVG9Vc2UpOworICAgICAgICBu
YW1lWzBdID0gQ1RMX0hXOworICAgICAgICBuYW1lWzFdID0gSFdfQVZBSUxDUFU7CisgICAgICAg
IHN5c2N0bChuYW1lLCAyLCAmY3B1c1RvVXNlLCAmdmFsdWVTaXplLCAwLCAwKTsKICNlbmRpZgot
ICAgIC8vIFdlIGRvbid0IHNjYWxlIHNvIHdlbGwgYmV5b25kIDQuCi0gICAgaWYgKGNwdXNUb1Vz
ZSA+IDQpCi0gICAgICAgIGNwdXNUb1VzZSA9IDQ7Ci0gICAgLy8gQmUgcGFyYW5vaWQsIGl0IGlz
IHRoZSBPUyB3ZSdyZSBkZWFsaW5nIHdpdGgsIGFmdGVyIGFsbC4KLSAgICBpZiAoY3B1c1RvVXNl
IDwgMSkKLSAgICAgICAgY3B1c1RvVXNlID0gMTsKKyAgICAgICAgLy8gV2UgZG9uJ3Qgc2NhbGUg
c28gd2VsbCBiZXlvbmQgNC4KKyAgICAgICAgaWYgKGNwdXNUb1VzZSA+IDQpCisgICAgICAgICAg
ICBjcHVzVG9Vc2UgPSA0OworICAgICAgICAvLyBCZSBwYXJhbm9pZCwgaXQgaXMgdGhlIE9TIHdl
J3JlIGRlYWxpbmcgd2l0aCwgYWZ0ZXIgYWxsLgorICAgICAgICBpZiAoY3B1c1RvVXNlIDwgMSkK
KyAgICAgICAgICAgIGNwdXNUb1VzZSA9IDE7CisKKyAgICAgICAgbnVtYmVyT2ZHQ01hcmtlcnMg
PSBjcHVzVG9Vc2U7CisgICAgfQogICAgIAotICAgIFNFVChudW1iZXJPZkdDTWFya2VycywgY3B1
c1RvVXNlKTsKLQogICAgIEFTU0VSVChleGVjdXRpb25Db3VudGVyVmFsdWVGb3JEb250T3B0aW1p
emVBbnl0aW1lU29vbiA8PSBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyTG9u
Z1dhcm1VcCk7CiAgICAgQVNTRVJUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0
ZXJMb25nV2FybVVwIDw9IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJt
VXApOwogICAgIEFTU0VSVChleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2Fy
bVVwIDw9IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplU29vbik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKaW5kZXggMTA5YjM5MjEyOTMyODJjMTI1Yjk1N2Yx
MmJiNGViNWJhNWNmZTFhYy4uM2JhM2IwMWJhNjBlZWRlNjA0ZTNjNjdmMWI5MjVhOWYyNGNkMWIw
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaApAQCAtMzAsNDggKzMw
LDY0IEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgT3B0aW9ucyB7CiAKLWV4dGVybiB1
bnNpZ25lZCBtYXhpbXVtRXZhbE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7
Ci1leHRlcm4gdW5zaWduZWQgbWF4aW11bVByb2dyYW1PcHRpbWl6YXRpb25DYW5kaWRhdGVJbnN0
cnVjdGlvbkNvdW50OwotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1GdW5jdGlvbkZvckNhbGxPcHRp
bWl6YXRpb25DYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotZXh0ZXJuIHVuc2lnbmVkIG1heGlt
dW1GdW5jdGlvbkZvckNvbnN0cnVjdE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291
bnQ7CisvLyBGSVhNRTogTXVzdCByZXZpc2l0IHRoZSBtYXhpbXVtIGluc3RydWN0aW9uIGNvdW50
cyEgVGhlIERGRywgYmVpbmcgYW4KKy8vIG9wdGltaXppbmcgY29tcGlsZXIsIG1heSB0YWtlIGEg
bG9uZyB0aW1lIGZvciBwYXRob2xvZ2ljYWxseSBodWdlIGNvZGUKKy8vIGJsb2Nrcy4gVGhlIGJl
c3Qgd2F5IHRvIGNvcGUgd2l0aCB0aGlzIGlzIHRvIHJlZnVzZSB0byBvcHRpbWl6ZSB0aGVtLgor
CisvLyBtYXhpbXVtSW5saW5pbmdEZXB0aCBpcyB0aGUgbWF4aW11bSBkZXB0aCBvZiBpbmxpbmUg
c3RhY2ssIHNvIDEgPSBubworLy8gaW5saW5pbmcsIDIgPSBvbmUgbGV2ZWwsIGV0YworCisvLyBj
b3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZCBzaG91bGRuJ3QgYmUgemVybyBiZWNhdXNlIHNvbWUg
b3BzIHdpbGwgc3B1cmlvdXNseQorLy8gdGFrZSBzbG93IGNhc2UsIGZvciBleGFtcGxlIGZvciBs
aW5raW5nIG9yIGNhY2hpbmcuCisKKyNkZWZpbmUgRk9SX0VBQ0hfSEVVUklTVElDKG0pIFwKKyAg
ICBtKHVuc2lnbmVkLCBtYXhpbXVtRXZhbE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9u
Q291bnQsIHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkgXAorICAgIG0odW5z
aWduZWQsIG1heGltdW1Qcm9ncmFtT3B0aW1pemF0aW9uQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3Vu
dCwgc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpKSBcCisgICAgbSh1bnNpZ25l
ZCwgbWF4aW11bUZ1bmN0aW9uRm9yQ2FsbE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9u
Q291bnQsIHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkgXAorICAgIG0odW5z
aWduZWQsIG1heGltdW1GdW5jdGlvbkZvckNvbnN0cnVjdE9wdGltaXphdGlvbkNhbmRpZGF0ZUlu
c3RydWN0aW9uQ291bnQsIHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkgXAor
ICAgIFwKKyAgICBtKHVuc2lnbmVkLCBtYXhpbXVtRnVuY3Rpb25Gb3JDYWxsSW5saW5lQ2FuZGlk
YXRlSW5zdHJ1Y3Rpb25Db3VudCwgMTUwKSBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bUZ1bmN0
aW9uRm9yQ29uc3RydWN0SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgODApIFwKKyAg
ICBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bUlubGluaW5nRGVwdGgsIDUpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIFwKKyAgICBtKGludDMyX3QsIGV4ZWN1dGlvbkNvdW50
ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJtVXAsICAgICAgLTEwMDApIFwKKyAgICBtKGludDMy
X3QsIGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwLCAgLTUw
MDApIFwKKyAgICBtKGludDMyX3QsIGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6
ZUFueXRpbWVTb29uLCAgc3RkOjpudW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWluKCkpIFwKKyAg
ICBtKGludDMyX3QsIGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplU29vbiwgICAgICAg
ICAgICAgLTEwMDApIFwKKyAgICBtKGludDMyX3QsIGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9w
dGltaXplTmV4dEludm9jYXRpb24sICAgMCkgXAorICAgIFwKKyAgICBtKGludDMyX3QsIGV4ZWN1
dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JMb29wLCAgICAgICAxKSBcCisgICAgbShpbnQzMl90LCBl
eGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yUmV0dXJuLCAgICAgMTUpIFwKKyAgICBcCisgICAg
bSh1bnNpZ25lZCwgZGVzaXJlZFNwZWN1bGF0aXZlU3VjY2Vzc0ZhaWxSYXRpbywgICAgNikgXAor
ICAgIFwKKyAgICBtKHVuc2lnbmVkLCBsaWtlbHlUb1Rha2VTbG93Q2FzZVRocmVzaG9sZCwgICAg
ICAgICAxMDApIFwKKyAgICBtKHVuc2lnbmVkLCBjb3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZCwg
ICAgICAgICAgICAxMCkgXAorICAgIFwKKyAgICBtKHVuc2lnbmVkLCBsYXJnZUZhaWxDb3VudFRo
cmVzaG9sZEJhc2UsICAgICAgICAgICAyMCkgXAorICAgIG0odW5zaWduZWQsIGxhcmdlRmFpbENv
dW50VGhyZXNob2xkQmFzZUZvckxvb3AsICAgIDEpIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwg
cmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJNYXgsICAgICAgICAgMCkgXAorICAgIG0odW5zaWdu
ZWQsIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyU3RlcCwgICAgICAgIDEpIFwKKyAgICBcCisg
ICAgbSh1bnNpZ25lZCwgbWluaW11bU9wdGltaXphdGlvbkRlbGF5LCAgICAgICAgICAgICAgMC43
NSkgXAorICAgIG0odW5zaWduZWQsIG1heGltdW1PcHRpbWl6YXRpb25EZWxheSwgICAgICAgICAg
ICAgIDAuMzUpIFwKKyAgICBtKGRvdWJsZSwgZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGUsICAg
ICAgICAgICAgICAxMDAwMCkgXAorICAgIG0oZG91YmxlLCBkZXNpcmVkUHJvZmlsZUZ1bGxuZXNz
UmF0ZSwgICAgICAgICAgICAgIDApIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwgbWluaW11bU51
bWJlck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNlLCAgMTAwMDApIFwKKyAgICBtKHVuc2lnbmVkLCBn
Y01hcmtTdGFja1NlZ21lbnRTaXplLCAgICAgICAgICAgICAgICAwKSBcCisgICAgbSh1bnNpZ25l
ZCwgbWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXAsICAgICAgICAgICAgMTApIFwKKyAgICBtKHVu
c2lnbmVkLCBtYXhpbXVtTnVtYmVyT2ZTaGFyZWRTZWdtZW50cywgICAgICAgICAzKSBcCisgICAg
bSh1bnNpZ25lZCwgc2hhcmVkU3RhY2tXYWtldXBUaHJlc2hvbGQsICAgICAgICAgICAgMSkgXAor
ICAgIG0odW5zaWduZWQsIG51bWJlck9mR0NNYXJrZXJzLCAgICAgICAgICAgICAgICAgICAgIDAp
IFwKKyAgICBtKHVuc2lnbmVkLCBvcGFxdWVSb290TWVyZ2VUaHJlc2hvbGQsICAgICAgICAgICAg
ICAxMDAwKQorCisjZGVmaW5lIERFQ0xBUkUodHlwZSwgY25hbWUsIGRlZmF1bHRfdmFsKSBleHRl
cm4gdHlwZSBjbmFtZTsKK0ZPUl9FQUNIX0hFVVJJU1RJQyhERUNMQVJFKQorI3VuZGVmIERFQ0xB
UkUKIAotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1GdW5jdGlvbkZvckNhbGxJbmxpbmVDYW5kaWRh
dGVJbnN0cnVjdGlvbkNvdW50OwotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1GdW5jdGlvbkZvckNv
bnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7Ci0KLWV4dGVybiB1bnNpZ25l
ZCBtYXhpbXVtSW5saW5pbmdEZXB0aDsgLy8gRGVwdGggb2YgaW5saW5lIHN0YWNrLCBzbyAxID0g
bm8gaW5saW5pbmcsIDIgPSBvbmUgbGV2ZWwsIGV0Yy4KLQotZXh0ZXJuIGludDMyX3QgZXhlY3V0
aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlcldhcm1VcDsKLWV4dGVybiBpbnQzMl90IGV4
ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwOwotZXh0ZXJuIGlu
dDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yRG9udE9wdGltaXplQW55dGltZVNvb247Ci1l
eHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZVNvb247Ci1leHRl
cm4gaW50MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZU5leHRJbnZvY2F0aW9u
OwotCi1leHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yTG9vcDsKLWV4
dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JSZXR1cm47Ci0KLWV4dGVy
biB1bnNpZ25lZCBkZXNpcmVkU3BlY3VsYXRpdmVTdWNjZXNzRmFpbFJhdGlvOwotCi1leHRlcm4g
dW5zaWduZWQgbGlrZWx5VG9UYWtlU2xvd0Nhc2VUaHJlc2hvbGQ7Ci1leHRlcm4gdW5zaWduZWQg
Y291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQ7Ci0KLWV4dGVybiB1bnNpZ25lZCBsYXJnZUZhaWxD
b3VudFRocmVzaG9sZEJhc2U7Ci1leHRlcm4gdW5zaWduZWQgbGFyZ2VGYWlsQ291bnRUaHJlc2hv
bGRCYXNlRm9yTG9vcDsKLQotZXh0ZXJuIHVuc2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3Vu
dGVyTWF4OwotZXh0ZXJuIHVuc2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyU3RlcDsK
LQotZXh0ZXJuIHVuc2lnbmVkIG1pbmltdW1PcHRpbWl6YXRpb25EZWxheTsKLWV4dGVybiB1bnNp
Z25lZCBtYXhpbXVtT3B0aW1pemF0aW9uRGVsYXk7Ci1leHRlcm4gZG91YmxlIGRlc2lyZWRQcm9m
aWxlTGl2ZW5lc3NSYXRlOwotZXh0ZXJuIGRvdWJsZSBkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0
ZTsKLQotZXh0ZXJuIHVuc2lnbmVkIG1pbmltdW1OdW1iZXJPZlNjYW5zQmV0d2VlblJlYmFsYW5j
ZTsKLWV4dGVybiB1bnNpZ25lZCBnY01hcmtTdGFja1NlZ21lbnRTaXplOwotZXh0ZXJuIHVuc2ln
bmVkIG1pbmltdW1OdW1iZXJPZkNlbGxzVG9LZWVwOwotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1O
dW1iZXJPZlNoYXJlZFNlZ21lbnRzOwotZXh0ZXJuIHVuc2lnbmVkIHNoYXJlZFN0YWNrV2FrZXVw
VGhyZXNob2xkOwotZXh0ZXJuIHVuc2lnbmVkIG51bWJlck9mR0NNYXJrZXJzOwotZXh0ZXJuIHVu
c2lnbmVkIG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZDsKIAogdm9pZCBpbml0aWFsaXplT3B0aW9u
cygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116201</attachid>
            <date>2011-11-22 04:26:38 -0800</date>
            <delta_ts>2011-11-29 09:10:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72938-20111122132636.patch</filename>
            <type>text/plain</type>
            <size>12030</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ODlmZjgxMTE0Y2U3YjQ0ZTFmMmQzNmJjNjUxYTVkZDg0MDhhNTYwLi5lY2Q0ZDBkNDcxZGJlZWNj
ZmUxYTgxYTVhMzQwYjZmZGUxNWM1NjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNyBAQAogMjAxMS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQGlnYWxpYS5jb20+CiAK
KyAgICAgICAgVXNlIG1vcmUgbWFjcm9sb2d5IGluIEpTQzo6T3B0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5jcHA6
CisgICAgICAgIChKU0M6Ok9wdGlvbnM6OmluaXRpYWxpemVPcHRpb25zKToKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDogVXNlIG1hY3JvcyB0byBlbnN1cmUgdGhhdCBhbGwgaGV1cmlzdGlj
cyBhcmUKKyAgICAgICAgZGVjbGFyZWQgYW5kIGhhdmUgaW5pdGlhbGl6ZXJzLgorCisyMDExLTEx
LTIyICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwogICAgICAgICBSZW5hbWUgSlND
OjpIZXVyaXN0aWNzIHRvIEpTQzo6T3B0aW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmNwcAppbmRleCBhMDBkYjljN2Y2YjJiNWYxNGQwNWE3ZjhiNGNmZTA4ZjA5MTJh
MmJhLi41ZjZjOWIzY2Q5NTE4MDY2YjVjYTVjYjk4OTY3ODVmZDY0NmMwODYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcApAQCAtNDQsNDggKzQ0LDkgQEAKIAog
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBPcHRpb25zIHsKIAotdW5zaWduZWQgbWF4aW11bUV2
YWxPcHRpbWl6YXRpb25DYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotdW5zaWduZWQgbWF4aW11
bVByb2dyYW1PcHRpbWl6YXRpb25DYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotdW5zaWduZWQg
bWF4aW11bUZ1bmN0aW9uRm9yQ2FsbE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291
bnQ7Ci11bnNpZ25lZCBtYXhpbXVtRnVuY3Rpb25Gb3JDb25zdHJ1Y3RPcHRpbWl6YXRpb25DYW5k
aWRhdGVJbnN0cnVjdGlvbkNvdW50OwotCi11bnNpZ25lZCBtYXhpbXVtRnVuY3Rpb25Gb3JDYWxs
SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudDsKLXVuc2lnbmVkIG1heGltdW1GdW5jdGlv
bkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7Ci0KLXVuc2lnbmVk
IG1heGltdW1JbmxpbmluZ0RlcHRoOwotCi1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZv
ck9wdGltaXplQWZ0ZXJXYXJtVXA7Ci1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9w
dGltaXplQWZ0ZXJMb25nV2FybVVwOwotaW50MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JE
b250T3B0aW1pemVBbnl0aW1lU29vbjsKLWludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVlRm9y
T3B0aW1pemVTb29uOwotaW50MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZU5l
eHRJbnZvY2F0aW9uOwotCi1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JMb29w
OwotaW50MzJfdCBleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yUmV0dXJuOwotCi11bnNpZ25l
ZCBkZXNpcmVkU3BlY3VsYXRpdmVTdWNjZXNzRmFpbFJhdGlvOwotCi11bnNpZ25lZCBsaWtlbHlU
b1Rha2VTbG93Q2FzZVRocmVzaG9sZDsKLXVuc2lnbmVkIGNvdWxkVGFrZVNsb3dDYXNlVGhyZXNo
b2xkOwotCi11bnNpZ25lZCBsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2U7Ci11bnNpZ25lZCBs
YXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2VGb3JMb29wOwotCi11bnNpZ25lZCByZW9wdGltaXph
dGlvblJldHJ5Q291bnRlck1heDsKLXVuc2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVy
U3RlcDsKLQotdW5zaWduZWQgbWluaW11bU9wdGltaXphdGlvbkRlbGF5OwotdW5zaWduZWQgbWF4
aW11bU9wdGltaXphdGlvbkRlbGF5OwotZG91YmxlIGRlc2lyZWRQcm9maWxlTGl2ZW5lc3NSYXRl
OwotZG91YmxlIGRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlOwotCi11bnNpZ25lZCBtaW5pbXVt
TnVtYmVyT2ZTY2Fuc0JldHdlZW5SZWJhbGFuY2U7Ci11bnNpZ25lZCBnY01hcmtTdGFja1NlZ21l
bnRTaXplOwotdW5zaWduZWQgbWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXA7Ci11bnNpZ25lZCBt
YXhpbXVtTnVtYmVyT2ZTaGFyZWRTZWdtZW50czsKLXVuc2lnbmVkIHNoYXJlZFN0YWNrV2FrZXVw
VGhyZXNob2xkOwotdW5zaWduZWQgbnVtYmVyT2ZHQ01hcmtlcnM7Ci11bnNpZ25lZCBvcGFxdWVS
b290TWVyZ2VUaHJlc2hvbGQ7CisjZGVmaW5lIERFRklORSh0eXBlLCBjbmFtZSwgZGVmYXVsdF92
YWwpIHR5cGUgY25hbWU7CitGT1JfRUFDSF9IRVVSSVNUSUMoREVGSU5FKQorI3VuZGVmIERFRklO
RQogCiAjaWYgRU5BQkxFKFJVTl9USU1FX0hFVVJJU1RJQ1MpCiBzdGF0aWMgYm9vbCBwYXJzZShj
b25zdCBjaGFyKiBzdHJpbmcsIGludDMyX3QmIHZhbHVlKQpAQCAtMTI2LDY3ICs4NywzNSBAQCB2
b2lkIHNldEhldXJpc3RpYyhUJiB2YXJpYWJsZSwgY29uc3QgY2hhciogbmFtZSwgVSB2YWx1ZSkK
IAogdm9pZCBpbml0aWFsaXplT3B0aW9ucygpCiB7Ci0gICAgLy8gRklYTUU6IE11c3QgcmV2aXNp
dCB0aGVzZSBoZXVyaXN0aWNzISBUaGUgREZHLCBiZWluZyBhbiBvcHRpbWl6aW5nIGNvbXBpbGVy
LCBtYXkKLSAgICAvLyB0YWtlIGEgbG9uZyB0aW1lIGZvciBwYXRob2xvZ2ljYWxseSBodWdlIGNv
ZGUgYmxvY2tzLiBUaGUgYmVzdCB3YXkgdG8gY29wZSB3aXRoCi0gICAgLy8gdGhpcyBpcyB0byBy
ZWZ1c2UgdG8gb3B0aW1pemUgdGhlbS4KLSAgICBTRVQobWF4aW11bUV2YWxPcHRpbWl6YXRpb25D
YW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50LCAgICAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKTsKLSAgICBTRVQobWF4aW11bVByb2dyYW1PcHRpbWl6YXRp
b25DYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50LCAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKTsKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9uRm9yQ2FsbE9w
dGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsICAgICAgc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKTsKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9uRm9yQ29uc3Ry
dWN0T3B0aW1pemF0aW9uQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKTsKLSAgICAKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9uRm9y
Q2FsbElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDE1MCk7Ci0gICAgU0VUKG1heGlt
dW1GdW5jdGlvbkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDgw
KTsKLSAgICAKLSAgICBTRVQobWF4aW11bUlubGluaW5nRGVwdGgsIDUpOwotCi0gICAgU0VUKGV4
ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJtVXAsICAgICAtMTAwMCk7Ci0g
ICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwLCAt
NTAwMCk7Ci0gICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6ZUFueXRp
bWVTb29uLCBzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptaW4oKSk7Ci0gICAgU0VUKGV4
ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplU29vbiwgICAgICAgICAgICAtMTAwMCk7Ci0g
ICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplTmV4dEludm9jYXRpb24sICAw
KTsKKyNkZWZpbmUgSU5JVCh0eXBlLCBjbmFtZSwgZGVmYXVsdF92YWwpIFNFVChjbmFtZSwgZGVm
YXVsdF92YWwpOworICAgIEZPUl9FQUNIX0hFVVJJU1RJQyhJTklUKQorI3VuZGVmIElOSVQKIAot
ICAgIFNFVChleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yTG9vcCwgICAxKTsKLSAgICBTRVQo
ZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZvclJldHVybiwgMTUpOwotCi0gICAgU0VUKGRlc2ly
ZWRTcGVjdWxhdGl2ZVN1Y2Nlc3NGYWlsUmF0aW8sIDYpOwotICAgIAotICAgIFNFVChsaWtlbHlU
b1Rha2VTbG93Q2FzZVRocmVzaG9sZCwgMTAwKTsKLSAgICBTRVQoY291bGRUYWtlU2xvd0Nhc2VU
aHJlc2hvbGQsICAgIDEwKTsgLy8gU2hvdWxkbid0IGJlIHplcm8gYmVjYXVzZSBzb21lIG9wcyB3
aWxsIHNwdXJpb3VzbHkgdGFrZSBzbG93IGNhc2UsIGZvciBleGFtcGxlIGZvciBsaW5raW5nIG9y
IGNhY2hpbmcuCisgICAgLy8gTm93IHdlIGluaXRpYWxpemUgaGV1cmlzdGljcyB3aG9zZSBkZWZh
dWx0cyBhcmUgbm90IGtub3duIGF0CisgICAgLy8gY29tcGlsZS10aW1lLgogCi0gICAgU0VUKGxh
cmdlRmFpbENvdW50VGhyZXNob2xkQmFzZSwgICAgICAgIDIwKTsKLSAgICBTRVQobGFyZ2VGYWls
Q291bnRUaHJlc2hvbGRCYXNlRm9yTG9vcCwgMSk7CisgICAgaWYgKCFnY01hcmtTdGFja1NlZ21l
bnRTaXplKQorICAgICAgICBnY01hcmtTdGFja1NlZ21lbnRTaXplID0gcGFnZVNpemUoKTsKIAot
ICAgIFNFVChyZW9wdGltaXphdGlvblJldHJ5Q291bnRlclN0ZXAsIDEpOwotCi0gICAgU0VUKG1p
bmltdW1PcHRpbWl6YXRpb25EZWxheSwgICAxKTsKLSAgICBTRVQobWF4aW11bU9wdGltaXphdGlv
bkRlbGF5LCAgIDUpOwotICAgIFNFVChkZXNpcmVkUHJvZmlsZUxpdmVuZXNzUmF0ZSwgMC43NSk7
Ci0gICAgU0VUKGRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlLCAwLjM1KTsKLSAgICAKLSAgICBT
RVQobWluaW11bU51bWJlck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNlLCAxMDAwMCk7Ci0gICAgU0VU
KGdjTWFya1N0YWNrU2VnbWVudFNpemUsICAgICAgICAgICAgICAgcGFnZVNpemUoKSk7Ci0gICAg
U0VUKG1pbmltdW1OdW1iZXJPZkNlbGxzVG9LZWVwLCAgICAgICAgICAgMTApOwotICAgIFNFVCht
YXhpbXVtTnVtYmVyT2ZTaGFyZWRTZWdtZW50cywgICAgICAgIDMpOwotICAgIFNFVChzaGFyZWRT
dGFja1dha2V1cFRocmVzaG9sZCwgICAgICAgICAgIDEpOwotICAgIFNFVChvcGFxdWVSb290TWVy
Z2VUaHJlc2hvbGQsICAgICAgICAgICAgIDEwMDApOwotCi0gICAgaW50IGNwdXNUb1VzZSA9IDE7
CisgICAgaWYgKCFudW1iZXJPZkdDTWFya2VycykgeworICAgICAgICBpbnQgY3B1c1RvVXNlID0g
MTsKICNpZiBPUyhEQVJXSU4pICYmIEVOQUJMRShQQVJBTExFTF9HQykKLSAgICBpbnQgbmFtZVsy
XTsKLSAgICBzaXplX3QgdmFsdWVTaXplID0gc2l6ZW9mKGNwdXNUb1VzZSk7Ci0gICAgbmFtZVsw
XSA9IENUTF9IVzsKLSAgICBuYW1lWzFdID0gSFdfQVZBSUxDUFU7Ci0gICAgc3lzY3RsKG5hbWUs
IDIsICZjcHVzVG9Vc2UsICZ2YWx1ZVNpemUsIDAsIDApOworICAgICAgICBpbnQgbmFtZVsyXTsK
KyAgICAgICAgc2l6ZV90IHZhbHVlU2l6ZSA9IHNpemVvZihjcHVzVG9Vc2UpOworICAgICAgICBu
YW1lWzBdID0gQ1RMX0hXOworICAgICAgICBuYW1lWzFdID0gSFdfQVZBSUxDUFU7CisgICAgICAg
IHN5c2N0bChuYW1lLCAyLCAmY3B1c1RvVXNlLCAmdmFsdWVTaXplLCAwLCAwKTsKICNlbmRpZgot
ICAgIC8vIFdlIGRvbid0IHNjYWxlIHNvIHdlbGwgYmV5b25kIDQuCi0gICAgaWYgKGNwdXNUb1Vz
ZSA+IDQpCi0gICAgICAgIGNwdXNUb1VzZSA9IDQ7Ci0gICAgLy8gQmUgcGFyYW5vaWQsIGl0IGlz
IHRoZSBPUyB3ZSdyZSBkZWFsaW5nIHdpdGgsIGFmdGVyIGFsbC4KLSAgICBpZiAoY3B1c1RvVXNl
IDwgMSkKLSAgICAgICAgY3B1c1RvVXNlID0gMTsKKyAgICAgICAgLy8gV2UgZG9uJ3Qgc2NhbGUg
c28gd2VsbCBiZXlvbmQgNC4KKyAgICAgICAgaWYgKGNwdXNUb1VzZSA+IDQpCisgICAgICAgICAg
ICBjcHVzVG9Vc2UgPSA0OworICAgICAgICAvLyBCZSBwYXJhbm9pZCwgaXQgaXMgdGhlIE9TIHdl
J3JlIGRlYWxpbmcgd2l0aCwgYWZ0ZXIgYWxsLgorICAgICAgICBpZiAoY3B1c1RvVXNlIDwgMSkK
KyAgICAgICAgICAgIGNwdXNUb1VzZSA9IDE7CisKKyAgICAgICAgbnVtYmVyT2ZHQ01hcmtlcnMg
PSBjcHVzVG9Vc2U7CisgICAgfQogICAgIAotICAgIFNFVChudW1iZXJPZkdDTWFya2VycywgY3B1
c1RvVXNlKTsKLQogICAgIEFTU0VSVChleGVjdXRpb25Db3VudGVyVmFsdWVGb3JEb250T3B0aW1p
emVBbnl0aW1lU29vbiA8PSBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyTG9u
Z1dhcm1VcCk7CiAgICAgQVNTRVJUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0
ZXJMb25nV2FybVVwIDw9IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJt
VXApOwogICAgIEFTU0VSVChleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2Fy
bVVwIDw9IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplU29vbik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKaW5kZXggMTA5YjM5MjEyOTMyODJjMTI1Yjk1N2Yx
MmJiNGViNWJhNWNmZTFhYy4uZjMwMDFjYWFlMDIxYzJmN2QzODM1OTNjMDk0MmMyMjc4ZGMwZTQ5
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaApAQCAtMzAsNDggKzMw
LDY0IEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgT3B0aW9ucyB7CiAKLWV4dGVybiB1
bnNpZ25lZCBtYXhpbXVtRXZhbE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7
Ci1leHRlcm4gdW5zaWduZWQgbWF4aW11bVByb2dyYW1PcHRpbWl6YXRpb25DYW5kaWRhdGVJbnN0
cnVjdGlvbkNvdW50OwotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1GdW5jdGlvbkZvckNhbGxPcHRp
bWl6YXRpb25DYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotZXh0ZXJuIHVuc2lnbmVkIG1heGlt
dW1GdW5jdGlvbkZvckNvbnN0cnVjdE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291
bnQ7CisvLyBGSVhNRTogTXVzdCByZXZpc2l0IHRoZSBtYXhpbXVtIGluc3RydWN0aW9uIGNvdW50
cyEgVGhlIERGRywgYmVpbmcgYW4KKy8vIG9wdGltaXppbmcgY29tcGlsZXIsIG1heSB0YWtlIGEg
bG9uZyB0aW1lIGZvciBwYXRob2xvZ2ljYWxseSBodWdlIGNvZGUKKy8vIGJsb2Nrcy4gVGhlIGJl
c3Qgd2F5IHRvIGNvcGUgd2l0aCB0aGlzIGlzIHRvIHJlZnVzZSB0byBvcHRpbWl6ZSB0aGVtLgor
CisvLyBtYXhpbXVtSW5saW5pbmdEZXB0aCBpcyB0aGUgbWF4aW11bSBkZXB0aCBvZiBpbmxpbmUg
c3RhY2ssIHNvIDEgPSBubworLy8gaW5saW5pbmcsIDIgPSBvbmUgbGV2ZWwsIGV0YworCisvLyBj
b3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZCBzaG91bGRuJ3QgYmUgemVybyBiZWNhdXNlIHNvbWUg
b3BzIHdpbGwgc3B1cmlvdXNseQorLy8gdGFrZSBzbG93IGNhc2UsIGZvciBleGFtcGxlIGZvciBs
aW5raW5nIG9yIGNhY2hpbmcuCisKKyNkZWZpbmUgRk9SX0VBQ0hfSEVVUklTVElDKG0pIFwKKyAg
ICBtKHVuc2lnbmVkLCBtYXhpbXVtRXZhbE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9u
Q291bnQsIHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkgXAorICAgIG0odW5z
aWduZWQsIG1heGltdW1Qcm9ncmFtT3B0aW1pemF0aW9uQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3Vu
dCwgc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpKSBcCisgICAgbSh1bnNpZ25l
ZCwgbWF4aW11bUZ1bmN0aW9uRm9yQ2FsbE9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9u
Q291bnQsIHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkgXAorICAgIG0odW5z
aWduZWQsIG1heGltdW1GdW5jdGlvbkZvckNvbnN0cnVjdE9wdGltaXphdGlvbkNhbmRpZGF0ZUlu
c3RydWN0aW9uQ291bnQsIHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkgXAor
ICAgIFwKKyAgICBtKHVuc2lnbmVkLCBtYXhpbXVtRnVuY3Rpb25Gb3JDYWxsSW5saW5lQ2FuZGlk
YXRlSW5zdHJ1Y3Rpb25Db3VudCwgMTUwKSBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bUZ1bmN0
aW9uRm9yQ29uc3RydWN0SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgODApIFwKKyAg
ICBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bUlubGluaW5nRGVwdGgsIDUpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIFwKKyAgICBtKGludDMyX3QsIGV4ZWN1dGlvbkNvdW50
ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJtVXAsICAgICAgLTEwMDApIFwKKyAgICBtKGludDMy
X3QsIGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwLCAgLTUw
MDApIFwKKyAgICBtKGludDMyX3QsIGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6
ZUFueXRpbWVTb29uLCAgc3RkOjpudW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWluKCkpIFwKKyAg
ICBtKGludDMyX3QsIGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplU29vbiwgICAgICAg
ICAgICAgLTEwMDApIFwKKyAgICBtKGludDMyX3QsIGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9w
dGltaXplTmV4dEludm9jYXRpb24sICAgMCkgXAorICAgIFwKKyAgICBtKGludDMyX3QsIGV4ZWN1
dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JMb29wLCAgICAgICAxKSBcCisgICAgbShpbnQzMl90LCBl
eGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yUmV0dXJuLCAgICAgMTUpIFwKKyAgICBcCisgICAg
bSh1bnNpZ25lZCwgZGVzaXJlZFNwZWN1bGF0aXZlU3VjY2Vzc0ZhaWxSYXRpbywgICAgNikgXAor
ICAgIFwKKyAgICBtKHVuc2lnbmVkLCBsaWtlbHlUb1Rha2VTbG93Q2FzZVRocmVzaG9sZCwgICAg
ICAgICAxMDApIFwKKyAgICBtKHVuc2lnbmVkLCBjb3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZCwg
ICAgICAgICAgICAxMCkgXAorICAgIFwKKyAgICBtKHVuc2lnbmVkLCBsYXJnZUZhaWxDb3VudFRo
cmVzaG9sZEJhc2UsICAgICAgICAgICAyMCkgXAorICAgIG0odW5zaWduZWQsIGxhcmdlRmFpbENv
dW50VGhyZXNob2xkQmFzZUZvckxvb3AsICAgIDEpIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwg
cmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJNYXgsICAgICAgICAgMCkgXAorICAgIG0odW5zaWdu
ZWQsIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyU3RlcCwgICAgICAgIDEpIFwKKyAgICBcCisg
ICAgbSh1bnNpZ25lZCwgbWluaW11bU9wdGltaXphdGlvbkRlbGF5LCAgICAgICAgICAgICAgMSkg
XAorICAgIG0odW5zaWduZWQsIG1heGltdW1PcHRpbWl6YXRpb25EZWxheSwgICAgICAgICAgICAg
IDUpIFwKKyAgICBtKGRvdWJsZSwgZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGUsICAgICAgICAg
ICAgICAwLjc1KSBcCisgICAgbShkb3VibGUsIGRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlLCAg
ICAgICAgICAgICAgMC4zNSkgXAorICAgIFwKKyAgICBtKHVuc2lnbmVkLCBtaW5pbXVtTnVtYmVy
T2ZTY2Fuc0JldHdlZW5SZWJhbGFuY2UsICAxMDAwMCkgXAorICAgIG0odW5zaWduZWQsIGdjTWFy
a1N0YWNrU2VnbWVudFNpemUsICAgICAgICAgICAgICAgIDApIFwKKyAgICBtKHVuc2lnbmVkLCBt
aW5pbXVtTnVtYmVyT2ZDZWxsc1RvS2VlcCwgICAgICAgICAgICAxMCkgXAorICAgIG0odW5zaWdu
ZWQsIG1heGltdW1OdW1iZXJPZlNoYXJlZFNlZ21lbnRzLCAgICAgICAgIDMpIFwKKyAgICBtKHVu
c2lnbmVkLCBzaGFyZWRTdGFja1dha2V1cFRocmVzaG9sZCwgICAgICAgICAgICAxKSBcCisgICAg
bSh1bnNpZ25lZCwgbnVtYmVyT2ZHQ01hcmtlcnMsICAgICAgICAgICAgICAgICAgICAgMCkgXAor
ICAgIG0odW5zaWduZWQsIG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZCwgICAgICAgICAgICAgIDEw
MDApCisKKyNkZWZpbmUgREVDTEFSRSh0eXBlLCBjbmFtZSwgZGVmYXVsdF92YWwpIGV4dGVybiB0
eXBlIGNuYW1lOworRk9SX0VBQ0hfSEVVUklTVElDKERFQ0xBUkUpCisjdW5kZWYgREVDTEFSRQog
Ci1leHRlcm4gdW5zaWduZWQgbWF4aW11bUZ1bmN0aW9uRm9yQ2FsbElubGluZUNhbmRpZGF0ZUlu
c3RydWN0aW9uQ291bnQ7Ci1leHRlcm4gdW5zaWduZWQgbWF4aW11bUZ1bmN0aW9uRm9yQ29uc3Ry
dWN0SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudDsKLQotZXh0ZXJuIHVuc2lnbmVkIG1h
eGltdW1JbmxpbmluZ0RlcHRoOyAvLyBEZXB0aCBvZiBpbmxpbmUgc3RhY2ssIHNvIDEgPSBubyBp
bmxpbmluZywgMiA9IG9uZSBsZXZlbCwgZXRjLgotCi1leHRlcm4gaW50MzJfdCBleGVjdXRpb25D
b3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2FybVVwOwotZXh0ZXJuIGludDMyX3QgZXhlY3V0
aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXA7Ci1leHRlcm4gaW50MzJf
dCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JEb250T3B0aW1pemVBbnl0aW1lU29vbjsKLWV4dGVy
biBpbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplU29vbjsKLWV4dGVybiBp
bnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplTmV4dEludm9jYXRpb247Ci0K
LWV4dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JMb29wOwotZXh0ZXJu
IGludDMyX3QgZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZvclJldHVybjsKLQotZXh0ZXJuIHVu
c2lnbmVkIGRlc2lyZWRTcGVjdWxhdGl2ZVN1Y2Nlc3NGYWlsUmF0aW87Ci0KLWV4dGVybiB1bnNp
Z25lZCBsaWtlbHlUb1Rha2VTbG93Q2FzZVRocmVzaG9sZDsKLWV4dGVybiB1bnNpZ25lZCBjb3Vs
ZFRha2VTbG93Q2FzZVRocmVzaG9sZDsKLQotZXh0ZXJuIHVuc2lnbmVkIGxhcmdlRmFpbENvdW50
VGhyZXNob2xkQmFzZTsKLWV4dGVybiB1bnNpZ25lZCBsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJh
c2VGb3JMb29wOwotCi1leHRlcm4gdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJN
YXg7Ci1leHRlcm4gdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJTdGVwOwotCi1l
eHRlcm4gdW5zaWduZWQgbWluaW11bU9wdGltaXphdGlvbkRlbGF5OwotZXh0ZXJuIHVuc2lnbmVk
IG1heGltdW1PcHRpbWl6YXRpb25EZWxheTsKLWV4dGVybiBkb3VibGUgZGVzaXJlZFByb2ZpbGVM
aXZlbmVzc1JhdGU7Ci1leHRlcm4gZG91YmxlIGRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlOwot
Ci1leHRlcm4gdW5zaWduZWQgbWluaW11bU51bWJlck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNlOwot
ZXh0ZXJuIHVuc2lnbmVkIGdjTWFya1N0YWNrU2VnbWVudFNpemU7Ci1leHRlcm4gdW5zaWduZWQg
bWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXA7Ci1leHRlcm4gdW5zaWduZWQgbWF4aW11bU51bWJl
ck9mU2hhcmVkU2VnbWVudHM7Ci1leHRlcm4gdW5zaWduZWQgc2hhcmVkU3RhY2tXYWtldXBUaHJl
c2hvbGQ7Ci1leHRlcm4gdW5zaWduZWQgbnVtYmVyT2ZHQ01hcmtlcnM7Ci1leHRlcm4gdW5zaWdu
ZWQgb3BhcXVlUm9vdE1lcmdlVGhyZXNob2xkOwogCiB2b2lkIGluaXRpYWxpemVPcHRpb25zKCk7
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116980</attachid>
            <date>2011-11-29 09:10:09 -0800</date>
            <delta_ts>2011-11-29 09:49:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72938-20111129181007.patch</filename>
            <type>text/plain</type>
            <size>10354</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
OTRhZTkwZmRlOWM5NDM1ZDA4ZTNhYmVkYzFiYzA3NDQzMGNhODg5Li4yOGE1ODQzMTNlNzVjNzQ4
YWQyMjdjMGQ1MTNkYmRhZmQwOGVjYjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNyBAQAogMjAxMS0xMS0yOSAgQW5keSBXaW5nbyAgPHdpbmdvQGlnYWxpYS5jb20+CiAK
KyAgICAgICAgVXNlIG1vcmUgbWFjcm9sb2d5IGluIEpTQzo6T3B0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5jcHA6
CisgICAgICAgIChKU0M6Ok9wdGlvbnM6OmluaXRpYWxpemVPcHRpb25zKToKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDogVXNlIG1hY3JvcyB0byBlbnN1cmUgdGhhdCBhbGwgaGV1cmlzdGlj
cyBhcmUKKyAgICAgICAgZGVjbGFyZWQgYW5kIGhhdmUgaW5pdGlhbGl6ZXJzLgorCisyMDExLTEx
LTI5ICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwogICAgICAgICBSZW5hbWUgSlND
OjpIZXVyaXN0aWNzIHRvIEpTQzo6T3B0aW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmNwcAppbmRleCAxYzQxOGQ3MDg5YTg2YjJmMjA3YWRiZjU5ODFjMjJiODZlZDBi
MzlkLi41ZjZjOWIzY2Q5NTE4MDY2YjVjYTVjYjk4OTY3ODVmZDY0NmMwODYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcApAQCAtNDQsNDUgKzQ0LDkgQEAKIAog
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBPcHRpb25zIHsKIAotdW5zaWduZWQgbWF4aW11bU9w
dGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7Ci0KLXVuc2lnbmVkIG1heGltdW1G
dW5jdGlvbkZvckNhbGxJbmxpbmVDYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotdW5zaWduZWQg
bWF4aW11bUZ1bmN0aW9uRm9yQ29uc3RydWN0SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3Vu
dDsKLQotdW5zaWduZWQgbWF4aW11bUlubGluaW5nRGVwdGg7Ci0KLWludDMyX3QgZXhlY3V0aW9u
Q291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlcldhcm1VcDsKLWludDMyX3QgZXhlY3V0aW9uQ291
bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXA7Ci1pbnQzMl90IGV4ZWN1dGlvbkNv
dW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6ZUFueXRpbWVTb29uOwotaW50MzJfdCBleGVjdXRpb25D
b3VudGVyVmFsdWVGb3JPcHRpbWl6ZVNvb247Ci1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1
ZUZvck9wdGltaXplTmV4dEludm9jYXRpb247Ci0KLWludDMyX3QgZXhlY3V0aW9uQ291bnRlcklu
Y3JlbWVudEZvckxvb3A7Ci1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JSZXR1
cm47Ci0KLXVuc2lnbmVkIGRlc2lyZWRTcGVjdWxhdGl2ZVN1Y2Nlc3NGYWlsUmF0aW87Ci0KLXVu
c2lnbmVkIGxpa2VseVRvVGFrZVNsb3dDYXNlVGhyZXNob2xkOwotdW5zaWduZWQgY291bGRUYWtl
U2xvd0Nhc2VUaHJlc2hvbGQ7Ci0KLXVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFz
ZTsKLXVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFzZUZvckxvb3A7Ci0KLXVuc2ln
bmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4OwotdW5zaWduZWQgcmVvcHRpbWl6YXRp
b25SZXRyeUNvdW50ZXJTdGVwOwotCi11bnNpZ25lZCBtaW5pbXVtT3B0aW1pemF0aW9uRGVsYXk7
Ci11bnNpZ25lZCBtYXhpbXVtT3B0aW1pemF0aW9uRGVsYXk7Ci1kb3VibGUgZGVzaXJlZFByb2Zp
bGVMaXZlbmVzc1JhdGU7Ci1kb3VibGUgZGVzaXJlZFByb2ZpbGVGdWxsbmVzc1JhdGU7Ci0KLXVu
c2lnbmVkIG1pbmltdW1OdW1iZXJPZlNjYW5zQmV0d2VlblJlYmFsYW5jZTsKLXVuc2lnbmVkIGdj
TWFya1N0YWNrU2VnbWVudFNpemU7Ci11bnNpZ25lZCBtaW5pbXVtTnVtYmVyT2ZDZWxsc1RvS2Vl
cDsKLXVuc2lnbmVkIG1heGltdW1OdW1iZXJPZlNoYXJlZFNlZ21lbnRzOwotdW5zaWduZWQgc2hh
cmVkU3RhY2tXYWtldXBUaHJlc2hvbGQ7Ci11bnNpZ25lZCBudW1iZXJPZkdDTWFya2VyczsKLXVu
c2lnbmVkIG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZDsKKyNkZWZpbmUgREVGSU5FKHR5cGUsIGNu
YW1lLCBkZWZhdWx0X3ZhbCkgdHlwZSBjbmFtZTsKK0ZPUl9FQUNIX0hFVVJJU1RJQyhERUZJTkUp
CisjdW5kZWYgREVGSU5FCiAKICNpZiBFTkFCTEUoUlVOX1RJTUVfSEVVUklTVElDUykKIHN0YXRp
YyBib29sIHBhcnNlKGNvbnN0IGNoYXIqIHN0cmluZywgaW50MzJfdCYgdmFsdWUpCkBAIC0xMjMs
NjEgKzg3LDM1IEBAIHZvaWQgc2V0SGV1cmlzdGljKFQmIHZhcmlhYmxlLCBjb25zdCBjaGFyKiBu
YW1lLCBVIHZhbHVlKQogCiB2b2lkIGluaXRpYWxpemVPcHRpb25zKCkKIHsKLSAgICBTRVQobWF4
aW11bU9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDEwMDApOwotICAgIAot
ICAgIFNFVChtYXhpbXVtRnVuY3Rpb25Gb3JDYWxsSW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25D
b3VudCwgMTUwKTsKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9uRm9yQ29uc3RydWN0SW5saW5lQ2Fu
ZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgODApOwotICAgIAotICAgIFNFVChtYXhpbXVtSW5saW5p
bmdEZXB0aCwgNSk7Ci0KLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVB
ZnRlcldhcm1VcCwgICAgIC0xMDAwKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9y
T3B0aW1pemVBZnRlckxvbmdXYXJtVXAsIC01MDAwKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRl
clZhbHVlRm9yRG9udE9wdGltaXplQW55dGltZVNvb24sIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50
MzJfdD46Om1pbigpKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVT
b29uLCAgICAgICAgICAgIC0xMDAwKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9y
T3B0aW1pemVOZXh0SW52b2NhdGlvbiwgIDApOworI2RlZmluZSBJTklUKHR5cGUsIGNuYW1lLCBk
ZWZhdWx0X3ZhbCkgU0VUKGNuYW1lLCBkZWZhdWx0X3ZhbCk7CisgICAgRk9SX0VBQ0hfSEVVUklT
VElDKElOSVQpCisjdW5kZWYgSU5JVAogCi0gICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1l
bnRGb3JMb29wLCAgIDEpOwotICAgIFNFVChleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yUmV0
dXJuLCAxNSk7Ci0KLSAgICBTRVQoZGVzaXJlZFNwZWN1bGF0aXZlU3VjY2Vzc0ZhaWxSYXRpbywg
Nik7Ci0gICAgCi0gICAgU0VUKGxpa2VseVRvVGFrZVNsb3dDYXNlVGhyZXNob2xkLCAxMDApOwot
ICAgIFNFVChjb3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZCwgICAgMTApOyAvLyBTaG91bGRuJ3Qg
YmUgemVybyBiZWNhdXNlIHNvbWUgb3BzIHdpbGwgc3B1cmlvdXNseSB0YWtlIHNsb3cgY2FzZSwg
Zm9yIGV4YW1wbGUgZm9yIGxpbmtpbmcgb3IgY2FjaGluZy4KKyAgICAvLyBOb3cgd2UgaW5pdGlh
bGl6ZSBoZXVyaXN0aWNzIHdob3NlIGRlZmF1bHRzIGFyZSBub3Qga25vd24gYXQKKyAgICAvLyBj
b21waWxlLXRpbWUuCiAKLSAgICBTRVQobGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRCYXNlLCAgICAg
ICAgMjApOwotICAgIFNFVChsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2VGb3JMb29wLCAxKTsK
KyAgICBpZiAoIWdjTWFya1N0YWNrU2VnbWVudFNpemUpCisgICAgICAgIGdjTWFya1N0YWNrU2Vn
bWVudFNpemUgPSBwYWdlU2l6ZSgpOwogCi0gICAgU0VUKHJlb3B0aW1pemF0aW9uUmV0cnlDb3Vu
dGVyU3RlcCwgMSk7Ci0KLSAgICBTRVQobWluaW11bU9wdGltaXphdGlvbkRlbGF5LCAgIDEpOwot
ICAgIFNFVChtYXhpbXVtT3B0aW1pemF0aW9uRGVsYXksICAgNSk7Ci0gICAgU0VUKGRlc2lyZWRQ
cm9maWxlTGl2ZW5lc3NSYXRlLCAwLjc1KTsKLSAgICBTRVQoZGVzaXJlZFByb2ZpbGVGdWxsbmVz
c1JhdGUsIDAuMzUpOwotICAgIAotICAgIFNFVChtaW5pbXVtTnVtYmVyT2ZTY2Fuc0JldHdlZW5S
ZWJhbGFuY2UsIDEwMDAwKTsKLSAgICBTRVQoZ2NNYXJrU3RhY2tTZWdtZW50U2l6ZSwgICAgICAg
ICAgICAgICBwYWdlU2l6ZSgpKTsKLSAgICBTRVQobWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXAs
ICAgICAgICAgICAxMCk7Ci0gICAgU0VUKG1heGltdW1OdW1iZXJPZlNoYXJlZFNlZ21lbnRzLCAg
ICAgICAgMyk7Ci0gICAgU0VUKHNoYXJlZFN0YWNrV2FrZXVwVGhyZXNob2xkLCAgICAgICAgICAg
MSk7Ci0gICAgU0VUKG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZCwgICAgICAgICAgICAgMTAwMCk7
Ci0KLSAgICBpbnQgY3B1c1RvVXNlID0gMTsKKyAgICBpZiAoIW51bWJlck9mR0NNYXJrZXJzKSB7
CisgICAgICAgIGludCBjcHVzVG9Vc2UgPSAxOwogI2lmIE9TKERBUldJTikgJiYgRU5BQkxFKFBB
UkFMTEVMX0dDKQotICAgIGludCBuYW1lWzJdOwotICAgIHNpemVfdCB2YWx1ZVNpemUgPSBzaXpl
b2YoY3B1c1RvVXNlKTsKLSAgICBuYW1lWzBdID0gQ1RMX0hXOwotICAgIG5hbWVbMV0gPSBIV19B
VkFJTENQVTsKLSAgICBzeXNjdGwobmFtZSwgMiwgJmNwdXNUb1VzZSwgJnZhbHVlU2l6ZSwgMCwg
MCk7CisgICAgICAgIGludCBuYW1lWzJdOworICAgICAgICBzaXplX3QgdmFsdWVTaXplID0gc2l6
ZW9mKGNwdXNUb1VzZSk7CisgICAgICAgIG5hbWVbMF0gPSBDVExfSFc7CisgICAgICAgIG5hbWVb
MV0gPSBIV19BVkFJTENQVTsKKyAgICAgICAgc3lzY3RsKG5hbWUsIDIsICZjcHVzVG9Vc2UsICZ2
YWx1ZVNpemUsIDAsIDApOwogI2VuZGlmCi0gICAgLy8gV2UgZG9uJ3Qgc2NhbGUgc28gd2VsbCBi
ZXlvbmQgNC4KLSAgICBpZiAoY3B1c1RvVXNlID4gNCkKLSAgICAgICAgY3B1c1RvVXNlID0gNDsK
LSAgICAvLyBCZSBwYXJhbm9pZCwgaXQgaXMgdGhlIE9TIHdlJ3JlIGRlYWxpbmcgd2l0aCwgYWZ0
ZXIgYWxsLgotICAgIGlmIChjcHVzVG9Vc2UgPCAxKQotICAgICAgICBjcHVzVG9Vc2UgPSAxOwor
ICAgICAgICAvLyBXZSBkb24ndCBzY2FsZSBzbyB3ZWxsIGJleW9uZCA0LgorICAgICAgICBpZiAo
Y3B1c1RvVXNlID4gNCkKKyAgICAgICAgICAgIGNwdXNUb1VzZSA9IDQ7CisgICAgICAgIC8vIEJl
IHBhcmFub2lkLCBpdCBpcyB0aGUgT1Mgd2UncmUgZGVhbGluZyB3aXRoLCBhZnRlciBhbGwuCisg
ICAgICAgIGlmIChjcHVzVG9Vc2UgPCAxKQorICAgICAgICAgICAgY3B1c1RvVXNlID0gMTsKKwor
ICAgICAgICBudW1iZXJPZkdDTWFya2VycyA9IGNwdXNUb1VzZTsKKyAgICB9CiAgICAgCi0gICAg
U0VUKG51bWJlck9mR0NNYXJrZXJzLCBjcHVzVG9Vc2UpOwotCiAgICAgQVNTRVJUKGV4ZWN1dGlv
bkNvdW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6ZUFueXRpbWVTb29uIDw9IGV4ZWN1dGlvbkNvdW50
ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwKTsKICAgICBBU1NFUlQoZXhlY3V0aW9u
Q291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXAgPD0gZXhlY3V0aW9uQ291bnRl
clZhbHVlRm9yT3B0aW1pemVBZnRlcldhcm1VcCk7CiAgICAgQVNTRVJUKGV4ZWN1dGlvbkNvdW50
ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJtVXAgPD0gZXhlY3V0aW9uQ291bnRlclZhbHVlRm9y
T3B0aW1pemVTb29uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRl
eCAyMDU4ZTg2OTQ5NTBiZmViNWI5OGQyYjcyNDY3MDJhMjQwNGJkZDg4Li5mMzI5ZDMwYWQ4OGMz
M2MxMDI5OWNlNGJlNDdhMDk1ODEzNWVhZmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCkBAIC0zMCw0NSArMzAsNTcgQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBPcHRpb25zIHsKIAotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1PcHRpbWl6YXRpb25DYW5k
aWRhdGVJbnN0cnVjdGlvbkNvdW50OworLy8gbWF4aW11bUlubGluaW5nRGVwdGggaXMgdGhlIG1h
eGltdW0gZGVwdGggb2YgaW5saW5lIHN0YWNrLCBzbyAxID0gbm8KKy8vIGlubGluaW5nLCAyID0g
b25lIGxldmVsLCBldGMKKworLy8gY291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQgc2hvdWxkbid0
IGJlIHplcm8gYmVjYXVzZSBzb21lIG9wcyB3aWxsIHNwdXJpb3VzbHkKKy8vIHRha2Ugc2xvdyBj
YXNlLCBmb3IgZXhhbXBsZSBmb3IgbGlua2luZyBvciBjYWNoaW5nLgorCisjZGVmaW5lIEZPUl9F
QUNIX0hFVVJJU1RJQyhtKSBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bU9wdGltaXphdGlvbkNh
bmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDEwMDApIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwg
bWF4aW11bUZ1bmN0aW9uRm9yQ2FsbElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDE1
MCkgXAorICAgIG0odW5zaWduZWQsIG1heGltdW1GdW5jdGlvbkZvckNvbnN0cnVjdElubGluZUNh
bmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDgwKSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIG1h
eGltdW1JbmxpbmluZ0RlcHRoLCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVy
V2FybVVwLCAgICAgIC0xMDAwKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFs
dWVGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCwgIC01MDAwKSBcCisgICAgbShpbnQzMl90LCBl
eGVjdXRpb25Db3VudGVyVmFsdWVGb3JEb250T3B0aW1pemVBbnl0aW1lU29vbiwgIHN0ZDo6bnVt
ZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25D
b3VudGVyVmFsdWVGb3JPcHRpbWl6ZVNvb24sICAgICAgICAgICAgIC0xMDAwKSBcCisgICAgbShp
bnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZU5leHRJbnZvY2F0aW9uLCAg
IDApIFwKKyAgICBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9y
TG9vcCwgICAgICAgMSkgXAorICAgIG0oaW50MzJfdCwgZXhlY3V0aW9uQ291bnRlckluY3JlbWVu
dEZvclJldHVybiwgICAgIDE1KSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIGRlc2lyZWRTcGVj
dWxhdGl2ZVN1Y2Nlc3NGYWlsUmF0aW8sICAgIDYpIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwg
bGlrZWx5VG9UYWtlU2xvd0Nhc2VUaHJlc2hvbGQsICAgICAgICAgMTAwKSBcCisgICAgbSh1bnNp
Z25lZCwgY291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQsICAgICAgICAgICAgMTApIFwKKyAgICBc
CisgICAgbSh1bnNpZ25lZCwgbGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRCYXNlLCAgICAgICAgICAg
MjApIFwKKyAgICBtKHVuc2lnbmVkLCBsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2VGb3JMb29w
LCAgICAxKSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIHJlb3B0aW1pemF0aW9uUmV0cnlDb3Vu
dGVyTWF4LCAgICAgICAgIDApIFwKKyAgICBtKHVuc2lnbmVkLCByZW9wdGltaXphdGlvblJldHJ5
Q291bnRlclN0ZXAsICAgICAgICAxKSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIG1pbmltdW1P
cHRpbWl6YXRpb25EZWxheSwgICAgICAgICAgICAgIDEpIFwKKyAgICBtKHVuc2lnbmVkLCBtYXhp
bXVtT3B0aW1pemF0aW9uRGVsYXksICAgICAgICAgICAgICA1KSBcCisgICAgbShkb3VibGUsIGRl
c2lyZWRQcm9maWxlTGl2ZW5lc3NSYXRlLCAgICAgICAgICAgICAgMC43NSkgXAorICAgIG0oZG91
YmxlLCBkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZSwgICAgICAgICAgICAgIDAuMzUpIFwKKyAg
ICBcCisgICAgbSh1bnNpZ25lZCwgbWluaW11bU51bWJlck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNl
LCAgMTAwMDApIFwKKyAgICBtKHVuc2lnbmVkLCBnY01hcmtTdGFja1NlZ21lbnRTaXplLCAgICAg
ICAgICAgICAgICAwKSBcCisgICAgbSh1bnNpZ25lZCwgbWluaW11bU51bWJlck9mQ2VsbHNUb0tl
ZXAsICAgICAgICAgICAgMTApIFwKKyAgICBtKHVuc2lnbmVkLCBtYXhpbXVtTnVtYmVyT2ZTaGFy
ZWRTZWdtZW50cywgICAgICAgICAzKSBcCisgICAgbSh1bnNpZ25lZCwgc2hhcmVkU3RhY2tXYWtl
dXBUaHJlc2hvbGQsICAgICAgICAgICAgMSkgXAorICAgIG0odW5zaWduZWQsIG51bWJlck9mR0NN
YXJrZXJzLCAgICAgICAgICAgICAgICAgICAgIDApIFwKKyAgICBtKHVuc2lnbmVkLCBvcGFxdWVS
b290TWVyZ2VUaHJlc2hvbGQsICAgICAgICAgICAgICAxMDAwKQorCisjZGVmaW5lIERFQ0xBUkUo
dHlwZSwgY25hbWUsIGRlZmF1bHRfdmFsKSBleHRlcm4gdHlwZSBjbmFtZTsKK0ZPUl9FQUNIX0hF
VVJJU1RJQyhERUNMQVJFKQorI3VuZGVmIERFQ0xBUkUKIAotZXh0ZXJuIHVuc2lnbmVkIG1heGlt
dW1GdW5jdGlvbkZvckNhbGxJbmxpbmVDYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotZXh0ZXJu
IHVuc2lnbmVkIG1heGltdW1GdW5jdGlvbkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3Ry
dWN0aW9uQ291bnQ7Ci0KLWV4dGVybiB1bnNpZ25lZCBtYXhpbXVtSW5saW5pbmdEZXB0aDsgLy8g
RGVwdGggb2YgaW5saW5lIHN0YWNrLCBzbyAxID0gbm8gaW5saW5pbmcsIDIgPSBvbmUgbGV2ZWws
IGV0Yy4KLQotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVB
ZnRlcldhcm1VcDsKLWV4dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGlt
aXplQWZ0ZXJMb25nV2FybVVwOwotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVl
Rm9yRG9udE9wdGltaXplQW55dGltZVNvb247Ci1leHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3Vu
dGVyVmFsdWVGb3JPcHRpbWl6ZVNvb247Ci1leHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3VudGVy
VmFsdWVGb3JPcHRpbWl6ZU5leHRJbnZvY2F0aW9uOwotCi1leHRlcm4gaW50MzJfdCBleGVjdXRp
b25Db3VudGVySW5jcmVtZW50Rm9yTG9vcDsKLWV4dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50
ZXJJbmNyZW1lbnRGb3JSZXR1cm47Ci0KLWV4dGVybiB1bnNpZ25lZCBkZXNpcmVkU3BlY3VsYXRp
dmVTdWNjZXNzRmFpbFJhdGlvOwotCi1leHRlcm4gdW5zaWduZWQgbGlrZWx5VG9UYWtlU2xvd0Nh
c2VUaHJlc2hvbGQ7Ci1leHRlcm4gdW5zaWduZWQgY291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQ7
Ci0KLWV4dGVybiB1bnNpZ25lZCBsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2U7Ci1leHRlcm4g
dW5zaWduZWQgbGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRCYXNlRm9yTG9vcDsKLQotZXh0ZXJuIHVu
c2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4OwotZXh0ZXJuIHVuc2lnbmVkIHJl
b3B0aW1pemF0aW9uUmV0cnlDb3VudGVyU3RlcDsKLQotZXh0ZXJuIHVuc2lnbmVkIG1pbmltdW1P
cHRpbWl6YXRpb25EZWxheTsKLWV4dGVybiB1bnNpZ25lZCBtYXhpbXVtT3B0aW1pemF0aW9uRGVs
YXk7Ci1leHRlcm4gZG91YmxlIGRlc2lyZWRQcm9maWxlTGl2ZW5lc3NSYXRlOwotZXh0ZXJuIGRv
dWJsZSBkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZTsKLQotZXh0ZXJuIHVuc2lnbmVkIG1pbmlt
dW1OdW1iZXJPZlNjYW5zQmV0d2VlblJlYmFsYW5jZTsKLWV4dGVybiB1bnNpZ25lZCBnY01hcmtT
dGFja1NlZ21lbnRTaXplOwotZXh0ZXJuIHVuc2lnbmVkIG1pbmltdW1OdW1iZXJPZkNlbGxzVG9L
ZWVwOwotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1OdW1iZXJPZlNoYXJlZFNlZ21lbnRzOwotZXh0
ZXJuIHVuc2lnbmVkIHNoYXJlZFN0YWNrV2FrZXVwVGhyZXNob2xkOwotZXh0ZXJuIHVuc2lnbmVk
IG51bWJlck9mR0NNYXJrZXJzOwotZXh0ZXJuIHVuc2lnbmVkIG9wYXF1ZVJvb3RNZXJnZVRocmVz
aG9sZDsKIAogdm9pZCBpbml0aWFsaXplT3B0aW9ucygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116987</attachid>
            <date>2011-11-29 09:50:02 -0800</date>
            <delta_ts>2011-12-12 03:19:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72938-20111129185000.patch</filename>
            <type>text/plain</type>
            <size>10404</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
OTRhZTkwZmRlOWM5NDM1ZDA4ZTNhYmVkYzFiYzA3NDQzMGNhODg5Li4yOGE1ODQzMTNlNzVjNzQ4
YWQyMjdjMGQ1MTNkYmRhZmQwOGVjYjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNyBAQAogMjAxMS0xMS0yOSAgQW5keSBXaW5nbyAgPHdpbmdvQGlnYWxpYS5jb20+CiAK
KyAgICAgICAgVXNlIG1vcmUgbWFjcm9sb2d5IGluIEpTQzo6T3B0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5jcHA6
CisgICAgICAgIChKU0M6Ok9wdGlvbnM6OmluaXRpYWxpemVPcHRpb25zKToKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDogVXNlIG1hY3JvcyB0byBlbnN1cmUgdGhhdCBhbGwgaGV1cmlzdGlj
cyBhcmUKKyAgICAgICAgZGVjbGFyZWQgYW5kIGhhdmUgaW5pdGlhbGl6ZXJzLgorCisyMDExLTEx
LTI5ICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwogICAgICAgICBSZW5hbWUgSlND
OjpIZXVyaXN0aWNzIHRvIEpTQzo6T3B0aW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmNwcAppbmRleCAxYzQxOGQ3MDg5YTg2YjJmMjA3YWRiZjU5ODFjMjJiODZlZDBi
MzlkLi44OTlmNjZlY2JhNjdiZTdhZWQwYzZhYzFkMGJlOTY1ODlhMDJlNzJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcApAQCAtNDQsNDUgKzQ0LDkgQEAKIAog
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBPcHRpb25zIHsKIAotdW5zaWduZWQgbWF4aW11bU9w
dGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7Ci0KLXVuc2lnbmVkIG1heGltdW1G
dW5jdGlvbkZvckNhbGxJbmxpbmVDYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotdW5zaWduZWQg
bWF4aW11bUZ1bmN0aW9uRm9yQ29uc3RydWN0SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3Vu
dDsKLQotdW5zaWduZWQgbWF4aW11bUlubGluaW5nRGVwdGg7Ci0KLWludDMyX3QgZXhlY3V0aW9u
Q291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlcldhcm1VcDsKLWludDMyX3QgZXhlY3V0aW9uQ291
bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXA7Ci1pbnQzMl90IGV4ZWN1dGlvbkNv
dW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6ZUFueXRpbWVTb29uOwotaW50MzJfdCBleGVjdXRpb25D
b3VudGVyVmFsdWVGb3JPcHRpbWl6ZVNvb247Ci1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1
ZUZvck9wdGltaXplTmV4dEludm9jYXRpb247Ci0KLWludDMyX3QgZXhlY3V0aW9uQ291bnRlcklu
Y3JlbWVudEZvckxvb3A7Ci1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JSZXR1
cm47Ci0KLXVuc2lnbmVkIGRlc2lyZWRTcGVjdWxhdGl2ZVN1Y2Nlc3NGYWlsUmF0aW87Ci0KLXVu
c2lnbmVkIGxpa2VseVRvVGFrZVNsb3dDYXNlVGhyZXNob2xkOwotdW5zaWduZWQgY291bGRUYWtl
U2xvd0Nhc2VUaHJlc2hvbGQ7Ci0KLXVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFz
ZTsKLXVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFzZUZvckxvb3A7Ci0KLXVuc2ln
bmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4OwotdW5zaWduZWQgcmVvcHRpbWl6YXRp
b25SZXRyeUNvdW50ZXJTdGVwOwotCi11bnNpZ25lZCBtaW5pbXVtT3B0aW1pemF0aW9uRGVsYXk7
Ci11bnNpZ25lZCBtYXhpbXVtT3B0aW1pemF0aW9uRGVsYXk7Ci1kb3VibGUgZGVzaXJlZFByb2Zp
bGVMaXZlbmVzc1JhdGU7Ci1kb3VibGUgZGVzaXJlZFByb2ZpbGVGdWxsbmVzc1JhdGU7Ci0KLXVu
c2lnbmVkIG1pbmltdW1OdW1iZXJPZlNjYW5zQmV0d2VlblJlYmFsYW5jZTsKLXVuc2lnbmVkIGdj
TWFya1N0YWNrU2VnbWVudFNpemU7Ci11bnNpZ25lZCBtaW5pbXVtTnVtYmVyT2ZDZWxsc1RvS2Vl
cDsKLXVuc2lnbmVkIG1heGltdW1OdW1iZXJPZlNoYXJlZFNlZ21lbnRzOwotdW5zaWduZWQgc2hh
cmVkU3RhY2tXYWtldXBUaHJlc2hvbGQ7Ci11bnNpZ25lZCBudW1iZXJPZkdDTWFya2VyczsKLXVu
c2lnbmVkIG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZDsKKyNkZWZpbmUgREVGSU5FKHR5cGUsIGNu
YW1lLCBkZWZhdWx0X3ZhbCkgdHlwZSBjbmFtZTsKK0ZPUl9FQUNIX09QVElPTihERUZJTkUpCisj
dW5kZWYgREVGSU5FCiAKICNpZiBFTkFCTEUoUlVOX1RJTUVfSEVVUklTVElDUykKIHN0YXRpYyBi
b29sIHBhcnNlKGNvbnN0IGNoYXIqIHN0cmluZywgaW50MzJfdCYgdmFsdWUpCkBAIC0xMjMsNjEg
Kzg3LDM1IEBAIHZvaWQgc2V0SGV1cmlzdGljKFQmIHZhcmlhYmxlLCBjb25zdCBjaGFyKiBuYW1l
LCBVIHZhbHVlKQogCiB2b2lkIGluaXRpYWxpemVPcHRpb25zKCkKIHsKLSAgICBTRVQobWF4aW11
bU9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDEwMDApOwotICAgIAotICAg
IFNFVChtYXhpbXVtRnVuY3Rpb25Gb3JDYWxsSW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3Vu
dCwgMTUwKTsKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9uRm9yQ29uc3RydWN0SW5saW5lQ2FuZGlk
YXRlSW5zdHJ1Y3Rpb25Db3VudCwgODApOwotICAgIAotICAgIFNFVChtYXhpbXVtSW5saW5pbmdE
ZXB0aCwgNSk7Ci0KLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRl
cldhcm1VcCwgICAgIC0xMDAwKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0
aW1pemVBZnRlckxvbmdXYXJtVXAsIC01MDAwKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZh
bHVlRm9yRG9udE9wdGltaXplQW55dGltZVNvb24sIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJf
dD46Om1pbigpKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVTb29u
LCAgICAgICAgICAgIC0xMDAwKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0
aW1pemVOZXh0SW52b2NhdGlvbiwgIDApOworI2RlZmluZSBJTklUKHR5cGUsIGNuYW1lLCBkZWZh
dWx0X3ZhbCkgU0VUKGNuYW1lLCBkZWZhdWx0X3ZhbCk7CisgICAgRk9SX0VBQ0hfT1BUSU9OKElO
SVQpCisjdW5kZWYgSU5JVAogCi0gICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JM
b29wLCAgIDEpOwotICAgIFNFVChleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yUmV0dXJuLCAx
NSk7Ci0KLSAgICBTRVQoZGVzaXJlZFNwZWN1bGF0aXZlU3VjY2Vzc0ZhaWxSYXRpbywgNik7Ci0g
ICAgCi0gICAgU0VUKGxpa2VseVRvVGFrZVNsb3dDYXNlVGhyZXNob2xkLCAxMDApOwotICAgIFNF
VChjb3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZCwgICAgMTApOyAvLyBTaG91bGRuJ3QgYmUgemVy
byBiZWNhdXNlIHNvbWUgb3BzIHdpbGwgc3B1cmlvdXNseSB0YWtlIHNsb3cgY2FzZSwgZm9yIGV4
YW1wbGUgZm9yIGxpbmtpbmcgb3IgY2FjaGluZy4KKyAgICAvLyBOb3cgd2UgaW5pdGlhbGl6ZSBo
ZXVyaXN0aWNzIHdob3NlIGRlZmF1bHRzIGFyZSBub3Qga25vd24gYXQKKyAgICAvLyBjb21waWxl
LXRpbWUuCiAKLSAgICBTRVQobGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRCYXNlLCAgICAgICAgMjAp
OwotICAgIFNFVChsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2VGb3JMb29wLCAxKTsKKyAgICBp
ZiAoIWdjTWFya1N0YWNrU2VnbWVudFNpemUpCisgICAgICAgIGdjTWFya1N0YWNrU2VnbWVudFNp
emUgPSBwYWdlU2l6ZSgpOwogCi0gICAgU0VUKHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyU3Rl
cCwgMSk7Ci0KLSAgICBTRVQobWluaW11bU9wdGltaXphdGlvbkRlbGF5LCAgIDEpOwotICAgIFNF
VChtYXhpbXVtT3B0aW1pemF0aW9uRGVsYXksICAgNSk7Ci0gICAgU0VUKGRlc2lyZWRQcm9maWxl
TGl2ZW5lc3NSYXRlLCAwLjc1KTsKLSAgICBTRVQoZGVzaXJlZFByb2ZpbGVGdWxsbmVzc1JhdGUs
IDAuMzUpOwotICAgIAotICAgIFNFVChtaW5pbXVtTnVtYmVyT2ZTY2Fuc0JldHdlZW5SZWJhbGFu
Y2UsIDEwMDAwKTsKLSAgICBTRVQoZ2NNYXJrU3RhY2tTZWdtZW50U2l6ZSwgICAgICAgICAgICAg
ICBwYWdlU2l6ZSgpKTsKLSAgICBTRVQobWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXAsICAgICAg
ICAgICAxMCk7Ci0gICAgU0VUKG1heGltdW1OdW1iZXJPZlNoYXJlZFNlZ21lbnRzLCAgICAgICAg
Myk7Ci0gICAgU0VUKHNoYXJlZFN0YWNrV2FrZXVwVGhyZXNob2xkLCAgICAgICAgICAgMSk7Ci0g
ICAgU0VUKG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZCwgICAgICAgICAgICAgMTAwMCk7Ci0KLSAg
ICBpbnQgY3B1c1RvVXNlID0gMTsKKyAgICBpZiAoIW51bWJlck9mR0NNYXJrZXJzKSB7CisgICAg
ICAgIGludCBjcHVzVG9Vc2UgPSAxOwogI2lmIE9TKERBUldJTikgJiYgRU5BQkxFKFBBUkFMTEVM
X0dDKQotICAgIGludCBuYW1lWzJdOwotICAgIHNpemVfdCB2YWx1ZVNpemUgPSBzaXplb2YoY3B1
c1RvVXNlKTsKLSAgICBuYW1lWzBdID0gQ1RMX0hXOwotICAgIG5hbWVbMV0gPSBIV19BVkFJTENQ
VTsKLSAgICBzeXNjdGwobmFtZSwgMiwgJmNwdXNUb1VzZSwgJnZhbHVlU2l6ZSwgMCwgMCk7Cisg
ICAgICAgIGludCBuYW1lWzJdOworICAgICAgICBzaXplX3QgdmFsdWVTaXplID0gc2l6ZW9mKGNw
dXNUb1VzZSk7CisgICAgICAgIG5hbWVbMF0gPSBDVExfSFc7CisgICAgICAgIG5hbWVbMV0gPSBI
V19BVkFJTENQVTsKKyAgICAgICAgc3lzY3RsKG5hbWUsIDIsICZjcHVzVG9Vc2UsICZ2YWx1ZVNp
emUsIDAsIDApOwogI2VuZGlmCi0gICAgLy8gV2UgZG9uJ3Qgc2NhbGUgc28gd2VsbCBiZXlvbmQg
NC4KLSAgICBpZiAoY3B1c1RvVXNlID4gNCkKLSAgICAgICAgY3B1c1RvVXNlID0gNDsKLSAgICAv
LyBCZSBwYXJhbm9pZCwgaXQgaXMgdGhlIE9TIHdlJ3JlIGRlYWxpbmcgd2l0aCwgYWZ0ZXIgYWxs
LgotICAgIGlmIChjcHVzVG9Vc2UgPCAxKQotICAgICAgICBjcHVzVG9Vc2UgPSAxOworICAgICAg
ICAvLyBXZSBkb24ndCBzY2FsZSBzbyB3ZWxsIGJleW9uZCA0LgorICAgICAgICBpZiAoY3B1c1Rv
VXNlID4gNCkKKyAgICAgICAgICAgIGNwdXNUb1VzZSA9IDQ7CisgICAgICAgIC8vIEJlIHBhcmFu
b2lkLCBpdCBpcyB0aGUgT1Mgd2UncmUgZGVhbGluZyB3aXRoLCBhZnRlciBhbGwuCisgICAgICAg
IGlmIChjcHVzVG9Vc2UgPCAxKQorICAgICAgICAgICAgY3B1c1RvVXNlID0gMTsKKworICAgICAg
ICBudW1iZXJPZkdDTWFya2VycyA9IGNwdXNUb1VzZTsKKyAgICB9CiAgICAgCi0gICAgU0VUKG51
bWJlck9mR0NNYXJrZXJzLCBjcHVzVG9Vc2UpOwotCiAgICAgQVNTRVJUKGV4ZWN1dGlvbkNvdW50
ZXJWYWx1ZUZvckRvbnRPcHRpbWl6ZUFueXRpbWVTb29uIDw9IGV4ZWN1dGlvbkNvdW50ZXJWYWx1
ZUZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwKTsKICAgICBBU1NFUlQoZXhlY3V0aW9uQ291bnRl
clZhbHVlRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXAgPD0gZXhlY3V0aW9uQ291bnRlclZhbHVl
Rm9yT3B0aW1pemVBZnRlcldhcm1VcCk7CiAgICAgQVNTRVJUKGV4ZWN1dGlvbkNvdW50ZXJWYWx1
ZUZvck9wdGltaXplQWZ0ZXJXYXJtVXAgPD0gZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1p
emVTb29uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRleCAyMDU4
ZTg2OTQ5NTBiZmViNWI5OGQyYjcyNDY3MDJhMjQwNGJkZDg4Li5lZmEwMjFiZTRlNmJhZDQ3MzY4
Njg5NjcyODU1MDE0NzQwNjIwNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0
aW9ucy5oCkBAIC0zMCw0NSArMzAsNjAgQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBP
cHRpb25zIHsKIAotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1PcHRpbWl6YXRpb25DYW5kaWRhdGVJ
bnN0cnVjdGlvbkNvdW50OworLy8gbWF4aW11bUlubGluaW5nRGVwdGggaXMgdGhlIG1heGltdW0g
ZGVwdGggb2YgaW5saW5lIHN0YWNrLCBzbyAxID0gbm8KKy8vIGlubGluaW5nLCAyID0gb25lIGxl
dmVsLCBldGMKKworLy8gY291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQgc2hvdWxkbid0IGJlIHpl
cm8gYmVjYXVzZSBzb21lIG9wcyB3aWxsIHNwdXJpb3VzbHkKKy8vIHRha2Ugc2xvdyBjYXNlLCBm
b3IgZXhhbXBsZSBmb3IgbGlua2luZyBvciBjYWNoaW5nLgorCisjZGVmaW5lIEZPUl9FQUNIX0hF
VVJJU1RJQyhtKSBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bU9wdGltaXphdGlvbkNhbmRpZGF0
ZUluc3RydWN0aW9uQ291bnQsIDEwMDApIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11
bUZ1bmN0aW9uRm9yQ2FsbElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDE1MCkgXAor
ICAgIG0odW5zaWduZWQsIG1heGltdW1GdW5jdGlvbkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0
ZUluc3RydWN0aW9uQ291bnQsIDgwKSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIG1heGltdW1J
bmxpbmluZ0RlcHRoLCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBcCisg
ICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2FybVVw
LCAgICAgIC0xMDAwKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JP
cHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCwgIC01MDAwKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRp
b25Db3VudGVyVmFsdWVGb3JEb250T3B0aW1pemVBbnl0aW1lU29vbiwgIHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50MzJfdD46Om1pbigpKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVy
VmFsdWVGb3JPcHRpbWl6ZVNvb24sICAgICAgICAgICAgIC0xMDAwKSBcCisgICAgbShpbnQzMl90
LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZU5leHRJbnZvY2F0aW9uLCAgIDApIFwK
KyAgICBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yTG9vcCwg
ICAgICAgMSkgXAorICAgIG0oaW50MzJfdCwgZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZvclJl
dHVybiwgICAgIDE1KSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIGRlc2lyZWRTcGVjdWxhdGl2
ZVN1Y2Nlc3NGYWlsUmF0aW8sICAgIDYpIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwgbGlrZWx5
VG9UYWtlU2xvd0Nhc2VUaHJlc2hvbGQsICAgICAgICAgMTAwKSBcCisgICAgbSh1bnNpZ25lZCwg
Y291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQsICAgICAgICAgICAgMTApIFwKKyAgICBcCisgICAg
bSh1bnNpZ25lZCwgbGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRCYXNlLCAgICAgICAgICAgMjApIFwK
KyAgICBtKHVuc2lnbmVkLCBsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2VGb3JMb29wLCAgICAx
KSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4
LCAgICAgICAgIDApIFwKKyAgICBtKHVuc2lnbmVkLCByZW9wdGltaXphdGlvblJldHJ5Q291bnRl
clN0ZXAsICAgICAgICAxKSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIG1pbmltdW1PcHRpbWl6
YXRpb25EZWxheSwgICAgICAgICAgICAgIDEpIFwKKyAgICBtKHVuc2lnbmVkLCBtYXhpbXVtT3B0
aW1pemF0aW9uRGVsYXksICAgICAgICAgICAgICA1KSBcCisgICAgbShkb3VibGUsIGRlc2lyZWRQ
cm9maWxlTGl2ZW5lc3NSYXRlLCAgICAgICAgICAgICAgMC43NSkgXAorICAgIG0oZG91YmxlLCBk
ZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZSwgICAgICAgICAgICAgIDAuMzUpIFwKKyAgICBcCisg
ICAgbSh1bnNpZ25lZCwgbWluaW11bU51bWJlck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNlLCAgMTAw
MDApIFwKKyAgICBtKHVuc2lnbmVkLCBnY01hcmtTdGFja1NlZ21lbnRTaXplLCAgICAgICAgICAg
ICAgICAwKSBcCisgICAgbSh1bnNpZ25lZCwgbWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXAsICAg
ICAgICAgICAgMTApIFwKKyAgICBtKHVuc2lnbmVkLCBtYXhpbXVtTnVtYmVyT2ZTaGFyZWRTZWdt
ZW50cywgICAgICAgICAzKSBcCisgICAgbSh1bnNpZ25lZCwgc2hhcmVkU3RhY2tXYWtldXBUaHJl
c2hvbGQsICAgICAgICAgICAgMSkgXAorICAgIG0odW5zaWduZWQsIG51bWJlck9mR0NNYXJrZXJz
LCAgICAgICAgICAgICAgICAgICAgIDApIFwKKyAgICBtKHVuc2lnbmVkLCBvcGFxdWVSb290TWVy
Z2VUaHJlc2hvbGQsICAgICAgICAgICAgICAxMDAwKQorCisjZGVmaW5lIEZPUl9FQUNIX09QVElP
TihtKSBcCisgICAgRk9SX0VBQ0hfSEVVUklTVElDKG0pCisKKyNkZWZpbmUgREVDTEFSRSh0eXBl
LCBjbmFtZSwgZGVmYXVsdF92YWwpIGV4dGVybiB0eXBlIGNuYW1lOworRk9SX0VBQ0hfT1BUSU9O
KERFQ0xBUkUpCisjdW5kZWYgREVDTEFSRQogCi1leHRlcm4gdW5zaWduZWQgbWF4aW11bUZ1bmN0
aW9uRm9yQ2FsbElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7Ci1leHRlcm4gdW5zaWdu
ZWQgbWF4aW11bUZ1bmN0aW9uRm9yQ29uc3RydWN0SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25D
b3VudDsKLQotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1JbmxpbmluZ0RlcHRoOyAvLyBEZXB0aCBv
ZiBpbmxpbmUgc3RhY2ssIHNvIDEgPSBubyBpbmxpbmluZywgMiA9IG9uZSBsZXZlbCwgZXRjLgot
Ci1leHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2Fy
bVVwOwotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRl
ckxvbmdXYXJtVXA7Ci1leHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JEb250
T3B0aW1pemVBbnl0aW1lU29vbjsKLWV4dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1
ZUZvck9wdGltaXplU29vbjsKLWV4dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZv
ck9wdGltaXplTmV4dEludm9jYXRpb247Ci0KLWV4dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50
ZXJJbmNyZW1lbnRGb3JMb29wOwotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlckluY3Jl
bWVudEZvclJldHVybjsKLQotZXh0ZXJuIHVuc2lnbmVkIGRlc2lyZWRTcGVjdWxhdGl2ZVN1Y2Nl
c3NGYWlsUmF0aW87Ci0KLWV4dGVybiB1bnNpZ25lZCBsaWtlbHlUb1Rha2VTbG93Q2FzZVRocmVz
aG9sZDsKLWV4dGVybiB1bnNpZ25lZCBjb3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZDsKLQotZXh0
ZXJuIHVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFzZTsKLWV4dGVybiB1bnNpZ25l
ZCBsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2VGb3JMb29wOwotCi1leHRlcm4gdW5zaWduZWQg
cmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJNYXg7Ci1leHRlcm4gdW5zaWduZWQgcmVvcHRpbWl6
YXRpb25SZXRyeUNvdW50ZXJTdGVwOwotCi1leHRlcm4gdW5zaWduZWQgbWluaW11bU9wdGltaXph
dGlvbkRlbGF5OwotZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1PcHRpbWl6YXRpb25EZWxheTsKLWV4
dGVybiBkb3VibGUgZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGU7Ci1leHRlcm4gZG91YmxlIGRl
c2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlOwotCi1leHRlcm4gdW5zaWduZWQgbWluaW11bU51bWJl
ck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNlOwotZXh0ZXJuIHVuc2lnbmVkIGdjTWFya1N0YWNrU2Vn
bWVudFNpemU7Ci1leHRlcm4gdW5zaWduZWQgbWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXA7Ci1l
eHRlcm4gdW5zaWduZWQgbWF4aW11bU51bWJlck9mU2hhcmVkU2VnbWVudHM7Ci1leHRlcm4gdW5z
aWduZWQgc2hhcmVkU3RhY2tXYWtldXBUaHJlc2hvbGQ7Ci1leHRlcm4gdW5zaWduZWQgbnVtYmVy
T2ZHQ01hcmtlcnM7Ci1leHRlcm4gdW5zaWduZWQgb3BhcXVlUm9vdE1lcmdlVGhyZXNob2xkOwog
CiB2b2lkIGluaXRpYWxpemVPcHRpb25zKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118762</attachid>
            <date>2011-12-12 03:19:22 -0800</date>
            <delta_ts>2011-12-15 06:23:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72938-20111212121921.patch</filename>
            <type>text/plain</type>
            <size>10814</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NTBlMzE1OGUzNjcwN2IxM2NhZGExMTYyYjk3N2NhYzUwNGZmMGE2Li4yOTAzMmNlYTdmYzFiMDZi
YTIwMDdmZjNhZTA0OGU4ZWJjZDU1NTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNyBAQAogMjAxMS0xMS0yOSAgQW5keSBXaW5nbyAgPHdpbmdvQGlnYWxpYS5jb20+CiAK
KyAgICAgICAgVXNlIG1vcmUgbWFjcm9sb2d5IGluIEpTQzo6T3B0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5jcHA6
CisgICAgICAgIChKU0M6Ok9wdGlvbnM6OmluaXRpYWxpemVPcHRpb25zKToKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDogVXNlIG1hY3JvcyB0byBlbnN1cmUgdGhhdCBhbGwgaGV1cmlzdGlj
cyBhcmUKKyAgICAgICAgZGVjbGFyZWQgYW5kIGhhdmUgaW5pdGlhbGl6ZXJzLgorCisyMDExLTEx
LTI5ICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwogICAgICAgICBSZW5hbWUgSlND
OjpIZXVyaXN0aWNzIHRvIEpTQzo6T3B0aW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmNwcAppbmRleCBiZjY4MzczZjEyNTE3N2E0ZDYzZDNhY2UyNTIwOTNjYjI4YTg1
MzIyLi44OTlmNjZlY2JhNjdiZTdhZWQwYzZhYzFkMGJlOTY1ODlhMDJlNzJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcApAQCAtNDQsNDcgKzQ0LDkgQEAKIAog
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBPcHRpb25zIHsKIAotdW5zaWduZWQgbWF4aW11bU9w
dGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7Ci0KLXVuc2lnbmVkIG1heGltdW1G
dW5jdGlvbkZvckNhbGxJbmxpbmVDYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotdW5zaWduZWQg
bWF4aW11bUZ1bmN0aW9uRm9yQ29uc3RydWN0SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3Vu
dDsKLQotdW5zaWduZWQgbWF4aW11bUlubGluaW5nRGVwdGg7Ci0KLWludDMyX3QgZXhlY3V0aW9u
Q291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlcldhcm1VcDsKLWludDMyX3QgZXhlY3V0aW9uQ291
bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXA7Ci1pbnQzMl90IGV4ZWN1dGlvbkNv
dW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6ZUFueXRpbWVTb29uOwotaW50MzJfdCBleGVjdXRpb25D
b3VudGVyVmFsdWVGb3JPcHRpbWl6ZVNvb247Ci1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1
ZUZvck9wdGltaXplTmV4dEludm9jYXRpb247Ci0KLWludDMyX3QgZXhlY3V0aW9uQ291bnRlcklu
Y3JlbWVudEZvckxvb3A7Ci1pbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JSZXR1
cm47Ci0KLXVuc2lnbmVkIGRlc2lyZWRTcGVjdWxhdGl2ZVN1Y2Nlc3NGYWlsUmF0aW87Ci0KLWRv
dWJsZSBsaWtlbHlUb1Rha2VTbG93Q2FzZVRocmVzaG9sZDsKLWRvdWJsZSBjb3VsZFRha2VTbG93
Q2FzZVRocmVzaG9sZDsKLXVuc2lnbmVkIGxpa2VseVRvVGFrZVNsb3dDYXNlTWluaW11bUNvdW50
OwotdW5zaWduZWQgY291bGRUYWtlU2xvd0Nhc2VNaW5pbXVtQ291bnQ7Ci0KLXVuc2lnbmVkIGxh
cmdlRmFpbENvdW50VGhyZXNob2xkQmFzZTsKLXVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhyZXNo
b2xkQmFzZUZvckxvb3A7Ci0KLXVuc2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4
OwotdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJTdGVwOwotCi11bnNpZ25lZCBt
aW5pbXVtT3B0aW1pemF0aW9uRGVsYXk7Ci11bnNpZ25lZCBtYXhpbXVtT3B0aW1pemF0aW9uRGVs
YXk7Ci1kb3VibGUgZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGU7Ci1kb3VibGUgZGVzaXJlZFBy
b2ZpbGVGdWxsbmVzc1JhdGU7Ci0KLXVuc2lnbmVkIG1pbmltdW1OdW1iZXJPZlNjYW5zQmV0d2Vl
blJlYmFsYW5jZTsKLXVuc2lnbmVkIGdjTWFya1N0YWNrU2VnbWVudFNpemU7Ci11bnNpZ25lZCBt
aW5pbXVtTnVtYmVyT2ZDZWxsc1RvS2VlcDsKLXVuc2lnbmVkIG1heGltdW1OdW1iZXJPZlNoYXJl
ZFNlZ21lbnRzOwotdW5zaWduZWQgc2hhcmVkU3RhY2tXYWtldXBUaHJlc2hvbGQ7Ci11bnNpZ25l
ZCBudW1iZXJPZkdDTWFya2VyczsKLXVuc2lnbmVkIG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZDsK
KyNkZWZpbmUgREVGSU5FKHR5cGUsIGNuYW1lLCBkZWZhdWx0X3ZhbCkgdHlwZSBjbmFtZTsKK0ZP
Ul9FQUNIX09QVElPTihERUZJTkUpCisjdW5kZWYgREVGSU5FCiAKICNpZiBFTkFCTEUoUlVOX1RJ
TUVfSEVVUklTVElDUykKIHN0YXRpYyBib29sIHBhcnNlKGNvbnN0IGNoYXIqIHN0cmluZywgaW50
MzJfdCYgdmFsdWUpCkBAIC0xMjUsNjMgKzg3LDM1IEBAIHZvaWQgc2V0SGV1cmlzdGljKFQmIHZh
cmlhYmxlLCBjb25zdCBjaGFyKiBuYW1lLCBVIHZhbHVlKQogCiB2b2lkIGluaXRpYWxpemVPcHRp
b25zKCkKIHsKLSAgICBTRVQobWF4aW11bU9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9u
Q291bnQsIDEwMDApOwotICAgIAotICAgIFNFVChtYXhpbXVtRnVuY3Rpb25Gb3JDYWxsSW5saW5l
Q2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgMTUwKTsKLSAgICBTRVQobWF4aW11bUZ1bmN0aW9u
Rm9yQ29uc3RydWN0SW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgODApOwotICAgIAot
ICAgIFNFVChtYXhpbXVtSW5saW5pbmdEZXB0aCwgNSk7Ci0KLSAgICBTRVQoZXhlY3V0aW9uQ291
bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlcldhcm1VcCwgICAgIC0xMDAwKTsKLSAgICBTRVQoZXhl
Y3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXAsIC01MDAwKTsKLSAg
ICBTRVQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yRG9udE9wdGltaXplQW55dGltZVNvb24sIHN0
ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKTsKLSAgICBTRVQoZXhlY3V0aW9uQ291
bnRlclZhbHVlRm9yT3B0aW1pemVTb29uLCAgICAgICAgICAgIC0xMDAwKTsKLSAgICBTRVQoZXhl
Y3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVOZXh0SW52b2NhdGlvbiwgIDApOworI2RlZmlu
ZSBJTklUKHR5cGUsIGNuYW1lLCBkZWZhdWx0X3ZhbCkgU0VUKGNuYW1lLCBkZWZhdWx0X3ZhbCk7
CisgICAgRk9SX0VBQ0hfT1BUSU9OKElOSVQpCisjdW5kZWYgSU5JVAogCi0gICAgU0VUKGV4ZWN1
dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JMb29wLCAgIDEpOwotICAgIFNFVChleGVjdXRpb25Db3Vu
dGVySW5jcmVtZW50Rm9yUmV0dXJuLCAxNSk7Ci0KLSAgICBTRVQoZGVzaXJlZFNwZWN1bGF0aXZl
U3VjY2Vzc0ZhaWxSYXRpbywgNik7Ci0gICAgCi0gICAgU0VUKGxpa2VseVRvVGFrZVNsb3dDYXNl
VGhyZXNob2xkLCAgICAwLjE1KTsKLSAgICBTRVQoY291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQs
ICAgICAgIDAuMDUpOyAvLyBTaG91bGRuJ3QgYmUgemVybyBiZWNhdXNlIHNvbWUgb3BzIHdpbGwg
c3B1cmlvdXNseSB0YWtlIHNsb3cgY2FzZSwgZm9yIGV4YW1wbGUgZm9yIGxpbmtpbmcgb3IgY2Fj
aGluZy4KLSAgICBTRVQobGlrZWx5VG9UYWtlU2xvd0Nhc2VNaW5pbXVtQ291bnQsIDEwMCk7Ci0g
ICAgU0VUKGNvdWxkVGFrZVNsb3dDYXNlTWluaW11bUNvdW50LCAgICAxMCk7CisgICAgLy8gTm93
IHdlIGluaXRpYWxpemUgaGV1cmlzdGljcyB3aG9zZSBkZWZhdWx0cyBhcmUgbm90IGtub3duIGF0
CisgICAgLy8gY29tcGlsZS10aW1lLgogCi0gICAgU0VUKGxhcmdlRmFpbENvdW50VGhyZXNob2xk
QmFzZSwgICAgICAgIDIwKTsKLSAgICBTRVQobGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRCYXNlRm9y
TG9vcCwgMSk7CisgICAgaWYgKCFnY01hcmtTdGFja1NlZ21lbnRTaXplKQorICAgICAgICBnY01h
cmtTdGFja1NlZ21lbnRTaXplID0gcGFnZVNpemUoKTsKIAotICAgIFNFVChyZW9wdGltaXphdGlv
blJldHJ5Q291bnRlclN0ZXAsIDEpOwotCi0gICAgU0VUKG1pbmltdW1PcHRpbWl6YXRpb25EZWxh
eSwgICAxKTsKLSAgICBTRVQobWF4aW11bU9wdGltaXphdGlvbkRlbGF5LCAgIDUpOwotICAgIFNF
VChkZXNpcmVkUHJvZmlsZUxpdmVuZXNzUmF0ZSwgMC43NSk7Ci0gICAgU0VUKGRlc2lyZWRQcm9m
aWxlRnVsbG5lc3NSYXRlLCAwLjM1KTsKLSAgICAKLSAgICBTRVQobWluaW11bU51bWJlck9mU2Nh
bnNCZXR3ZWVuUmViYWxhbmNlLCAxMDAwMCk7Ci0gICAgU0VUKGdjTWFya1N0YWNrU2VnbWVudFNp
emUsICAgICAgICAgICAgICAgcGFnZVNpemUoKSk7Ci0gICAgU0VUKG1pbmltdW1OdW1iZXJPZkNl
bGxzVG9LZWVwLCAgICAgICAgICAgMTApOwotICAgIFNFVChtYXhpbXVtTnVtYmVyT2ZTaGFyZWRT
ZWdtZW50cywgICAgICAgIDMpOwotICAgIFNFVChzaGFyZWRTdGFja1dha2V1cFRocmVzaG9sZCwg
ICAgICAgICAgIDEpOwotICAgIFNFVChvcGFxdWVSb290TWVyZ2VUaHJlc2hvbGQsICAgICAgICAg
ICAgIDEwMDApOwotCi0gICAgaW50IGNwdXNUb1VzZSA9IDE7CisgICAgaWYgKCFudW1iZXJPZkdD
TWFya2VycykgeworICAgICAgICBpbnQgY3B1c1RvVXNlID0gMTsKICNpZiBPUyhEQVJXSU4pICYm
IEVOQUJMRShQQVJBTExFTF9HQykKLSAgICBpbnQgbmFtZVsyXTsKLSAgICBzaXplX3QgdmFsdWVT
aXplID0gc2l6ZW9mKGNwdXNUb1VzZSk7Ci0gICAgbmFtZVswXSA9IENUTF9IVzsKLSAgICBuYW1l
WzFdID0gSFdfQVZBSUxDUFU7Ci0gICAgc3lzY3RsKG5hbWUsIDIsICZjcHVzVG9Vc2UsICZ2YWx1
ZVNpemUsIDAsIDApOworICAgICAgICBpbnQgbmFtZVsyXTsKKyAgICAgICAgc2l6ZV90IHZhbHVl
U2l6ZSA9IHNpemVvZihjcHVzVG9Vc2UpOworICAgICAgICBuYW1lWzBdID0gQ1RMX0hXOworICAg
ICAgICBuYW1lWzFdID0gSFdfQVZBSUxDUFU7CisgICAgICAgIHN5c2N0bChuYW1lLCAyLCAmY3B1
c1RvVXNlLCAmdmFsdWVTaXplLCAwLCAwKTsKICNlbmRpZgotICAgIC8vIFdlIGRvbid0IHNjYWxl
IHNvIHdlbGwgYmV5b25kIDQuCi0gICAgaWYgKGNwdXNUb1VzZSA+IDQpCi0gICAgICAgIGNwdXNU
b1VzZSA9IDQ7Ci0gICAgLy8gQmUgcGFyYW5vaWQsIGl0IGlzIHRoZSBPUyB3ZSdyZSBkZWFsaW5n
IHdpdGgsIGFmdGVyIGFsbC4KLSAgICBpZiAoY3B1c1RvVXNlIDwgMSkKLSAgICAgICAgY3B1c1Rv
VXNlID0gMTsKKyAgICAgICAgLy8gV2UgZG9uJ3Qgc2NhbGUgc28gd2VsbCBiZXlvbmQgNC4KKyAg
ICAgICAgaWYgKGNwdXNUb1VzZSA+IDQpCisgICAgICAgICAgICBjcHVzVG9Vc2UgPSA0OworICAg
ICAgICAvLyBCZSBwYXJhbm9pZCwgaXQgaXMgdGhlIE9TIHdlJ3JlIGRlYWxpbmcgd2l0aCwgYWZ0
ZXIgYWxsLgorICAgICAgICBpZiAoY3B1c1RvVXNlIDwgMSkKKyAgICAgICAgICAgIGNwdXNUb1Vz
ZSA9IDE7CisKKyAgICAgICAgbnVtYmVyT2ZHQ01hcmtlcnMgPSBjcHVzVG9Vc2U7CisgICAgfQog
ICAgIAotICAgIFNFVChudW1iZXJPZkdDTWFya2VycywgY3B1c1RvVXNlKTsKLQogICAgIEFTU0VS
VChleGVjdXRpb25Db3VudGVyVmFsdWVGb3JEb250T3B0aW1pemVBbnl0aW1lU29vbiA8PSBleGVj
dXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCk7CiAgICAgQVNTRVJU
KGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwIDw9IGV4ZWN1
dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJtVXApOwogICAgIEFTU0VSVChleGVj
dXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2FybVVwIDw9IGV4ZWN1dGlvbkNvdW50
ZXJWYWx1ZUZvck9wdGltaXplU29vbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmgKaW5kZXggY2IxMWY3ZmU5MjVhYzU5MDYxZGRhZWVlY2U4ZGI0NDIzY2Q2NTA2Mi4uZTE5
NTVlNzUxNDRmMDZlMzY2OGY1OWQ0NzE4OWY5NDkzOWFkMDRjMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wdGlvbnMuaApAQCAtMzAsNDcgKzMwLDYxIEBACiAKIG5hbWVzcGFjZSBK
U0MgeyBuYW1lc3BhY2UgT3B0aW9ucyB7CiAKLWV4dGVybiB1bnNpZ25lZCBtYXhpbXVtT3B0aW1p
emF0aW9uQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudDsKLQotZXh0ZXJuIHVuc2lnbmVkIG1heGlt
dW1GdW5jdGlvbkZvckNhbGxJbmxpbmVDYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotZXh0ZXJu
IHVuc2lnbmVkIG1heGltdW1GdW5jdGlvbkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3Ry
dWN0aW9uQ291bnQ7Ci0KLWV4dGVybiB1bnNpZ25lZCBtYXhpbXVtSW5saW5pbmdEZXB0aDsgLy8g
RGVwdGggb2YgaW5saW5lIHN0YWNrLCBzbyAxID0gbm8gaW5saW5pbmcsIDIgPSBvbmUgbGV2ZWws
IGV0Yy4KLQotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVB
ZnRlcldhcm1VcDsKLWV4dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGlt
aXplQWZ0ZXJMb25nV2FybVVwOwotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVl
Rm9yRG9udE9wdGltaXplQW55dGltZVNvb247Ci1leHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3Vu
dGVyVmFsdWVGb3JPcHRpbWl6ZVNvb247Ci1leHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3VudGVy
VmFsdWVGb3JPcHRpbWl6ZU5leHRJbnZvY2F0aW9uOwotCi1leHRlcm4gaW50MzJfdCBleGVjdXRp
b25Db3VudGVySW5jcmVtZW50Rm9yTG9vcDsKLWV4dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50
ZXJJbmNyZW1lbnRGb3JSZXR1cm47Ci0KLWV4dGVybiB1bnNpZ25lZCBkZXNpcmVkU3BlY3VsYXRp
dmVTdWNjZXNzRmFpbFJhdGlvOwotCi1leHRlcm4gZG91YmxlIGxpa2VseVRvVGFrZVNsb3dDYXNl
VGhyZXNob2xkOwotZXh0ZXJuIGRvdWJsZSBjb3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZDsKLWV4
dGVybiB1bnNpZ25lZCBsaWtlbHlUb1Rha2VTbG93Q2FzZU1pbmltdW1Db3VudDsKLWV4dGVybiB1
bnNpZ25lZCBjb3VsZFRha2VTbG93Q2FzZU1pbmltdW1Db3VudDsKLQotZXh0ZXJuIHVuc2lnbmVk
IGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFzZTsKLWV4dGVybiB1bnNpZ25lZCBsYXJnZUZhaWxD
b3VudFRocmVzaG9sZEJhc2VGb3JMb29wOwotCi1leHRlcm4gdW5zaWduZWQgcmVvcHRpbWl6YXRp
b25SZXRyeUNvdW50ZXJNYXg7Ci1leHRlcm4gdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNv
dW50ZXJTdGVwOwotCi1leHRlcm4gdW5zaWduZWQgbWluaW11bU9wdGltaXphdGlvbkRlbGF5Owot
ZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1PcHRpbWl6YXRpb25EZWxheTsKLWV4dGVybiBkb3VibGUg
ZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGU7Ci1leHRlcm4gZG91YmxlIGRlc2lyZWRQcm9maWxl
RnVsbG5lc3NSYXRlOwotCi1leHRlcm4gdW5zaWduZWQgbWluaW11bU51bWJlck9mU2NhbnNCZXR3
ZWVuUmViYWxhbmNlOwotZXh0ZXJuIHVuc2lnbmVkIGdjTWFya1N0YWNrU2VnbWVudFNpemU7Ci1l
eHRlcm4gdW5zaWduZWQgbWluaW11bU51bWJlck9mQ2VsbHNUb0tlZXA7Ci1leHRlcm4gdW5zaWdu
ZWQgbWF4aW11bU51bWJlck9mU2hhcmVkU2VnbWVudHM7Ci1leHRlcm4gdW5zaWduZWQgc2hhcmVk
U3RhY2tXYWtldXBUaHJlc2hvbGQ7Ci1leHRlcm4gdW5zaWduZWQgbnVtYmVyT2ZHQ01hcmtlcnM7
Ci1leHRlcm4gdW5zaWduZWQgb3BhcXVlUm9vdE1lcmdlVGhyZXNob2xkOworLy8gbWF4aW11bUlu
bGluaW5nRGVwdGggaXMgdGhlIG1heGltdW0gZGVwdGggb2YgaW5saW5lIHN0YWNrLCBzbyAxID0g
bm8KKy8vIGlubGluaW5nLCAyID0gb25lIGxldmVsLCBldGMKKworLy8gY291bGRUYWtlU2xvd0Nh
c2VUaHJlc2hvbGQgc2hvdWxkbid0IGJlIHplcm8gYmVjYXVzZSBzb21lIG9wcyB3aWxsIHNwdXJp
b3VzbHkKKy8vIHRha2Ugc2xvdyBjYXNlLCBmb3IgZXhhbXBsZSBmb3IgbGlua2luZyBvciBjYWNo
aW5nLgorCisjZGVmaW5lIEZPUl9FQUNIX0hFVVJJU1RJQyhtKSBcCisgICAgbSh1bnNpZ25lZCwg
bWF4aW11bU9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDEwMDApIFwKKyAg
ICBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bUZ1bmN0aW9uRm9yQ2FsbElubGluZUNhbmRpZGF0
ZUluc3RydWN0aW9uQ291bnQsIDE1MCkgXAorICAgIG0odW5zaWduZWQsIG1heGltdW1GdW5jdGlv
bkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDgwKSBcCisgICAg
XAorICAgIG0odW5zaWduZWQsIG1heGltdW1JbmxpbmluZ0RlcHRoLCA1KSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVy
VmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2FybVVwLCAgICAgIC0xMDAwKSBcCisgICAgbShpbnQzMl90
LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCwgIC01MDAw
KSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JEb250T3B0aW1pemVB
bnl0aW1lU29vbiwgIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKSBcCisgICAg
bShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZVNvb24sICAgICAgICAg
ICAgIC0xMDAwKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRp
bWl6ZU5leHRJbnZvY2F0aW9uLCAgIDApIFwKKyAgICBcCisgICAgbShpbnQzMl90LCBleGVjdXRp
b25Db3VudGVySW5jcmVtZW50Rm9yTG9vcCwgICAgICAgMSkgXAorICAgIG0oaW50MzJfdCwgZXhl
Y3V0aW9uQ291bnRlckluY3JlbWVudEZvclJldHVybiwgICAgIDE1KSBcCisgICAgXAorICAgIG0o
dW5zaWduZWQsIGRlc2lyZWRTcGVjdWxhdGl2ZVN1Y2Nlc3NGYWlsUmF0aW8sICAgIDYpIFwKKyAg
ICBcCisgICAgbShkb3VibGUsICAgbGlrZWx5VG9UYWtlU2xvd0Nhc2VUaHJlc2hvbGQsICAgICAg
ICAgMC4xNSkgXAorICAgIG0oZG91YmxlLCAgIGNvdWxkVGFrZVNsb3dDYXNlVGhyZXNob2xkLCAg
ICAgICAgICAgIDAuMDUpIFwKKyAgICBtKHVuc2lnbmVkLCBsaWtlbHlUb1Rha2VTbG93Q2FzZU1p
bmltdW1Db3VudCwgICAgICAxMDApIFwKKyAgICBtKHVuc2lnbmVkLCBjb3VsZFRha2VTbG93Q2Fz
ZU1pbmltdW1Db3VudCwgICAgICAgICAxMCkgXAorICAgIFwKKyAgICBtKHVuc2lnbmVkLCBsYXJn
ZUZhaWxDb3VudFRocmVzaG9sZEJhc2UsICAgICAgICAgICAyMCkgXAorICAgIG0odW5zaWduZWQs
IGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFzZUZvckxvb3AsICAgIDEpIFwKKyAgICBcCisgICAg
bSh1bnNpZ25lZCwgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJNYXgsICAgICAgICAgMCkgXAor
ICAgIG0odW5zaWduZWQsIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyU3RlcCwgICAgICAgIDEp
IFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwgbWluaW11bU9wdGltaXphdGlvbkRlbGF5LCAgICAg
ICAgICAgICAgMSkgXAorICAgIG0odW5zaWduZWQsIG1heGltdW1PcHRpbWl6YXRpb25EZWxheSwg
ICAgICAgICAgICAgIDUpIFwKKyAgICBtKGRvdWJsZSwgZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1Jh
dGUsICAgICAgICAgICAgICAwLjc1KSBcCisgICAgbShkb3VibGUsIGRlc2lyZWRQcm9maWxlRnVs
bG5lc3NSYXRlLCAgICAgICAgICAgICAgMC4zNSkgXAorICAgIFwKKyAgICBtKHVuc2lnbmVkLCBt
aW5pbXVtTnVtYmVyT2ZTY2Fuc0JldHdlZW5SZWJhbGFuY2UsICAxMDAwMCkgXAorICAgIG0odW5z
aWduZWQsIGdjTWFya1N0YWNrU2VnbWVudFNpemUsICAgICAgICAgICAgICAgIDApIFwKKyAgICBt
KHVuc2lnbmVkLCBtaW5pbXVtTnVtYmVyT2ZDZWxsc1RvS2VlcCwgICAgICAgICAgICAxMCkgXAor
ICAgIG0odW5zaWduZWQsIG1heGltdW1OdW1iZXJPZlNoYXJlZFNlZ21lbnRzLCAgICAgICAgIDMp
IFwKKyAgICBtKHVuc2lnbmVkLCBzaGFyZWRTdGFja1dha2V1cFRocmVzaG9sZCwgICAgICAgICAg
ICAxKSBcCisgICAgbSh1bnNpZ25lZCwgbnVtYmVyT2ZHQ01hcmtlcnMsICAgICAgICAgICAgICAg
ICAgICAgMCkgXAorICAgIG0odW5zaWduZWQsIG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZCwgICAg
ICAgICAgICAgIDEwMDApCisKKyNkZWZpbmUgRk9SX0VBQ0hfT1BUSU9OKG0pIFwKKyAgICBGT1Jf
RUFDSF9IRVVSSVNUSUMobSkKKworI2RlZmluZSBERUNMQVJFKHR5cGUsIGNuYW1lLCBkZWZhdWx0
X3ZhbCkgZXh0ZXJuIHR5cGUgY25hbWU7CitGT1JfRUFDSF9PUFRJT04oREVDTEFSRSkKKyN1bmRl
ZiBERUNMQVJFCiAKIHZvaWQgaW5pdGlhbGl6ZU9wdGlvbnMoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119418</attachid>
            <date>2011-12-15 06:23:53 -0800</date>
            <delta_ts>2011-12-15 13:29:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72938-20111215152351.patch</filename>
            <type>text/plain</type>
            <size>11204</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyOTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NWQxZTQ4ZmRkODhkNjdkNDkwZDI5MjkxZjUwNGVhY2VlZWIwNTQyLi42ZDJjYWVmYjk2Y2Q3MzY5
YWE1MmVlZTc3NDRlNjllNWVlNDVjZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMS0xMS0yOSAgQW5keSBXaW5nbyAgPHdpbmdvQGlnYWxpYS5jb20+CisK
KyAgICAgICAgVXNlIG1vcmUgbWFjcm9sb2d5IGluIEpTQzo6T3B0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5jcHA6
CisgICAgICAgIChKU0M6Ok9wdGlvbnM6OmluaXRpYWxpemVPcHRpb25zKToKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDogVXNlIG1hY3JvcyB0byBlbnN1cmUgdGhhdCBhbGwgaGV1cmlzdGlj
cyBhcmUKKyAgICAgICAgZGVjbGFyZWQgYW5kIGhhdmUgaW5pdGlhbGl6ZXJzLgorCiAyMDExLTEy
LTE1ICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBNaW5vciByZWZh
Y3RvciB0byBQYXJzZXI6OnBhcnNlVHJ5U3RhdGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09wdGlvbnMuY3BwCmluZGV4IDY4ZDEwYjdiZDk3ZjJjM2JiZjYyYjhmMGZmMWIwMjZj
NDc1Zjk1NWMuLjg5OWY2NmVjYmE2N2JlN2FlZDBjNmFjMWQwYmU5NjU4OWEwMmU3MmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCkBAIC00NCw1MSArNDQsOSBA
QAogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIE9wdGlvbnMgewogCi11bnNpZ25lZCBtYXhp
bXVtT3B0aW1pemF0aW9uQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudDsKLQotdW5zaWduZWQgbWF4
aW11bUZ1bmN0aW9uRm9yQ2FsbElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQ7Ci11bnNp
Z25lZCBtYXhpbXVtRnVuY3Rpb25Gb3JDb25zdHJ1Y3RJbmxpbmVDYW5kaWRhdGVJbnN0cnVjdGlv
bkNvdW50OwotCi11bnNpZ25lZCBtYXhpbXVtSW5saW5pbmdEZXB0aDsKLQotaW50MzJfdCBleGVj
dXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2FybVVwOwotaW50MzJfdCBleGVjdXRp
b25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcDsKLWludDMyX3QgZXhlY3V0
aW9uQ291bnRlclZhbHVlRm9yRG9udE9wdGltaXplQW55dGltZVNvb247Ci1pbnQzMl90IGV4ZWN1
dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplU29vbjsKLWludDMyX3QgZXhlY3V0aW9uQ291bnRl
clZhbHVlRm9yT3B0aW1pemVOZXh0SW52b2NhdGlvbjsKLQotaW50MzJfdCBleGVjdXRpb25Db3Vu
dGVySW5jcmVtZW50Rm9yTG9vcDsKLWludDMyX3QgZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZv
clJldHVybjsKLQotdW5zaWduZWQgZGVzaXJlZFNwZWN1bGF0aXZlU3VjY2Vzc0ZhaWxSYXRpbzsK
LQotZG91YmxlIGxpa2VseVRvVGFrZVNsb3dDYXNlVGhyZXNob2xkOwotZG91YmxlIGNvdWxkVGFr
ZVNsb3dDYXNlVGhyZXNob2xkOwotdW5zaWduZWQgbGlrZWx5VG9UYWtlU2xvd0Nhc2VNaW5pbXVt
Q291bnQ7Ci11bnNpZ25lZCBjb3VsZFRha2VTbG93Q2FzZU1pbmltdW1Db3VudDsKLQotZG91Ymxl
IG9zckV4aXRQcm9taW5lbmNlRm9yRnJlcXVlbnRFeGl0U2l0ZTsKLQotdW5zaWduZWQgbGFyZ2VG
YWlsQ291bnRUaHJlc2hvbGRCYXNlOwotdW5zaWduZWQgbGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRC
YXNlRm9yTG9vcDsKLQotdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJNYXg7Ci11
bnNpZ25lZCByZW9wdGltaXphdGlvblJldHJ5Q291bnRlclN0ZXA7Ci0KLXVuc2lnbmVkIG1pbmlt
dW1PcHRpbWl6YXRpb25EZWxheTsKLXVuc2lnbmVkIG1heGltdW1PcHRpbWl6YXRpb25EZWxheTsK
LWRvdWJsZSBkZXNpcmVkUHJvZmlsZUxpdmVuZXNzUmF0ZTsKLWRvdWJsZSBkZXNpcmVkUHJvZmls
ZUZ1bGxuZXNzUmF0ZTsKLQotZG91YmxlIGRvdWJsZVZvdGVSYXRpb0ZvckRvdWJsZUZvcm1hdDsK
LQotdW5zaWduZWQgbWluaW11bU51bWJlck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNlOwotdW5zaWdu
ZWQgZ2NNYXJrU3RhY2tTZWdtZW50U2l6ZTsKLXVuc2lnbmVkIG1pbmltdW1OdW1iZXJPZkNlbGxz
VG9LZWVwOwotdW5zaWduZWQgbWF4aW11bU51bWJlck9mU2hhcmVkU2VnbWVudHM7Ci11bnNpZ25l
ZCBzaGFyZWRTdGFja1dha2V1cFRocmVzaG9sZDsKLXVuc2lnbmVkIG51bWJlck9mR0NNYXJrZXJz
OwotdW5zaWduZWQgb3BhcXVlUm9vdE1lcmdlVGhyZXNob2xkOworI2RlZmluZSBERUZJTkUodHlw
ZSwgY25hbWUsIGRlZmF1bHRfdmFsKSB0eXBlIGNuYW1lOworRk9SX0VBQ0hfT1BUSU9OKERFRklO
RSkKKyN1bmRlZiBERUZJTkUKIAogI2lmIEVOQUJMRShSVU5fVElNRV9IRVVSSVNUSUNTKQogc3Rh
dGljIGJvb2wgcGFyc2UoY29uc3QgY2hhciogc3RyaW5nLCBpbnQzMl90JiB2YWx1ZSkKQEAgLTEy
OSw2NyArODcsMzUgQEAgdm9pZCBzZXRIZXVyaXN0aWMoVCYgdmFyaWFibGUsIGNvbnN0IGNoYXIq
IG5hbWUsIFUgdmFsdWUpCiAKIHZvaWQgaW5pdGlhbGl6ZU9wdGlvbnMoKQogewotICAgIFNFVCht
YXhpbXVtT3B0aW1pemF0aW9uQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgMTAwMCk7Ci0gICAg
Ci0gICAgU0VUKG1heGltdW1GdW5jdGlvbkZvckNhbGxJbmxpbmVDYW5kaWRhdGVJbnN0cnVjdGlv
bkNvdW50LCAxNTApOwotICAgIFNFVChtYXhpbXVtRnVuY3Rpb25Gb3JDb25zdHJ1Y3RJbmxpbmVD
YW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50LCA4MCk7Ci0gICAgCi0gICAgU0VUKG1heGltdW1Jbmxp
bmluZ0RlcHRoLCA1KTsKLQotICAgIFNFVChleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6
ZUFmdGVyV2FybVVwLCAgICAgLTEwMDApOwotICAgIFNFVChleGVjdXRpb25Db3VudGVyVmFsdWVG
b3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCwgLTUwMDApOwotICAgIFNFVChleGVjdXRpb25Db3Vu
dGVyVmFsdWVGb3JEb250T3B0aW1pemVBbnl0aW1lU29vbiwgc3RkOjpudW1lcmljX2xpbWl0czxp
bnQzMl90Pjo6bWluKCkpOwotICAgIFNFVChleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6
ZVNvb24sICAgICAgICAgICAgLTEwMDApOwotICAgIFNFVChleGVjdXRpb25Db3VudGVyVmFsdWVG
b3JPcHRpbWl6ZU5leHRJbnZvY2F0aW9uLCAgMCk7CisjZGVmaW5lIElOSVQodHlwZSwgY25hbWUs
IGRlZmF1bHRfdmFsKSBTRVQoY25hbWUsIGRlZmF1bHRfdmFsKTsKKyAgICBGT1JfRUFDSF9PUFRJ
T04oSU5JVCkKKyN1bmRlZiBJTklUCiAKLSAgICBTRVQoZXhlY3V0aW9uQ291bnRlckluY3JlbWVu
dEZvckxvb3AsICAgMSk7Ci0gICAgU0VUKGV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JSZXR1
cm4sIDE1KTsKLQotICAgIFNFVChkZXNpcmVkU3BlY3VsYXRpdmVTdWNjZXNzRmFpbFJhdGlvLCA2
KTsKLSAgICAKLSAgICBTRVQobGlrZWx5VG9UYWtlU2xvd0Nhc2VUaHJlc2hvbGQsICAgIDAuMTUp
OwotICAgIFNFVChjb3VsZFRha2VTbG93Q2FzZVRocmVzaG9sZCwgICAgICAgMC4wNSk7IC8vIFNo
b3VsZG4ndCBiZSB6ZXJvIGJlY2F1c2Ugc29tZSBvcHMgd2lsbCBzcHVyaW91c2x5IHRha2Ugc2xv
dyBjYXNlLCBmb3IgZXhhbXBsZSBmb3IgbGlua2luZyBvciBjYWNoaW5nLgotICAgIFNFVChsaWtl
bHlUb1Rha2VTbG93Q2FzZU1pbmltdW1Db3VudCwgMTAwKTsKLSAgICBTRVQoY291bGRUYWtlU2xv
d0Nhc2VNaW5pbXVtQ291bnQsICAgIDEwKTsKLSAgICAKLSAgICBTRVQob3NyRXhpdFByb21pbmVu
Y2VGb3JGcmVxdWVudEV4aXRTaXRlLCAwLjMpOworICAgIC8vIE5vdyB3ZSBpbml0aWFsaXplIGhl
dXJpc3RpY3Mgd2hvc2UgZGVmYXVsdHMgYXJlIG5vdCBrbm93biBhdAorICAgIC8vIGNvbXBpbGUt
dGltZS4KIAotICAgIFNFVChsYXJnZUZhaWxDb3VudFRocmVzaG9sZEJhc2UsICAgICAgICAyMCk7
Ci0gICAgU0VUKGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFzZUZvckxvb3AsIDEpOworICAgIGlm
ICghZ2NNYXJrU3RhY2tTZWdtZW50U2l6ZSkKKyAgICAgICAgZ2NNYXJrU3RhY2tTZWdtZW50U2l6
ZSA9IHBhZ2VTaXplKCk7CiAKLSAgICBTRVQocmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJTdGVw
LCAxKTsKLQotICAgIFNFVChtaW5pbXVtT3B0aW1pemF0aW9uRGVsYXksICAgMSk7Ci0gICAgU0VU
KG1heGltdW1PcHRpbWl6YXRpb25EZWxheSwgICA1KTsKLSAgICBTRVQoZGVzaXJlZFByb2ZpbGVM
aXZlbmVzc1JhdGUsIDAuNzUpOwotICAgIFNFVChkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZSwg
MC4zNSk7Ci0gICAgCi0gICAgU0VUKGRvdWJsZVZvdGVSYXRpb0ZvckRvdWJsZUZvcm1hdCwgMik7
Ci0gICAgCi0gICAgU0VUKG1pbmltdW1OdW1iZXJPZlNjYW5zQmV0d2VlblJlYmFsYW5jZSwgMTAw
MDApOwotICAgIFNFVChnY01hcmtTdGFja1NlZ21lbnRTaXplLCAgICAgICAgICAgICAgIHBhZ2VT
aXplKCkpOwotICAgIFNFVChtaW5pbXVtTnVtYmVyT2ZDZWxsc1RvS2VlcCwgICAgICAgICAgIDEw
KTsKLSAgICBTRVQobWF4aW11bU51bWJlck9mU2hhcmVkU2VnbWVudHMsICAgICAgICAzKTsKLSAg
ICBTRVQoc2hhcmVkU3RhY2tXYWtldXBUaHJlc2hvbGQsICAgICAgICAgICAxKTsKLSAgICBTRVQo
b3BhcXVlUm9vdE1lcmdlVGhyZXNob2xkLCAgICAgICAgICAgICAxMDAwKTsKLQotICAgIGludCBj
cHVzVG9Vc2UgPSAxOworICAgIGlmICghbnVtYmVyT2ZHQ01hcmtlcnMpIHsKKyAgICAgICAgaW50
IGNwdXNUb1VzZSA9IDE7CiAjaWYgT1MoREFSV0lOKSAmJiBFTkFCTEUoUEFSQUxMRUxfR0MpCi0g
ICAgaW50IG5hbWVbMl07Ci0gICAgc2l6ZV90IHZhbHVlU2l6ZSA9IHNpemVvZihjcHVzVG9Vc2Up
OwotICAgIG5hbWVbMF0gPSBDVExfSFc7Ci0gICAgbmFtZVsxXSA9IEhXX0FWQUlMQ1BVOwotICAg
IHN5c2N0bChuYW1lLCAyLCAmY3B1c1RvVXNlLCAmdmFsdWVTaXplLCAwLCAwKTsKKyAgICAgICAg
aW50IG5hbWVbMl07CisgICAgICAgIHNpemVfdCB2YWx1ZVNpemUgPSBzaXplb2YoY3B1c1RvVXNl
KTsKKyAgICAgICAgbmFtZVswXSA9IENUTF9IVzsKKyAgICAgICAgbmFtZVsxXSA9IEhXX0FWQUlM
Q1BVOworICAgICAgICBzeXNjdGwobmFtZSwgMiwgJmNwdXNUb1VzZSwgJnZhbHVlU2l6ZSwgMCwg
MCk7CiAjZW5kaWYKLSAgICAvLyBXZSBkb24ndCBzY2FsZSBzbyB3ZWxsIGJleW9uZCA0LgotICAg
IGlmIChjcHVzVG9Vc2UgPiA0KQotICAgICAgICBjcHVzVG9Vc2UgPSA0OwotICAgIC8vIEJlIHBh
cmFub2lkLCBpdCBpcyB0aGUgT1Mgd2UncmUgZGVhbGluZyB3aXRoLCBhZnRlciBhbGwuCi0gICAg
aWYgKGNwdXNUb1VzZSA8IDEpCi0gICAgICAgIGNwdXNUb1VzZSA9IDE7CisgICAgICAgIC8vIFdl
IGRvbid0IHNjYWxlIHNvIHdlbGwgYmV5b25kIDQuCisgICAgICAgIGlmIChjcHVzVG9Vc2UgPiA0
KQorICAgICAgICAgICAgY3B1c1RvVXNlID0gNDsKKyAgICAgICAgLy8gQmUgcGFyYW5vaWQsIGl0
IGlzIHRoZSBPUyB3ZSdyZSBkZWFsaW5nIHdpdGgsIGFmdGVyIGFsbC4KKyAgICAgICAgaWYgKGNw
dXNUb1VzZSA8IDEpCisgICAgICAgICAgICBjcHVzVG9Vc2UgPSAxOworCisgICAgICAgIG51bWJl
ck9mR0NNYXJrZXJzID0gY3B1c1RvVXNlOworICAgIH0KICAgICAKLSAgICBTRVQobnVtYmVyT2ZH
Q01hcmtlcnMsIGNwdXNUb1VzZSk7Ci0KICAgICBBU1NFUlQoZXhlY3V0aW9uQ291bnRlclZhbHVl
Rm9yRG9udE9wdGltaXplQW55dGltZVNvb24gPD0gZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0
aW1pemVBZnRlckxvbmdXYXJtVXApOwogICAgIEFTU0VSVChleGVjdXRpb25Db3VudGVyVmFsdWVG
b3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCA8PSBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRp
bWl6ZUFmdGVyV2FybVVwKTsKICAgICBBU1NFUlQoZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0
aW1pemVBZnRlcldhcm1VcCA8PSBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZVNvb24p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCmluZGV4IGY3Y2M1ZjRlOGVh
NmFjNmNmNTI1MzQzOGQ1ZjM3MzE4NTc3MjZiOGQuLjJmODBiZjY5MmQ2NGY4ZjM3MjI3NjVlMGU3
MGQ5NjFmNjFmYmZjNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgK
QEAgLTMwLDUxICszMCw2NSBAQAogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIE9wdGlvbnMg
ewogCi1leHRlcm4gdW5zaWduZWQgbWF4aW11bU9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3RydWN0
aW9uQ291bnQ7Ci0KLWV4dGVybiB1bnNpZ25lZCBtYXhpbXVtRnVuY3Rpb25Gb3JDYWxsSW5saW5l
Q2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudDsKLWV4dGVybiB1bnNpZ25lZCBtYXhpbXVtRnVuY3Rp
b25Gb3JDb25zdHJ1Y3RJbmxpbmVDYW5kaWRhdGVJbnN0cnVjdGlvbkNvdW50OwotCi1leHRlcm4g
dW5zaWduZWQgbWF4aW11bUlubGluaW5nRGVwdGg7IC8vIERlcHRoIG9mIGlubGluZSBzdGFjaywg
c28gMSA9IG5vIGlubGluaW5nLCAyID0gb25lIGxldmVsLCBldGMuCi0KLWV4dGVybiBpbnQzMl90
IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvck9wdGltaXplQWZ0ZXJXYXJtVXA7Ci1leHRlcm4gaW50
MzJfdCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcDsKLWV4
dGVybiBpbnQzMl90IGV4ZWN1dGlvbkNvdW50ZXJWYWx1ZUZvckRvbnRPcHRpbWl6ZUFueXRpbWVT
b29uOwotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVTb29u
OwotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlclZhbHVlRm9yT3B0aW1pemVOZXh0SW52
b2NhdGlvbjsKLQotZXh0ZXJuIGludDMyX3QgZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZvckxv
b3A7Ci1leHRlcm4gaW50MzJfdCBleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yUmV0dXJuOwot
Ci1leHRlcm4gdW5zaWduZWQgZGVzaXJlZFNwZWN1bGF0aXZlU3VjY2Vzc0ZhaWxSYXRpbzsKLQot
ZXh0ZXJuIGRvdWJsZSBsaWtlbHlUb1Rha2VTbG93Q2FzZVRocmVzaG9sZDsKLWV4dGVybiBkb3Vi
bGUgY291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQ7Ci1leHRlcm4gdW5zaWduZWQgbGlrZWx5VG9U
YWtlU2xvd0Nhc2VNaW5pbXVtQ291bnQ7Ci1leHRlcm4gdW5zaWduZWQgY291bGRUYWtlU2xvd0Nh
c2VNaW5pbXVtQ291bnQ7Ci0KLWV4dGVybiBkb3VibGUgb3NyRXhpdFByb21pbmVuY2VGb3JGcmVx
dWVudEV4aXRTaXRlOwotCi1leHRlcm4gdW5zaWduZWQgbGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRC
YXNlOwotZXh0ZXJuIHVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFzZUZvckxvb3A7
Ci0KLWV4dGVybiB1bnNpZ25lZCByZW9wdGltaXphdGlvblJldHJ5Q291bnRlck1heDsKLWV4dGVy
biB1bnNpZ25lZCByZW9wdGltaXphdGlvblJldHJ5Q291bnRlclN0ZXA7Ci0KLWV4dGVybiB1bnNp
Z25lZCBtaW5pbXVtT3B0aW1pemF0aW9uRGVsYXk7Ci1leHRlcm4gdW5zaWduZWQgbWF4aW11bU9w
dGltaXphdGlvbkRlbGF5OwotZXh0ZXJuIGRvdWJsZSBkZXNpcmVkUHJvZmlsZUxpdmVuZXNzUmF0
ZTsKLWV4dGVybiBkb3VibGUgZGVzaXJlZFByb2ZpbGVGdWxsbmVzc1JhdGU7Ci0KLWV4dGVybiBk
b3VibGUgZG91YmxlVm90ZVJhdGlvRm9yRG91YmxlRm9ybWF0OwotCi1leHRlcm4gdW5zaWduZWQg
bWluaW11bU51bWJlck9mU2NhbnNCZXR3ZWVuUmViYWxhbmNlOwotZXh0ZXJuIHVuc2lnbmVkIGdj
TWFya1N0YWNrU2VnbWVudFNpemU7Ci1leHRlcm4gdW5zaWduZWQgbWluaW11bU51bWJlck9mQ2Vs
bHNUb0tlZXA7Ci1leHRlcm4gdW5zaWduZWQgbWF4aW11bU51bWJlck9mU2hhcmVkU2VnbWVudHM7
Ci1leHRlcm4gdW5zaWduZWQgc2hhcmVkU3RhY2tXYWtldXBUaHJlc2hvbGQ7Ci1leHRlcm4gdW5z
aWduZWQgbnVtYmVyT2ZHQ01hcmtlcnM7Ci1leHRlcm4gdW5zaWduZWQgb3BhcXVlUm9vdE1lcmdl
VGhyZXNob2xkOworLy8gbWF4aW11bUlubGluaW5nRGVwdGggaXMgdGhlIG1heGltdW0gZGVwdGgg
b2YgaW5saW5lIHN0YWNrLCBzbyAxID0gbm8KKy8vIGlubGluaW5nLCAyID0gb25lIGxldmVsLCBl
dGMKKworLy8gY291bGRUYWtlU2xvd0Nhc2VUaHJlc2hvbGQgc2hvdWxkbid0IGJlIHplcm8gYmVj
YXVzZSBzb21lIG9wcyB3aWxsIHNwdXJpb3VzbHkKKy8vIHRha2Ugc2xvdyBjYXNlLCBmb3IgZXhh
bXBsZSBmb3IgbGlua2luZyBvciBjYWNoaW5nLgorCisjZGVmaW5lIEZPUl9FQUNIX0hFVVJJU1RJ
QyhtKSBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bU9wdGltaXphdGlvbkNhbmRpZGF0ZUluc3Ry
dWN0aW9uQ291bnQsIDEwMDApIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwgbWF4aW11bUZ1bmN0
aW9uRm9yQ2FsbElubGluZUNhbmRpZGF0ZUluc3RydWN0aW9uQ291bnQsIDE1MCkgXAorICAgIG0o
dW5zaWduZWQsIG1heGltdW1GdW5jdGlvbkZvckNvbnN0cnVjdElubGluZUNhbmRpZGF0ZUluc3Ry
dWN0aW9uQ291bnQsIDgwKSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIG1heGltdW1Jbmxpbmlu
Z0RlcHRoLCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBcCisgICAgbShp
bnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZUFmdGVyV2FybVVwLCAgICAg
IC0xMDAwKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6
ZUFmdGVyTG9uZ1dhcm1VcCwgIC01MDAwKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3Vu
dGVyVmFsdWVGb3JEb250T3B0aW1pemVBbnl0aW1lU29vbiwgIHN0ZDo6bnVtZXJpY19saW1pdHM8
aW50MzJfdD46Om1pbigpKSBcCisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVyVmFsdWVG
b3JPcHRpbWl6ZVNvb24sICAgICAgICAgICAgIC0xMDAwKSBcCisgICAgbShpbnQzMl90LCBleGVj
dXRpb25Db3VudGVyVmFsdWVGb3JPcHRpbWl6ZU5leHRJbnZvY2F0aW9uLCAgIDApIFwKKyAgICBc
CisgICAgbShpbnQzMl90LCBleGVjdXRpb25Db3VudGVySW5jcmVtZW50Rm9yTG9vcCwgICAgICAg
MSkgXAorICAgIG0oaW50MzJfdCwgZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZvclJldHVybiwg
ICAgIDE1KSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIGRlc2lyZWRTcGVjdWxhdGl2ZVN1Y2Nl
c3NGYWlsUmF0aW8sICAgIDYpIFwKKyAgICBcCisgICAgbShkb3VibGUsICAgbGlrZWx5VG9UYWtl
U2xvd0Nhc2VUaHJlc2hvbGQsICAgICAgICAgMC4xNSkgXAorICAgIG0oZG91YmxlLCAgIGNvdWxk
VGFrZVNsb3dDYXNlVGhyZXNob2xkLCAgICAgICAgICAgIDAuMDUpIFwKKyAgICBtKHVuc2lnbmVk
LCBsaWtlbHlUb1Rha2VTbG93Q2FzZU1pbmltdW1Db3VudCwgICAgICAxMDApIFwKKyAgICBtKHVu
c2lnbmVkLCBjb3VsZFRha2VTbG93Q2FzZU1pbmltdW1Db3VudCwgICAgICAgICAxMCkgXAorICAg
IFwKKyAgICBtKGRvdWJsZSwgICBvc3JFeGl0UHJvbWluZW5jZUZvckZyZXF1ZW50RXhpdFNpdGUs
ICAwLjMpIFwKKyAgICBcCisgICAgbSh1bnNpZ25lZCwgbGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRC
YXNlLCAgICAgICAgICAgMjApIFwKKyAgICBtKHVuc2lnbmVkLCBsYXJnZUZhaWxDb3VudFRocmVz
aG9sZEJhc2VGb3JMb29wLCAgICAxKSBcCisgICAgXAorICAgIG0odW5zaWduZWQsIHJlb3B0aW1p
emF0aW9uUmV0cnlDb3VudGVyTWF4LCAgICAgICAgIDApIFwKKyAgICBtKHVuc2lnbmVkLCByZW9w
dGltaXphdGlvblJldHJ5Q291bnRlclN0ZXAsICAgICAgICAxKSBcCisgICAgXAorICAgIG0odW5z
aWduZWQsIG1pbmltdW1PcHRpbWl6YXRpb25EZWxheSwgICAgICAgICAgICAgIDEpIFwKKyAgICBt
KHVuc2lnbmVkLCBtYXhpbXVtT3B0aW1pemF0aW9uRGVsYXksICAgICAgICAgICAgICA1KSBcCisg
ICAgbShkb3VibGUsIGRlc2lyZWRQcm9maWxlTGl2ZW5lc3NSYXRlLCAgICAgICAgICAgICAgMC43
NSkgXAorICAgIG0oZG91YmxlLCBkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZSwgICAgICAgICAg
ICAgIDAuMzUpIFwKKyAgICBcCisgICAgbShkb3VibGUsICAgZG91YmxlVm90ZVJhdGlvRm9yRG91
YmxlRm9ybWF0LCAgICAgICAgMikgXAorICAgIFwKKyAgICBtKHVuc2lnbmVkLCBtaW5pbXVtTnVt
YmVyT2ZTY2Fuc0JldHdlZW5SZWJhbGFuY2UsICAxMDAwMCkgXAorICAgIG0odW5zaWduZWQsIGdj
TWFya1N0YWNrU2VnbWVudFNpemUsICAgICAgICAgICAgICAgIDApIFwKKyAgICBtKHVuc2lnbmVk
LCBtaW5pbXVtTnVtYmVyT2ZDZWxsc1RvS2VlcCwgICAgICAgICAgICAxMCkgXAorICAgIG0odW5z
aWduZWQsIG1heGltdW1OdW1iZXJPZlNoYXJlZFNlZ21lbnRzLCAgICAgICAgIDMpIFwKKyAgICBt
KHVuc2lnbmVkLCBzaGFyZWRTdGFja1dha2V1cFRocmVzaG9sZCwgICAgICAgICAgICAxKSBcCisg
ICAgbSh1bnNpZ25lZCwgbnVtYmVyT2ZHQ01hcmtlcnMsICAgICAgICAgICAgICAgICAgICAgMCkg
XAorICAgIG0odW5zaWduZWQsIG9wYXF1ZVJvb3RNZXJnZVRocmVzaG9sZCwgICAgICAgICAgICAg
IDEwMDApCisKKyNkZWZpbmUgRk9SX0VBQ0hfT1BUSU9OKG0pIFwKKyAgICBGT1JfRUFDSF9IRVVS
SVNUSUMobSkKKworI2RlZmluZSBERUNMQVJFKHR5cGUsIGNuYW1lLCBkZWZhdWx0X3ZhbCkgZXh0
ZXJuIHR5cGUgY25hbWU7CitGT1JfRUFDSF9PUFRJT04oREVDTEFSRSkKKyN1bmRlZiBERUNMQVJF
CiAKIHZvaWQgaW5pdGlhbGl6ZU9wdGlvbnMoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>