<?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>29940</bug_id>
          
          <creation_ts>2009-09-30 16:07:36 -0700</creation_ts>
          <short_desc>[V8] HTMLAudio, HTMLImageElement, and HTMLOptionElement are constructable.</short_desc>
          <delta_ts>2009-09-30 20:00:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151386</commentid>
    <comment_count>0</comment_count>
      <attachid>40406</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-30 16:07:36 -0700</bug_when>
    <thetext>Created attachment 40406
Patch v1

Due to my refactoring earlier this year, I accidentally made HTML(Audio|Image|Op
tion)Element properties constructable. This patch mimics JSC&apos;s behavior and crea
tes a distinction between them and just plain window.Audio, Image, and Option.[A[B</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151388</commentid>
    <comment_count>1</comment_count>
      <attachid>40406</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-30 16:09:36 -0700</bug_when>
    <thetext>Comment on attachment 40406
Patch v1

Missing bug URL :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151390</commentid>
    <comment_count>2</comment_count>
      <attachid>40407</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-30 16:15:12 -0700</bug_when>
    <thetext>Created attachment 40407
Make things less constructable, v2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151392</commentid>
    <comment_count>3</comment_count>
      <attachid>40407</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-30 16:22:31 -0700</bug_when>
    <thetext>Comment on attachment 40407
Make things less constructable, v2.

Real thing coming up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151393</commentid>
    <comment_count>4</comment_count>
      <attachid>40408</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-30 16:23:12 -0700</bug_when>
    <thetext>Created attachment 40408
Make things less constructable, v3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151431</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-30 20:00:10 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/48955.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40406</attachid>
            <date>2009-09-30 16:07:36 -0700</date>
            <delta_ts>2009-09-30 16:09:35 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>20090930160734.patch</filename>
            <type>text/plain</type>
            <size>18586</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWFjYzNkYy4uOTRiZTMyYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAwOS0wOS0zMCAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gSFRNTEF1ZGlvRWxlbWVudCwgSFRNTEltYWdlRWxl
bWVudCwgYW5kIEhUTUxPcHRpb25FbGVtZW50IGFyZSBjb25zdHJ1Y3RhYmxlLCBidXQgdGhleSBz
aG91bGRuJ3QgYmUuCisgICAgICAgIE9ubHkgQXVkaW8sIEltYWdlLCBhbmQgT3B0aW9uIHNob3Vs
ZCBiZSBjb25zdHJ1Y3RhYmxlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL2RvbS1jb25zdHJ1
Y3Rvci5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEFkZGVkIG5ldyBmaWxlcyB0byBw
cm9qZWN0LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOiBN
b2RpZmllZCB0byBnZW5lcmF0ZSBjdXN0b20gY29uc3RydWN0b3JzLgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6
OmdldFRlbXBsYXRlKTogUmVtb3ZlZCBoYW5kbGluZyBvZiBIVE1MSW1hZ2VFbGVtZW50LCBIVE1M
T3B0aW9uRWxlbWVudAorICAgICAgICAgIGFuZCBIVE1MQXVkaW9FbGVtZW50IGNvbnN0cnVjdGlv
bi4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5o
OiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1
Y3Rvci5oOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhUTUxPcHRpb25FbGVtZW50
Q29uc3RydWN0b3IuaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhJbmRleC5jcHA6
IEFkZGVkIG5ldyBoZWFkZXJzLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SW5kZXguaDogQWRk
ZWQgQXVkaW8sIEltYWdlIGFuZCBPcHRpb24gZGVjbHMuCisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QUNDRVNTT1Jf
R0VUVEVSKTogQWRkZWQgY3VzdG9tIGNvbnN0cnVjdG9ycy4KKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlKTogQWRkZWQg
Y3VzdG9tIHRlbXBsYXRlIGNyZWF0b3IuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEhU
TUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlKTogRGl0dG8uCisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1w
bGF0ZSk6IERpdHRvLgorCiAyMDA5LTA5LTI5ICBEYXZlIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvbiBIb25leWN1dHQuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDQzZTczOWMuLmVh
ODA5MjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC02NjksNiArNjY5LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEZpbGVMaXN0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yLmNwcCcsCisgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yLmgnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENvbGxlY3Rpb25DdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRGF0YUdyaWRFbGVtZW50
Q3VzdG9tLmNwcCcsCkBAIC02NzgsOCArNjc5LDEwIEBACiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9y
LmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVu
dENvbnN0cnVjdG9yLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJ
bnB1dEVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmNwcCcsCisgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5oJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MUGx1Z0luRWxlbWVudEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxTZWxlY3RF
bGVtZW50Q29sbGVjdGlvbkN1c3RvbS5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0KaW5kZXggN2YxNTA4Yi4uMWRhY2ZkMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC05NTgsOCArOTU4LDEyIEBAIHN1
YiBHZW5lcmF0ZUJhdGNoZWRBdHRyaWJ1dGVEYXRhCiAgICAgICAgICAgICBteSAkY29uc3RydWN0
b3JUeXBlID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRhdHRyaWJ1dGUtPnNpZ25hdHVy
ZS0+dHlwZSk7CiAgICAgICAgICAgICAkY29uc3RydWN0b3JUeXBlID1+IHMvQ29uc3RydWN0b3Ik
Ly87CiAgICAgICAgICAgICBteSAkY29uc3RydWN0b3JJbmRleCA9IHVjKCRjb25zdHJ1Y3RvclR5
cGUpOwotICAgICAgICAgICAgJGRhdGEgPSAiVjhDbGFzc0luZGV4Ojoke2NvbnN0cnVjdG9ySW5k
ZXh9IjsKLSAgICAgICAgICAgICRnZXR0ZXIgPSAiJHtpbnRlcmZhY2VOYW1lfUludGVybmFsOjok
e2ludGVyZmFjZU5hbWV9Q29uc3RydWN0b3JHZXR0ZXIiOworICAgICAgICAgICAgaWYgKCRjdXN0
b21BY2Nlc3NvcikgeworICAgICAgICAgICAgICAkZ2V0dGVyID0gIlY4Q3VzdG9tOjp2OCR7Y3Vz
dG9tQWNjZXNzb3J9QWNjZXNzb3JHZXR0ZXIiOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgJGRhdGEgPSAiVjhDbGFzc0luZGV4Ojoke2NvbnN0cnVjdG9ySW5kZXh9IjsKKyAg
ICAgICAgICAgICAgJGdldHRlciA9ICIke2ludGVyZmFjZU5hbWV9SW50ZXJuYWw6OiR7aW50ZXJm
YWNlTmFtZX1Db25zdHJ1Y3RvckdldHRlciI7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICAk
c2V0dGVyID0gIjAiOwogICAgICAgICAgICAgJHByb3BBdHRyID0gInY4OjpSZWFkT25seSI7CiAK
QEAgLTEwODgsNyArMTA5MiwxMSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAg
ICAgICMgR2VuZXJhdGUgc3BlY2lhbCBjb2RlIGZvciB0aGUgY29uc3RydWN0b3IgYXR0cmlidXRl
cy4KICAgICAgICAgaWYgKCRhdHRyVHlwZSA9fiAvQ29uc3RydWN0b3IkLykgewotICAgICAgICAg
ICAgJGhhc0NvbnN0cnVjdG9ycyA9IDE7CisgICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+c2ln
bmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tR2V0dGVyIn0pIHsKKyAgICAgICAg
ICAgICAgICAkaW1wbEluY2x1ZGVzeyJWOEN1c3RvbUJpbmRpbmcuaCJ9ID0gMTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgJGhhc0NvbnN0cnVjdG9ycyA9IDE7CisgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBuZXh0OwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhET01XcmFwcGVyLmNwcAppbmRleCBhZWE4NGMxLi42ZjYyZDU5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdyYXBwZXIuY3BwCkBAIC00NzMsMTcgKzQ3Myw2IEBAIHY4OjpQZXJzaXN0ZW50PHY4
OjpGdW5jdGlvblRlbXBsYXRlPiBWOERPTVdyYXBwZXI6OmdldFRlbXBsYXRlKFY4Q2xhc3NJbmRl
eDo6VjhXCiAgICAgY2FzZSBWOENsYXNzSW5kZXg6OkRPTVBBUlNFUjoKICAgICAgICAgZGVzY3Jp
cHRvci0+U2V0Q2FsbEhhbmRsZXIoVVNFX0NBTExCQUNLKERPTVBhcnNlckNvbnN0cnVjdG9yKSk7
CiAgICAgICAgIGJyZWFrOwotI2lmIEVOQUJMRShWSURFTykKLSAgICBjYXNlIFY4Q2xhc3NJbmRl
eDo6SFRNTEFVRElPRUxFTUVOVDoKLSAgICAgICAgZGVzY3JpcHRvci0+U2V0Q2FsbEhhbmRsZXIo
VVNFX0NBTExCQUNLKEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3RvcikpOwotICAgICAgICBicmVh
azsKLSNlbmRpZgotICAgIGNhc2UgVjhDbGFzc0luZGV4OjpIVE1MSU1BR0VFTEVNRU5UOgotICAg
ICAgICBkZXNjcmlwdG9yLT5TZXRDYWxsSGFuZGxlcihVU0VfQ0FMTEJBQ0soSFRNTEltYWdlRWxl
bWVudENvbnN0cnVjdG9yKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVjhDbGFzc0luZGV4
OjpIVE1MT1BUSU9ORUxFTUVOVDoKLSAgICAgICAgZGVzY3JpcHRvci0+U2V0Q2FsbEhhbmRsZXIo
VVNFX0NBTExCQUNLKEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IpKTsKLSAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBWOENsYXNzSW5kZXg6OldFQktJVENTU01BVFJJWDoKICAgICAgICAgZGVz
Y3JpcHRvci0+U2V0Q2FsbEhhbmRsZXIoVVNFX0NBTExCQUNLKFdlYktpdENTU01hdHJpeENvbnN0
cnVjdG9yKSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEluZGV4LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRleC5jcHAKaW5kZXggYTNl
MjdlOS4uMjdlNmUyZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4LmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguY3BwCkBAIC0xMDksNiArMTA5LDcg
QEAKICNpbmNsdWRlICJWOEhUTUxIdG1sRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4SFRNTElGcmFt
ZUVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxJbWFnZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJW
OEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIlY4SFRNTElucHV0RWxl
bWVudC5oIgogI2luY2x1ZGUgIlY4SFRNTElzSW5kZXhFbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhI
VE1MTGFiZWxFbGVtZW50LmgiCkBAIC0xMjMsNiArMTI0LDcgQEAKICNpbmNsdWRlICJWOEhUTUxP
TGlzdEVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNs
dWRlICJWOEhUTUxPcHRpb25FbGVtZW50LmgiCisjaW5jbHVkZSAiVjhIVE1MT3B0aW9uRWxlbWVu
dENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiVjhIVE1MUGFyYWdyYXBoRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlY4SFRNTFBhcmFtRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4SFRNTFByZUVsZW1lbnQu
aCIKQEAgLTM3MCw2ICszNzIsNyBAQAogCiAjaWYgRU5BQkxFKFZJREVPKQogI2luY2x1ZGUgIlY4
SFRNTEF1ZGlvRWxlbWVudC5oIgorI2luY2x1ZGUgIlY4SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVj
dG9yLmgiCiAjaW5jbHVkZSAiVjhIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhIVE1M
U291cmNlRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4SFRNTFZpZGVvRWxlbWVudC5oIgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4LmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4SW5kZXguaAppbmRleCBlMTk5MzI2Li43OTU1ODhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4SW5kZXguaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguaApA
QCAtNTQsNiArNTQsNyBAQCB0eXBlZGVmIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBs
YXRlPiAoKkZ1bmN0aW9uVGVtcGxhdGVGYWN0b3J5KSgpOwogCiAjaWYgRU5BQkxFKFZJREVPKQog
I2RlZmluZSBWSURFT19IVE1MRUxFTUVOVF9UWVBFUyhWKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIFYoQVVESU8sIEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rv
cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoSFRNTEFVRElPRUxFTUVO
VCwgSFRNTEF1ZGlvRWxlbWVudCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IFYoSFRNTE1FRElBRUxFTUVOVCwgSFRNTE1lZGlhRWxlbWVudCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgIFYoSFRNTFNPVVJDRUVMRU1FTlQsIEhUTUxTb3VyY2VFbGVtZW50
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTE3LDcgKzExOCw5IEBAIHR5cGVk
ZWYgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+ICgqRnVuY3Rpb25UZW1wbGF0
ZUZhY3RvcnkpKCk7CiAgICAgVihFTlRJVFksIEVudGl0eSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgVihFTlRJVFlSRUZFUkVOQ0UsIEVu
dGl0eVJlZmVyZW5jZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgVihI
VE1MRE9DVU1FTlQsIEhUTUxEb2N1bWVudCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgVihJTUFHRSwgSFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgVihOT0RFLCBOb2RlKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgVihPUFRJ
T04sIEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgVihOT1RBVElPTiwgTm90YXRpb24pICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgVihQUk9DRVNTSU5HSU5TVFJVQ1RJT04sIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbikgICAgICAgICAgICAgICAgICAgICBcCiAgICAgVihURVhULCBU
ZXh0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRp
bmcuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oCmluZGV4
IDI4MTQxMjEuLjM2ZDRhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tQmluZGluZy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3Vz
dG9tQmluZGluZy5oCkBAIC0yMzMsNiArMjMzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgREVDTEFSRV9QUk9QRVJUWV9BQ0NFU1NPUl9TRVRURVIoRE9NV2luZG93TG9jYXRpb24p
OwogICAgICAgICBERUNMQVJFX1BST1BFUlRZX0FDQ0VTU09SX1NFVFRFUihET01XaW5kb3dPcGVu
ZXIpOwogCisgICAgICAgIERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1JfR0VUVEVSKERPTVdpbmRv
d0ltYWdlKTsKKyAgICAgICAgREVDTEFSRV9QUk9QRVJUWV9BQ0NFU1NPUl9HRVRURVIoRE9NV2lu
ZG93T3B0aW9uKTsKKyAgICAgICAgREVDTEFSRV9QUk9QRVJUWV9BQ0NFU1NPUl9HRVRURVIoRE9N
V2luZG93QXVkaW8pOworCiAgICAgICAgIERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1IoRG9jdW1l
bnRMb2NhdGlvbik7CiAgICAgICAgIERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1IoRG9jdW1lbnRJ
bXBsZW1lbnRhdGlvbik7CiAgICAgICAgIERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1JfR0VUVEVS
KEV2ZW50U3JjRWxlbWVudCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVdpbmRvd0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggOTUyYTVhMC4uZTM1NzUxZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtMjMwLDYgKzIz
MCwyNCBAQCBBQ0NFU1NPUl9TRVRURVIoRE9NV2luZG93T3BlbmVyKQogICAgIGluZm8uVGhpcygp
LT5TZXQobmFtZSwgdmFsdWUpOwogfQogCitBQ0NFU1NPUl9HRVRURVIoRE9NV2luZG93QXVkaW8p
Cit7CisgICAgRE9NV2luZG93KiB3aW5kb3cgPSBWOERPTVdyYXBwZXI6OmNvbnZlcnRUb05hdGl2
ZU9iamVjdDxET01XaW5kb3c+KFY4Q2xhc3NJbmRleDo6RE9NV0lORE9XLCBpbmZvLkhvbGRlcigp
KTsKKyAgICByZXR1cm4gVjhET01XcmFwcGVyOjpnZXRDb25zdHJ1Y3RvcihWOENsYXNzSW5kZXg6
OkFVRElPLCB3aW5kb3cpOworfQorCitBQ0NFU1NPUl9HRVRURVIoRE9NV2luZG93SW1hZ2UpCit7
CisgICAgRE9NV2luZG93KiB3aW5kb3cgPSBWOERPTVdyYXBwZXI6OmNvbnZlcnRUb05hdGl2ZU9i
amVjdDxET01XaW5kb3c+KFY4Q2xhc3NJbmRleDo6RE9NV0lORE9XLCBpbmZvLkhvbGRlcigpKTsK
KyAgICByZXR1cm4gVjhET01XcmFwcGVyOjpnZXRDb25zdHJ1Y3RvcihWOENsYXNzSW5kZXg6OklN
QUdFLCB3aW5kb3cpOworfQorCitBQ0NFU1NPUl9HRVRURVIoRE9NV2luZG93T3B0aW9uKQorewor
ICAgIERPTVdpbmRvdyogd2luZG93ID0gVjhET01XcmFwcGVyOjpjb252ZXJ0VG9OYXRpdmVPYmpl
Y3Q8RE9NV2luZG93PihWOENsYXNzSW5kZXg6OkRPTVdJTkRPVywgaW5mby5Ib2xkZXIoKSk7Cisg
ICAgcmV0dXJuIFY4RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0b3IoVjhDbGFzc0luZGV4OjpPUFRJ
T04sIHdpbmRvdyk7Cit9CisKIENBTExCQUNLX0ZVTkNfREVDTChET01XaW5kb3dBZGRFdmVudExp
c3RlbmVyKQogewogICAgIElOQ19TVEFUUygiRE9NLkRPTVdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCkiKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEF1ZGlv
RWxlbWVudENvbnN0cnVjdG9yLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yLmNwcAppbmRleCA2ZjliNzYxLi5jNzM1YzQ5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxBdWRpb0VsZW1lbnRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQXVkaW9F
bGVtZW50Q29uc3RydWN0b3IuY3BwCkBAIC0yOSw4ICsyOSw5IEBACiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIkhUTUxBdWRpb0VsZW1lbnQuaCIKKyNpbmNsdWRlICJWOEhU
TUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5oIgogCisjaW5jbHVkZSAiSFRNTEF1ZGlvRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKQEAgLTQyLDYgKzQzLDI0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAordjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4SFRNTEF1ZGlvRWxlbWVu
dENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSgpCit7CisgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50
PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjYWNoZWRUZW1wbGF0ZTsKKyAgICBpZiAoIWNhY2hlZFRl
bXBsYXRlLklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGNhY2hlZFRlbXBsYXRlOworCisgICAg
djg6OkhhbmRsZVNjb3BlIHNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb25UZW1wbGF0
ZT4gcmVzdWx0ID0gdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhVU0VfQ0FMTEJBQ0soSFRNTEF1
ZGlvRWxlbWVudENvbnN0cnVjdG9yKSk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBs
YXRlPiBpbnN0YW5jZSA9IHJlc3VsdC0+SW5zdGFuY2VUZW1wbGF0ZSgpOworICAgIGluc3RhbmNl
LT5TZXRJbnRlcm5hbEZpZWxkQ291bnQoVjhDdXN0b206OmtOb2RlTWluaW11bUludGVybmFsRmll
bGRDb3VudCk7CisgICAgcmVzdWx0LT5TZXRDbGFzc05hbWUodjg6OlN0cmluZzo6TmV3KCJIVE1M
QXVkaW9FbGVtZW50IikpOworICAgIHJlc3VsdC0+SW5oZXJpdChWOERPTVdyYXBwZXI6OmdldFRl
bXBsYXRlKFY4Q2xhc3NJbmRleDo6SFRNTEFVRElPRUxFTUVOVCkpOworCisgICAgY2FjaGVkVGVt
cGxhdGUgPSB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT46Ok5ldyhyZXN1bHQp
OworICAgIHJldHVybiBjYWNoZWRUZW1wbGF0ZTsKK30KKwogQ0FMTEJBQ0tfRlVOQ19ERUNMKEhU
TUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3RvcikKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MQXVk
aW9FbGVtZW50LkNvbnRydWN0b3IiKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcAppbmRleCA5MWVi
ZDVmLi43MWM5OWNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCkBAIC0yOSw4ICsyOSw5IEBA
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQu
aCIKKyNpbmNsdWRlICJWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5oIgogCisjaW5jbHVk
ZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
RnJhbWUuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAgLTQyLDYgKzQzLDI0IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAordjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+
IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSgpCit7CisgICAgc3Rh
dGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjYWNoZWRUZW1wbGF0ZTsK
KyAgICBpZiAoIWNhY2hlZFRlbXBsYXRlLklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGNhY2hl
ZFRlbXBsYXRlOworCisgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOworICAgIHY4OjpMb2NhbDx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcmVzdWx0ID0gdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhV
U0VfQ0FMTEJBQ0soSFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yKSk7CisKKyAgICB2ODo6TG9j
YWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IHJlc3VsdC0+SW5zdGFuY2VUZW1wbGF0
ZSgpOworICAgIGluc3RhbmNlLT5TZXRJbnRlcm5hbEZpZWxkQ291bnQoVjhDdXN0b206OmtOb2Rl
TWluaW11bUludGVybmFsRmllbGRDb3VudCk7CisgICAgcmVzdWx0LT5TZXRDbGFzc05hbWUodjg6
OlN0cmluZzo6TmV3KCJIVE1MSW1hZ2VFbGVtZW50IikpOworICAgIHJlc3VsdC0+SW5oZXJpdChW
OERPTVdyYXBwZXI6OmdldFRlbXBsYXRlKFY4Q2xhc3NJbmRleDo6SFRNTElNQUdFRUxFTUVOVCkp
OworCisgICAgY2FjaGVkVGVtcGxhdGUgPSB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1w
bGF0ZT46Ok5ldyhyZXN1bHQpOworICAgIHJldHVybiBjYWNoZWRUZW1wbGF0ZTsKK30KKwogQ0FM
TEJBQ0tfRlVOQ19ERUNMKEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3RvcikKIHsKICAgICBJTkNf
U1RBVFMoIkRPTS5IVE1MSW1hZ2VFbGVtZW50LkNvbnRydWN0b3IiKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rv
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkY2UwZTAKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRD
b25zdHJ1Y3Rvci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFY4SFRNTEltYWdlRWxlbWVudENv
bnN0cnVjdG9yX2gKKyNkZWZpbmUgVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3JfaAorCisj
aW5jbHVkZSA8djguaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisgICAgY2xhc3MgVjhIVE1M
SW1hZ2VFbGVtZW50Q29uc3RydWN0b3IgeworICAgIHByaXZhdGU6CisgICAgICAgIHN0YXRpYyB2
ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gR2V0VGVtcGxhdGUoKTsKKworICAg
ICAgICBmcmllbmQgY2xhc3MgVjhDbGFzc0luZGV4OworICAgIH07CisKK30KKworI2VuZGlmIC8v
IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3Bw
CmluZGV4IGMyMmQxMjcuLmY5YzljYjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAt
MjksOCArMjksOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJIVE1M
T3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIlY4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rv
ci5oIgogCisjaW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCkBAIC00Myw2
ICs0NCwyNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3Y4OjpQZXJzaXN0ZW50PHY4OjpG
dW5jdGlvblRlbXBsYXRlPiBWOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBs
YXRlKCkKK3sKKyAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+
IGNhY2hlZFRlbXBsYXRlOworICAgIGlmICghY2FjaGVkVGVtcGxhdGUuSXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gY2FjaGVkVGVtcGxhdGU7CisKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7
CisgICAgdjg6OkxvY2FsPHY4OjpGdW5jdGlvblRlbXBsYXRlPiByZXN1bHQgPSB2ODo6RnVuY3Rp
b25UZW1wbGF0ZTo6TmV3KFVTRV9DQUxMQkFDSyhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9y
KSk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IHJlc3Vs
dC0+SW5zdGFuY2VUZW1wbGF0ZSgpOworICAgIGluc3RhbmNlLT5TZXRJbnRlcm5hbEZpZWxkQ291
bnQoVjhDdXN0b206OmtOb2RlTWluaW11bUludGVybmFsRmllbGRDb3VudCk7CisgICAgcmVzdWx0
LT5TZXRDbGFzc05hbWUodjg6OlN0cmluZzo6TmV3KCJIVE1MT3B0aW9uRWxlbWVudCIpKTsKKyAg
ICByZXN1bHQtPkluaGVyaXQoVjhET01XcmFwcGVyOjpnZXRUZW1wbGF0ZShWOENsYXNzSW5kZXg6
OkhUTUxPUFRJT05FTEVNRU5UKSk7CisKKyAgICBjYWNoZWRUZW1wbGF0ZSA9IHY4OjpQZXJzaXN0
ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPjo6TmV3KHJlc3VsdCk7CisgICAgcmV0dXJuIGNhY2hl
ZFRlbXBsYXRlOworfQorCiBDQUxMQkFDS19GVU5DX0RFQ0woSFRNTE9wdGlvbkVsZW1lbnRDb25z
dHJ1Y3RvcikKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MT3B0aW9uRWxlbWVudC5Db250cnVj
dG9yIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxPcHRp
b25FbGVtZW50Q29uc3RydWN0b3IuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAuLjcwMDc2YTUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuaApAQCAtMCwwICsxLDQ3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBWOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3JfaAorI2RlZmluZSBWOEhUTUxPcHRp
b25FbGVtZW50Q29uc3RydWN0b3JfaAorCisjaW5jbHVkZSA8djguaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCisgICAgY2xhc3MgVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yIHsKKyAg
ICBwcml2YXRlOgorICAgICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVt
cGxhdGU+IEdldFRlbXBsYXRlKCk7CisKKyAgICAgICAgZnJpZW5kIGNsYXNzIFY4Q2xhc3NJbmRl
eDsKKyAgICB9OworCit9CisKKyNlbmRpZiAvLyBWOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0
b3JfaA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40407</attachid>
            <date>2009-09-30 16:15:12 -0700</date>
            <delta_ts>2009-09-30 16:22:31 -0700</delta_ts>
            <desc>Make things less constructable, v2.</desc>
            <filename>bug-29940-20090930161510.patch</filename>
            <type>text/plain</type>
            <size>18647</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWFjYzNkYy4uMzRlMjMzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0wOS0zMCAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gSFRNTEF1ZGlvRWxlbWVudCwgSFRNTEltYWdlRWxl
bWVudCwgYW5kIEhUTUxPcHRpb25FbGVtZW50IGFyZSBjb25zdHJ1Y3RhYmxlLCBidXQgdGhleSBz
aG91bGRuJ3QgYmUuCisgICAgICAgIE9ubHkgQXVkaW8sIEltYWdlLCBhbmQgT3B0aW9uIHNob3Vs
ZCBiZSBjb25zdHJ1Y3RhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Mjk5NDAKKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9kb20tY29uc3RydWN0
b3IuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOiBBZGRlZCBuZXcgZmlsZXMgdG8gcHJv
amVjdC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogTW9k
aWZpZWQgdG8gZ2VuZXJhdGUgY3VzdG9tIGNvbnN0cnVjdG9ycy4KKyAgICAgICAgKiBiaW5kaW5n
cy92OC9WOERPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XcmFwcGVyOjpn
ZXRUZW1wbGF0ZSk6IFJlbW92ZWQgaGFuZGxpbmcgb2YgSFRNTEltYWdlRWxlbWVudCwgSFRNTE9w
dGlvbkVsZW1lbnQKKyAgICAgICAgICBhbmQgSFRNTEF1ZGlvRWxlbWVudCBjb25zdHJ1Y3Rpb24u
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IuaDog
QWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0
b3IuaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhIVE1MT3B0aW9uRWxlbWVudENv
bnN0cnVjdG9yLmg6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SW5kZXguY3BwOiBB
ZGRlZCBuZXcgaGVhZGVycy4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEluZGV4Lmg6IEFkZGVk
IEF1ZGlvLCBJbWFnZSBhbmQgT3B0aW9uIGRlY2xzLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEN1c3RvbUJpbmRpbmcuaDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFDQ0VTU09SX0dF
VFRFUik6IEFkZGVkIGN1c3RvbSBjb25zdHJ1Y3RvcnMuCisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSk6IEFkZGVkIGN1
c3RvbSB0ZW1wbGF0ZSBjcmVhdG9yLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
T3B0aW9uRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSk6IERpdHRvLgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxh
dGUpOiBEaXR0by4KKwogMjAwOS0wOS0yOSAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXljdXR0LgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA0M2U3MzljLi5lYTgw
OTIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtNjY5LDYgKzY2OSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhGaWxlTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5oJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERhdGFHcmlkRWxlbWVudEN1
c3RvbS5jcHAnLApAQCAtNjc4LDggKzY3OSwxMCBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEhUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSUZyYW1lRWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5j
cHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRD
b25zdHJ1Y3Rvci5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW5w
dXRFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuaCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTFBsdWdJbkVsZW1lbnRDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MU2VsZWN0RWxl
bWVudENvbGxlY3Rpb25DdXN0b20uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclY4LnBtCmluZGV4IDdmMTUwOGIuLjE3N2MzZjQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtOTU4LDggKzk1OCwxMiBAQCBzdWIg
R2VuZXJhdGVCYXRjaGVkQXR0cmlidXRlRGF0YQogICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9y
VHlwZSA9ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkYXR0cmlidXRlLT5zaWduYXR1cmUt
PnR5cGUpOwogICAgICAgICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBzL0NvbnN0cnVjdG9yJC8v
OwogICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9ySW5kZXggPSB1YygkY29uc3RydWN0b3JUeXBl
KTsKLSAgICAgICAgICAgICRkYXRhID0gIlY4Q2xhc3NJbmRleDo6JHtjb25zdHJ1Y3RvckluZGV4
fSI7Ci0gICAgICAgICAgICAkZ2V0dGVyID0gIiR7aW50ZXJmYWNlTmFtZX1JbnRlcm5hbDo6JHtp
bnRlcmZhY2VOYW1lfUNvbnN0cnVjdG9yR2V0dGVyIjsKKyAgICAgICAgICAgIGlmICgkY3VzdG9t
QWNjZXNzb3IpIHsKKyAgICAgICAgICAgICAgICAkZ2V0dGVyID0gIlY4Q3VzdG9tOjp2OCR7Y3Vz
dG9tQWNjZXNzb3J9QWNjZXNzb3JHZXR0ZXIiOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAkZGF0YSA9ICJWOENsYXNzSW5kZXg6OiR7Y29uc3RydWN0b3JJbmRleH0iOwor
ICAgICAgICAgICAgICAgICRnZXR0ZXIgPSAiJHtpbnRlcmZhY2VOYW1lfUludGVybmFsOjoke2lu
dGVyZmFjZU5hbWV9Q29uc3RydWN0b3JHZXR0ZXIiOworICAgICAgICAgICAgfQogICAgICAgICAg
ICAgJHNldHRlciA9ICIwIjsKICAgICAgICAgICAgICRwcm9wQXR0ciA9ICJ2ODo6UmVhZE9ubHki
OwogCkBAIC0xMDg4LDcgKzEwOTIsMTEgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAog
ICAgICAgICAjIEdlbmVyYXRlIHNwZWNpYWwgY29kZSBmb3IgdGhlIGNvbnN0cnVjdG9yIGF0dHJp
YnV0ZXMuCiAgICAgICAgIGlmICgkYXR0clR5cGUgPX4gL0NvbnN0cnVjdG9yJC8pIHsKLSAgICAg
ICAgICAgICRoYXNDb25zdHJ1Y3RvcnMgPSAxOworICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUdldHRlciJ9KSB7CisgICAg
ICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siVjhDdXN0b21CaW5kaW5nLmgifSA9IDE7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICRoYXNDb25zdHJ1Y3RvcnMgPSAxOwor
ICAgICAgICAgICAgfQogICAgICAgICAgICAgbmV4dDsKICAgICAgICAgfQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5jcHAKaW5kZXggYWVhODRjMS4uNmY2MmQ1OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XcmFwcGVyLmNwcApAQCAtNDczLDE3ICs0NzMsNiBAQCB2ODo6UGVyc2lzdGVu
dDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhET01XcmFwcGVyOjpnZXRUZW1wbGF0ZShWOENsYXNz
SW5kZXg6OlY4VwogICAgIGNhc2UgVjhDbGFzc0luZGV4OjpET01QQVJTRVI6CiAgICAgICAgIGRl
c2NyaXB0b3ItPlNldENhbGxIYW5kbGVyKFVTRV9DQUxMQkFDSyhET01QYXJzZXJDb25zdHJ1Y3Rv
cikpOwogICAgICAgICBicmVhazsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgY2FzZSBWOENsYXNz
SW5kZXg6OkhUTUxBVURJT0VMRU1FTlQ6Ci0gICAgICAgIGRlc2NyaXB0b3ItPlNldENhbGxIYW5k
bGVyKFVTRV9DQUxMQkFDSyhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IpKTsKLSAgICAgICAg
YnJlYWs7Ci0jZW5kaWYKLSAgICBjYXNlIFY4Q2xhc3NJbmRleDo6SFRNTElNQUdFRUxFTUVOVDoK
LSAgICAgICAgZGVzY3JpcHRvci0+U2V0Q2FsbEhhbmRsZXIoVVNFX0NBTExCQUNLKEhUTUxJbWFn
ZUVsZW1lbnRDb25zdHJ1Y3RvcikpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFY4Q2xhc3NJ
bmRleDo6SFRNTE9QVElPTkVMRU1FTlQ6Ci0gICAgICAgIGRlc2NyaXB0b3ItPlNldENhbGxIYW5k
bGVyKFVTRV9DQUxMQkFDSyhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yKSk7Ci0gICAgICAg
IGJyZWFrOwogICAgIGNhc2UgVjhDbGFzc0luZGV4OjpXRUJLSVRDU1NNQVRSSVg6CiAgICAgICAg
IGRlc2NyaXB0b3ItPlNldENhbGxIYW5kbGVyKFVTRV9DQUxMQkFDSyhXZWJLaXRDU1NNYXRyaXhD
b25zdHJ1Y3RvcikpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhJbmRleC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguY3BwCmluZGV4
IGEzZTI3ZTkuLjI3ZTZlMmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRl
eC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4LmNwcApAQCAtMTA5LDYgKzEw
OSw3IEBACiAjaW5jbHVkZSAiVjhIVE1MSHRtbEVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxJ
RnJhbWVFbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVk
ZSAiVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJWOEhUTUxJbnB1
dEVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxJc0luZGV4RWxlbWVudC5oIgogI2luY2x1ZGUg
IlY4SFRNTExhYmVsRWxlbWVudC5oIgpAQCAtMTIzLDYgKzEyNCw3IEBACiAjaW5jbHVkZSAiVjhI
VE1MT0xpc3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhIVE1MT3B0R3JvdXBFbGVtZW50LmgiCiAj
aW5jbHVkZSAiVjhIVE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIlY4SFRNTE9wdGlvbkVs
ZW1lbnRDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIlY4SFRNTFBhcmFncmFwaEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJWOEhUTUxQYXJhbUVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxQcmVFbGVt
ZW50LmgiCkBAIC0zNzAsNiArMzcyLDcgQEAKIAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRl
ICJWOEhUTUxBdWRpb0VsZW1lbnQuaCIKKyNpbmNsdWRlICJWOEhUTUxBdWRpb0VsZW1lbnRDb25z
dHJ1Y3Rvci5oIgogI2luY2x1ZGUgIlY4SFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4
SFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxWaWRlb0VsZW1lbnQuaCIKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRleC5oIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOEluZGV4LmgKaW5kZXggZTE5OTMyNi4uNzk1NTg4ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEluZGV4LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4
LmgKQEAgLTU0LDYgKzU0LDcgQEAgdHlwZWRlZiB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25U
ZW1wbGF0ZT4gKCpGdW5jdGlvblRlbXBsYXRlRmFjdG9yeSkoKTsKIAogI2lmIEVOQUJMRShWSURF
TykKICNkZWZpbmUgVklERU9fSFRNTEVMRU1FTlRfVFlQRVMoVikgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBWKEFVRElPLCBIVE1MQXVkaW9FbGVtZW50Q29uc3Ry
dWN0b3IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBWKEhUTUxBVURJT0VM
RU1FTlQsIEhUTUxBdWRpb0VsZW1lbnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
ICAgICBWKEhUTUxNRURJQUVMRU1FTlQsIEhUTUxNZWRpYUVsZW1lbnQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICBWKEhUTUxTT1VSQ0VFTEVNRU5ULCBIVE1MU291cmNlRWxl
bWVudCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTExNyw3ICsxMTgsOSBAQCB0
eXBlZGVmIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiAoKkZ1bmN0aW9uVGVt
cGxhdGVGYWN0b3J5KSgpOwogICAgIFYoRU5USVRZLCBFbnRpdHkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoRU5USVRZUkVGRVJFTkNF
LCBFbnRpdHlSZWZlcmVuY2UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IFYoSFRNTERPQ1VNRU5ULCBIVE1MRG9jdW1lbnQpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIFYoSU1BR0UsIEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcikg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoTk9ERSwgTm9kZSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFYo
T1BUSU9OLCBIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAogICAgIFYoTk9UQVRJT04sIE5vdGF0aW9uKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoUFJPQ0VTU0lOR0lOU1RSVUNUSU9O
LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoVEVY
VCwgVGV4dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21C
aW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRpbmcuaApp
bmRleCAyODE0MTIxLi4zNmQ0YWRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEN1c3RvbUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEN1c3RvbUJpbmRpbmcuaApAQCAtMjMzLDYgKzIzMywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1JfU0VUVEVSKERPTVdpbmRvd0xvY2F0
aW9uKTsKICAgICAgICAgREVDTEFSRV9QUk9QRVJUWV9BQ0NFU1NPUl9TRVRURVIoRE9NV2luZG93
T3BlbmVyKTsKIAorICAgICAgICBERUNMQVJFX1BST1BFUlRZX0FDQ0VTU09SX0dFVFRFUihET01X
aW5kb3dJbWFnZSk7CisgICAgICAgIERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1JfR0VUVEVSKERP
TVdpbmRvd09wdGlvbik7CisgICAgICAgIERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1JfR0VUVEVS
KERPTVdpbmRvd0F1ZGlvKTsKKwogICAgICAgICBERUNMQVJFX1BST1BFUlRZX0FDQ0VTU09SKERv
Y3VtZW50TG9jYXRpb24pOwogICAgICAgICBERUNMQVJFX1BST1BFUlRZX0FDQ0VTU09SKERvY3Vt
ZW50SW1wbGVtZW50YXRpb24pOwogICAgICAgICBERUNMQVJFX1BST1BFUlRZX0FDQ0VTU09SX0dF
VFRFUihFdmVudFNyY0VsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDk1MmE1YTAuLmUzNTc1MWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTIzMCw2
ICsyMzAsMjQgQEAgQUNDRVNTT1JfU0VUVEVSKERPTVdpbmRvd09wZW5lcikKICAgICBpbmZvLlRo
aXMoKS0+U2V0KG5hbWUsIHZhbHVlKTsKIH0KIAorQUNDRVNTT1JfR0VUVEVSKERPTVdpbmRvd0F1
ZGlvKQoreworICAgIERPTVdpbmRvdyogd2luZG93ID0gVjhET01XcmFwcGVyOjpjb252ZXJ0VG9O
YXRpdmVPYmplY3Q8RE9NV2luZG93PihWOENsYXNzSW5kZXg6OkRPTVdJTkRPVywgaW5mby5Ib2xk
ZXIoKSk7CisgICAgcmV0dXJuIFY4RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0b3IoVjhDbGFzc0lu
ZGV4OjpBVURJTywgd2luZG93KTsKK30KKworQUNDRVNTT1JfR0VUVEVSKERPTVdpbmRvd0ltYWdl
KQoreworICAgIERPTVdpbmRvdyogd2luZG93ID0gVjhET01XcmFwcGVyOjpjb252ZXJ0VG9OYXRp
dmVPYmplY3Q8RE9NV2luZG93PihWOENsYXNzSW5kZXg6OkRPTVdJTkRPVywgaW5mby5Ib2xkZXIo
KSk7CisgICAgcmV0dXJuIFY4RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0b3IoVjhDbGFzc0luZGV4
OjpJTUFHRSwgd2luZG93KTsKK30KKworQUNDRVNTT1JfR0VUVEVSKERPTVdpbmRvd09wdGlvbikK
K3sKKyAgICBET01XaW5kb3cqIHdpbmRvdyA9IFY4RE9NV3JhcHBlcjo6Y29udmVydFRvTmF0aXZl
T2JqZWN0PERPTVdpbmRvdz4oVjhDbGFzc0luZGV4OjpET01XSU5ET1csIGluZm8uSG9sZGVyKCkp
OworICAgIHJldHVybiBWOERPTVdyYXBwZXI6OmdldENvbnN0cnVjdG9yKFY4Q2xhc3NJbmRleDo6
T1BUSU9OLCB3aW5kb3cpOworfQorCiBDQUxMQkFDS19GVU5DX0RFQ0woRE9NV2luZG93QWRkRXZl
bnRMaXN0ZW5lcikKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5ET01XaW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigpIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxB
dWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNmY5Yjc2MS4uYzczNWM0OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQXVkaW9FbGVtZW50
Q29uc3RydWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEF1
ZGlvRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAtMjksOCArMjksOSBAQAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJIVE1MQXVkaW9FbGVtZW50LmgiCisjaW5jbHVkZSAi
VjhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IuaCIKIAorI2luY2x1ZGUgIkhUTUxBdWRpb0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCkBAIC00Miw2ICs0MywyNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK3Y4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOEhUTUxBdWRpb0Vs
ZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUoKQoreworICAgIHN0YXRpYyB2ODo6UGVyc2lz
dGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY2FjaGVkVGVtcGxhdGU7CisgICAgaWYgKCFjYWNo
ZWRUZW1wbGF0ZS5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBjYWNoZWRUZW1wbGF0ZTsKKwor
ICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uVGVt
cGxhdGU+IHJlc3VsdCA9IHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVVNFX0NBTExCQUNLKEhU
TUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3RvcikpOworCisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RU
ZW1wbGF0ZT4gaW5zdGFuY2UgPSByZXN1bHQtPkluc3RhbmNlVGVtcGxhdGUoKTsKKyAgICBpbnN0
YW5jZS0+U2V0SW50ZXJuYWxGaWVsZENvdW50KFY4Q3VzdG9tOjprTm9kZU1pbmltdW1JbnRlcm5h
bEZpZWxkQ291bnQpOworICAgIHJlc3VsdC0+U2V0Q2xhc3NOYW1lKHY4OjpTdHJpbmc6Ok5ldygi
SFRNTEF1ZGlvRWxlbWVudCIpKTsKKyAgICByZXN1bHQtPkluaGVyaXQoVjhET01XcmFwcGVyOjpn
ZXRUZW1wbGF0ZShWOENsYXNzSW5kZXg6OkhUTUxBVURJT0VMRU1FTlQpKTsKKworICAgIGNhY2hl
ZFRlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcocmVz
dWx0KTsKKyAgICByZXR1cm4gY2FjaGVkVGVtcGxhdGU7Cit9CisKIENBTExCQUNLX0ZVTkNfREVD
TChIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uSFRN
TEF1ZGlvRWxlbWVudC5Db250cnVjdG9yIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
OTFlYmQ1Zi4uNzFjOTljZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAtMjksOCArMjks
OSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJIVE1MSW1hZ2VFbGVt
ZW50LmgiCisjaW5jbHVkZSAiVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuaCIKIAorI2lu
Y2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCkBAIC00Miw2ICs0MywyNCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3Y4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBs
YXRlPiBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUoKQoreworICAg
IHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY2FjaGVkVGVtcGxh
dGU7CisgICAgaWYgKCFjYWNoZWRUZW1wbGF0ZS5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBj
YWNoZWRUZW1wbGF0ZTsKKworICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKyAgICB2ODo6TG9j
YWw8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHJlc3VsdCA9IHY4OjpGdW5jdGlvblRlbXBsYXRlOjpO
ZXcoVVNFX0NBTExCQUNLKEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3RvcikpOworCisgICAgdjg6
OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSByZXN1bHQtPkluc3RhbmNlVGVt
cGxhdGUoKTsKKyAgICBpbnN0YW5jZS0+U2V0SW50ZXJuYWxGaWVsZENvdW50KFY4Q3VzdG9tOjpr
Tm9kZU1pbmltdW1JbnRlcm5hbEZpZWxkQ291bnQpOworICAgIHJlc3VsdC0+U2V0Q2xhc3NOYW1l
KHY4OjpTdHJpbmc6Ok5ldygiSFRNTEltYWdlRWxlbWVudCIpKTsKKyAgICByZXN1bHQtPkluaGVy
aXQoVjhET01XcmFwcGVyOjpnZXRUZW1wbGF0ZShWOENsYXNzSW5kZXg6OkhUTUxJTUFHRUVMRU1F
TlQpKTsKKworICAgIGNhY2hlZFRlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9u
VGVtcGxhdGU+OjpOZXcocmVzdWx0KTsKKyAgICByZXR1cm4gY2FjaGVkVGVtcGxhdGU7Cit9CisK
IENBTExCQUNLX0ZVTkNfREVDTChIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IpCiB7CiAgICAg
SU5DX1NUQVRTKCJET00uSFRNTEltYWdlRWxlbWVudC5Db250cnVjdG9yIik7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rv
ci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3Ry
dWN0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGNlMGUwCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVt
ZW50Q29uc3RydWN0b3IuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWOEhUTUxJbWFnZUVsZW1l
bnRDb25zdHJ1Y3Rvcl9oCisjZGVmaW5lIFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yX2gK
KworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIFY4
SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yIHsKKyAgICBwcml2YXRlOgorICAgICAgICBzdGF0
aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IEdldFRlbXBsYXRlKCk7CisK
KyAgICAgICAgZnJpZW5kIGNsYXNzIFY4Q2xhc3NJbmRleDsKKyAgICB9OworCit9CisKKyNlbmRp
ZiAvLyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcl9oCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9y
LmNwcAppbmRleCBjMjJkMTI3Li5mOWM5Y2I0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAK
QEAgLTI5LDggKzI5LDkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
SFRNTE9wdGlvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJWOEhUTUxPcHRpb25FbGVtZW50Q29uc3Ry
dWN0b3IuaCIKIAorI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpAQCAt
NDMsNiArNDQsMjQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit2ODo6UGVyc2lzdGVudDx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yOjpHZXRU
ZW1wbGF0ZSgpCit7CisgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBs
YXRlPiBjYWNoZWRUZW1wbGF0ZTsKKyAgICBpZiAoIWNhY2hlZFRlbXBsYXRlLklzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIGNhY2hlZFRlbXBsYXRlOworCisgICAgdjg6OkhhbmRsZVNjb3BlIHNj
b3BlOworICAgIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcmVzdWx0ID0gdjg6OkZ1
bmN0aW9uVGVtcGxhdGU6Ok5ldyhVU0VfQ0FMTEJBQ0soSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1
Y3RvcikpOworCisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBy
ZXN1bHQtPkluc3RhbmNlVGVtcGxhdGUoKTsKKyAgICBpbnN0YW5jZS0+U2V0SW50ZXJuYWxGaWVs
ZENvdW50KFY4Q3VzdG9tOjprTm9kZU1pbmltdW1JbnRlcm5hbEZpZWxkQ291bnQpOworICAgIHJl
c3VsdC0+U2V0Q2xhc3NOYW1lKHY4OjpTdHJpbmc6Ok5ldygiSFRNTE9wdGlvbkVsZW1lbnQiKSk7
CisgICAgcmVzdWx0LT5Jbmhlcml0KFY4RE9NV3JhcHBlcjo6Z2V0VGVtcGxhdGUoVjhDbGFzc0lu
ZGV4OjpIVE1MT1BUSU9ORUxFTUVOVCkpOworCisgICAgY2FjaGVkVGVtcGxhdGUgPSB2ODo6UGVy
c2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT46Ok5ldyhyZXN1bHQpOworICAgIHJldHVybiBj
YWNoZWRUZW1wbGF0ZTsKK30KKwogQ0FMTEJBQ0tfRlVOQ19ERUNMKEhUTUxPcHRpb25FbGVtZW50
Q29uc3RydWN0b3IpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uSFRNTE9wdGlvbkVsZW1lbnQuQ29u
dHJ1Y3RvciIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
T3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwMDAwMDAwLi43MDA3NmE1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmgKQEAgLTAsMCArMSw0NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gKKyNkZWZpbmUgVjhIVE1M
T3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gKKworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIFY4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3RvciB7
CisgICAgcHJpdmF0ZToKKyAgICAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlv
blRlbXBsYXRlPiBHZXRUZW1wbGF0ZSgpOworCisgICAgICAgIGZyaWVuZCBjbGFzcyBWOENsYXNz
SW5kZXg7CisgICAgfTsKKworfQorCisjZW5kaWYgLy8gVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0
cnVjdG9yX2g=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40408</attachid>
            <date>2009-09-30 16:23:12 -0700</date>
            <delta_ts>2009-09-30 16:43:29 -0700</delta_ts>
            <desc>Make things less constructable, v3.</desc>
            <filename>bug-29940-20090930162309.patch</filename>
            <type>text/plain</type>
            <size>18707</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWFjYzNkYy4uMzRlMjMzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0wOS0zMCAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gSFRNTEF1ZGlvRWxlbWVudCwgSFRNTEltYWdlRWxl
bWVudCwgYW5kIEhUTUxPcHRpb25FbGVtZW50IGFyZSBjb25zdHJ1Y3RhYmxlLCBidXQgdGhleSBz
aG91bGRuJ3QgYmUuCisgICAgICAgIE9ubHkgQXVkaW8sIEltYWdlLCBhbmQgT3B0aW9uIHNob3Vs
ZCBiZSBjb25zdHJ1Y3RhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Mjk5NDAKKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9kb20tY29uc3RydWN0
b3IuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOiBBZGRlZCBuZXcgZmlsZXMgdG8gcHJv
amVjdC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogTW9k
aWZpZWQgdG8gZ2VuZXJhdGUgY3VzdG9tIGNvbnN0cnVjdG9ycy4KKyAgICAgICAgKiBiaW5kaW5n
cy92OC9WOERPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XcmFwcGVyOjpn
ZXRUZW1wbGF0ZSk6IFJlbW92ZWQgaGFuZGxpbmcgb2YgSFRNTEltYWdlRWxlbWVudCwgSFRNTE9w
dGlvbkVsZW1lbnQKKyAgICAgICAgICBhbmQgSFRNTEF1ZGlvRWxlbWVudCBjb25zdHJ1Y3Rpb24u
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IuaDog
QWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0
b3IuaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhIVE1MT3B0aW9uRWxlbWVudENv
bnN0cnVjdG9yLmg6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SW5kZXguY3BwOiBB
ZGRlZCBuZXcgaGVhZGVycy4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEluZGV4Lmg6IEFkZGVk
IEF1ZGlvLCBJbWFnZSBhbmQgT3B0aW9uIGRlY2xzLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEN1c3RvbUJpbmRpbmcuaDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFDQ0VTU09SX0dF
VFRFUik6IEFkZGVkIGN1c3RvbSBjb25zdHJ1Y3RvcnMuCisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSk6IEFkZGVkIGN1
c3RvbSB0ZW1wbGF0ZSBjcmVhdG9yLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
T3B0aW9uRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSk6IERpdHRvLgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxh
dGUpOiBEaXR0by4KKwogMjAwOS0wOS0yOSAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXljdXR0LgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA0M2U3MzljLi5lYTgw
OTIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtNjY5LDYgKzY2OSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhGaWxlTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5oJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERhdGFHcmlkRWxlbWVudEN1
c3RvbS5jcHAnLApAQCAtNjc4LDggKzY3OSwxMCBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEhUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSUZyYW1lRWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5j
cHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRD
b25zdHJ1Y3Rvci5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW5w
dXRFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuaCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTFBsdWdJbkVsZW1lbnRDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MU2VsZWN0RWxl
bWVudENvbGxlY3Rpb25DdXN0b20uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclY4LnBtCmluZGV4IDdmMTUwOGIuLjE3N2MzZjQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtOTU4LDggKzk1OCwxMiBAQCBzdWIg
R2VuZXJhdGVCYXRjaGVkQXR0cmlidXRlRGF0YQogICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9y
VHlwZSA9ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkYXR0cmlidXRlLT5zaWduYXR1cmUt
PnR5cGUpOwogICAgICAgICAgICAgJGNvbnN0cnVjdG9yVHlwZSA9fiBzL0NvbnN0cnVjdG9yJC8v
OwogICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9ySW5kZXggPSB1YygkY29uc3RydWN0b3JUeXBl
KTsKLSAgICAgICAgICAgICRkYXRhID0gIlY4Q2xhc3NJbmRleDo6JHtjb25zdHJ1Y3RvckluZGV4
fSI7Ci0gICAgICAgICAgICAkZ2V0dGVyID0gIiR7aW50ZXJmYWNlTmFtZX1JbnRlcm5hbDo6JHtp
bnRlcmZhY2VOYW1lfUNvbnN0cnVjdG9yR2V0dGVyIjsKKyAgICAgICAgICAgIGlmICgkY3VzdG9t
QWNjZXNzb3IpIHsKKyAgICAgICAgICAgICAgICAkZ2V0dGVyID0gIlY4Q3VzdG9tOjp2OCR7Y3Vz
dG9tQWNjZXNzb3J9QWNjZXNzb3JHZXR0ZXIiOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAkZGF0YSA9ICJWOENsYXNzSW5kZXg6OiR7Y29uc3RydWN0b3JJbmRleH0iOwor
ICAgICAgICAgICAgICAgICRnZXR0ZXIgPSAiJHtpbnRlcmZhY2VOYW1lfUludGVybmFsOjoke2lu
dGVyZmFjZU5hbWV9Q29uc3RydWN0b3JHZXR0ZXIiOworICAgICAgICAgICAgfQogICAgICAgICAg
ICAgJHNldHRlciA9ICIwIjsKICAgICAgICAgICAgICRwcm9wQXR0ciA9ICJ2ODo6UmVhZE9ubHki
OwogCkBAIC0xMDg4LDcgKzEwOTIsMTEgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAog
ICAgICAgICAjIEdlbmVyYXRlIHNwZWNpYWwgY29kZSBmb3IgdGhlIGNvbnN0cnVjdG9yIGF0dHJp
YnV0ZXMuCiAgICAgICAgIGlmICgkYXR0clR5cGUgPX4gL0NvbnN0cnVjdG9yJC8pIHsKLSAgICAg
ICAgICAgICRoYXNDb25zdHJ1Y3RvcnMgPSAxOworICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUdldHRlciJ9KSB7CisgICAg
ICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siVjhDdXN0b21CaW5kaW5nLmgifSA9IDE7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICRoYXNDb25zdHJ1Y3RvcnMgPSAxOwor
ICAgICAgICAgICAgfQogICAgICAgICAgICAgbmV4dDsKICAgICAgICAgfQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5jcHAKaW5kZXggYWVhODRjMS4uNmY2MmQ1OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XcmFwcGVyLmNwcApAQCAtNDczLDE3ICs0NzMsNiBAQCB2ODo6UGVyc2lzdGVu
dDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhET01XcmFwcGVyOjpnZXRUZW1wbGF0ZShWOENsYXNz
SW5kZXg6OlY4VwogICAgIGNhc2UgVjhDbGFzc0luZGV4OjpET01QQVJTRVI6CiAgICAgICAgIGRl
c2NyaXB0b3ItPlNldENhbGxIYW5kbGVyKFVTRV9DQUxMQkFDSyhET01QYXJzZXJDb25zdHJ1Y3Rv
cikpOwogICAgICAgICBicmVhazsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgY2FzZSBWOENsYXNz
SW5kZXg6OkhUTUxBVURJT0VMRU1FTlQ6Ci0gICAgICAgIGRlc2NyaXB0b3ItPlNldENhbGxIYW5k
bGVyKFVTRV9DQUxMQkFDSyhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IpKTsKLSAgICAgICAg
YnJlYWs7Ci0jZW5kaWYKLSAgICBjYXNlIFY4Q2xhc3NJbmRleDo6SFRNTElNQUdFRUxFTUVOVDoK
LSAgICAgICAgZGVzY3JpcHRvci0+U2V0Q2FsbEhhbmRsZXIoVVNFX0NBTExCQUNLKEhUTUxJbWFn
ZUVsZW1lbnRDb25zdHJ1Y3RvcikpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFY4Q2xhc3NJ
bmRleDo6SFRNTE9QVElPTkVMRU1FTlQ6Ci0gICAgICAgIGRlc2NyaXB0b3ItPlNldENhbGxIYW5k
bGVyKFVTRV9DQUxMQkFDSyhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yKSk7Ci0gICAgICAg
IGJyZWFrOwogICAgIGNhc2UgVjhDbGFzc0luZGV4OjpXRUJLSVRDU1NNQVRSSVg6CiAgICAgICAg
IGRlc2NyaXB0b3ItPlNldENhbGxIYW5kbGVyKFVTRV9DQUxMQkFDSyhXZWJLaXRDU1NNYXRyaXhD
b25zdHJ1Y3RvcikpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhJbmRleC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguY3BwCmluZGV4
IGEzZTI3ZTkuLjI3ZTZlMmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRl
eC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4LmNwcApAQCAtMTA5LDYgKzEw
OSw3IEBACiAjaW5jbHVkZSAiVjhIVE1MSHRtbEVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxJ
RnJhbWVFbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVk
ZSAiVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJWOEhUTUxJbnB1
dEVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxJc0luZGV4RWxlbWVudC5oIgogI2luY2x1ZGUg
IlY4SFRNTExhYmVsRWxlbWVudC5oIgpAQCAtMTIzLDYgKzEyNCw3IEBACiAjaW5jbHVkZSAiVjhI
VE1MT0xpc3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhIVE1MT3B0R3JvdXBFbGVtZW50LmgiCiAj
aW5jbHVkZSAiVjhIVE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIlY4SFRNTE9wdGlvbkVs
ZW1lbnRDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIlY4SFRNTFBhcmFncmFwaEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJWOEhUTUxQYXJhbUVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxQcmVFbGVt
ZW50LmgiCkBAIC0zNzAsNiArMzcyLDcgQEAKIAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRl
ICJWOEhUTUxBdWRpb0VsZW1lbnQuaCIKKyNpbmNsdWRlICJWOEhUTUxBdWRpb0VsZW1lbnRDb25z
dHJ1Y3Rvci5oIgogI2luY2x1ZGUgIlY4SFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4
SFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxWaWRlb0VsZW1lbnQuaCIKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRleC5oIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOEluZGV4LmgKaW5kZXggZTE5OTMyNi4uNzk1NTg4ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEluZGV4LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4
LmgKQEAgLTU0LDYgKzU0LDcgQEAgdHlwZWRlZiB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25U
ZW1wbGF0ZT4gKCpGdW5jdGlvblRlbXBsYXRlRmFjdG9yeSkoKTsKIAogI2lmIEVOQUJMRShWSURF
TykKICNkZWZpbmUgVklERU9fSFRNTEVMRU1FTlRfVFlQRVMoVikgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBWKEFVRElPLCBIVE1MQXVkaW9FbGVtZW50Q29uc3Ry
dWN0b3IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBWKEhUTUxBVURJT0VM
RU1FTlQsIEhUTUxBdWRpb0VsZW1lbnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
ICAgICBWKEhUTUxNRURJQUVMRU1FTlQsIEhUTUxNZWRpYUVsZW1lbnQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICBWKEhUTUxTT1VSQ0VFTEVNRU5ULCBIVE1MU291cmNlRWxl
bWVudCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTExNyw3ICsxMTgsOSBAQCB0
eXBlZGVmIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiAoKkZ1bmN0aW9uVGVt
cGxhdGVGYWN0b3J5KSgpOwogICAgIFYoRU5USVRZLCBFbnRpdHkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoRU5USVRZUkVGRVJFTkNF
LCBFbnRpdHlSZWZlcmVuY2UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IFYoSFRNTERPQ1VNRU5ULCBIVE1MRG9jdW1lbnQpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIFYoSU1BR0UsIEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcikg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoTk9ERSwgTm9kZSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFYo
T1BUSU9OLCBIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAogICAgIFYoTk9UQVRJT04sIE5vdGF0aW9uKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoUFJPQ0VTU0lOR0lOU1RSVUNUSU9O
LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoVEVY
VCwgVGV4dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21C
aW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRpbmcuaApp
bmRleCAyODE0MTIxLi5hYWI1NmYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEN1c3RvbUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEN1c3RvbUJpbmRpbmcuaApAQCAtMjMzLDYgKzIzMywxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1JfU0VUVEVSKERPTVdpbmRvd0xvY2F0
aW9uKTsKICAgICAgICAgREVDTEFSRV9QUk9QRVJUWV9BQ0NFU1NPUl9TRVRURVIoRE9NV2luZG93
T3BlbmVyKTsKIAorI2lmIEVOQUJMRShWSURFTykKKyAgICAgICAgREVDTEFSRV9QUk9QRVJUWV9B
Q0NFU1NPUl9HRVRURVIoRE9NV2luZG93QXVkaW8pOworI2VuZGlmCisKKyAgICAgICAgREVDTEFS
RV9QUk9QRVJUWV9BQ0NFU1NPUl9HRVRURVIoRE9NV2luZG93SW1hZ2UpOworICAgICAgICBERUNM
QVJFX1BST1BFUlRZX0FDQ0VTU09SX0dFVFRFUihET01XaW5kb3dPcHRpb24pOworCiAgICAgICAg
IERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1IoRG9jdW1lbnRMb2NhdGlvbik7CiAgICAgICAgIERF
Q0xBUkVfUFJPUEVSVFlfQUNDRVNTT1IoRG9jdW1lbnRJbXBsZW1lbnRhdGlvbik7CiAgICAgICAg
IERFQ0xBUkVfUFJPUEVSVFlfQUNDRVNTT1JfR0VUVEVSKEV2ZW50U3JjRWxlbWVudCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXgg
OTUyYTVhMC4uZGE1ZDFiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtMjMwLDYgKzIzMCwyOCBAQCBBQ0NFU1NPUl9TRVRURVIo
RE9NV2luZG93T3BlbmVyKQogICAgIGluZm8uVGhpcygpLT5TZXQobmFtZSwgdmFsdWUpOwogfQog
CisjaWYgRU5BQkxFKFZJREVPKQorCitBQ0NFU1NPUl9HRVRURVIoRE9NV2luZG93QXVkaW8pCit7
CisgICAgRE9NV2luZG93KiB3aW5kb3cgPSBWOERPTVdyYXBwZXI6OmNvbnZlcnRUb05hdGl2ZU9i
amVjdDxET01XaW5kb3c+KFY4Q2xhc3NJbmRleDo6RE9NV0lORE9XLCBpbmZvLkhvbGRlcigpKTsK
KyAgICByZXR1cm4gVjhET01XcmFwcGVyOjpnZXRDb25zdHJ1Y3RvcihWOENsYXNzSW5kZXg6OkFV
RElPLCB3aW5kb3cpOworfQorCisjZW5kaWYKKworQUNDRVNTT1JfR0VUVEVSKERPTVdpbmRvd0lt
YWdlKQoreworICAgIERPTVdpbmRvdyogd2luZG93ID0gVjhET01XcmFwcGVyOjpjb252ZXJ0VG9O
YXRpdmVPYmplY3Q8RE9NV2luZG93PihWOENsYXNzSW5kZXg6OkRPTVdJTkRPVywgaW5mby5Ib2xk
ZXIoKSk7CisgICAgcmV0dXJuIFY4RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0b3IoVjhDbGFzc0lu
ZGV4OjpJTUFHRSwgd2luZG93KTsKK30KKworQUNDRVNTT1JfR0VUVEVSKERPTVdpbmRvd09wdGlv
bikKK3sKKyAgICBET01XaW5kb3cqIHdpbmRvdyA9IFY4RE9NV3JhcHBlcjo6Y29udmVydFRvTmF0
aXZlT2JqZWN0PERPTVdpbmRvdz4oVjhDbGFzc0luZGV4OjpET01XSU5ET1csIGluZm8uSG9sZGVy
KCkpOworICAgIHJldHVybiBWOERPTVdyYXBwZXI6OmdldENvbnN0cnVjdG9yKFY4Q2xhc3NJbmRl
eDo6T1BUSU9OLCB3aW5kb3cpOworfQorCiBDQUxMQkFDS19GVU5DX0RFQ0woRE9NV2luZG93QWRk
RXZlbnRMaXN0ZW5lcikKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5ET01XaW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigpIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNmY5Yjc2MS4uYzczNWM0
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQXVkaW9FbGVt
ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAtMjksOCArMjksOSBAQAogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJIVE1MQXVkaW9FbGVtZW50LmgiCisjaW5jbHVk
ZSAiVjhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IuaCIKIAorI2luY2x1ZGUgIkhUTUxBdWRp
b0VsZW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCkBAIC00Miw2ICs0MywyNCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK3Y4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOEhUTUxBdWRp
b0VsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUoKQoreworICAgIHN0YXRpYyB2ODo6UGVy
c2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY2FjaGVkVGVtcGxhdGU7CisgICAgaWYgKCFj
YWNoZWRUZW1wbGF0ZS5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBjYWNoZWRUZW1wbGF0ZTsK
KworICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9u
VGVtcGxhdGU+IHJlc3VsdCA9IHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVVNFX0NBTExCQUNL
KEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3RvcikpOworCisgICAgdjg6OkxvY2FsPHY4OjpPYmpl
Y3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSByZXN1bHQtPkluc3RhbmNlVGVtcGxhdGUoKTsKKyAgICBp
bnN0YW5jZS0+U2V0SW50ZXJuYWxGaWVsZENvdW50KFY4Q3VzdG9tOjprTm9kZU1pbmltdW1JbnRl
cm5hbEZpZWxkQ291bnQpOworICAgIHJlc3VsdC0+U2V0Q2xhc3NOYW1lKHY4OjpTdHJpbmc6Ok5l
dygiSFRNTEF1ZGlvRWxlbWVudCIpKTsKKyAgICByZXN1bHQtPkluaGVyaXQoVjhET01XcmFwcGVy
OjpnZXRUZW1wbGF0ZShWOENsYXNzSW5kZXg6OkhUTUxBVURJT0VMRU1FTlQpKTsKKworICAgIGNh
Y2hlZFRlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXco
cmVzdWx0KTsKKyAgICByZXR1cm4gY2FjaGVkVGVtcGxhdGU7Cit9CisKIENBTExCQUNLX0ZVTkNf
REVDTChIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IpCiB7CiAgICAgSU5DX1NUQVRTKCJET00u
SFRNTEF1ZGlvRWxlbWVudC5Db250cnVjdG9yIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggOTFlYmQ1Zi4uNzFjOTljZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAtMjksOCAr
MjksOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJIVE1MSW1hZ2VF
bGVtZW50LmgiCisjaW5jbHVkZSAiVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuaCIKIAor
I2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCkBAIC00Miw2ICs0MywyNCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3Y4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRl
bXBsYXRlPiBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUoKQorewor
ICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY2FjaGVkVGVt
cGxhdGU7CisgICAgaWYgKCFjYWNoZWRUZW1wbGF0ZS5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVy
biBjYWNoZWRUZW1wbGF0ZTsKKworICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKyAgICB2ODo6
TG9jYWw8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHJlc3VsdCA9IHY4OjpGdW5jdGlvblRlbXBsYXRl
OjpOZXcoVVNFX0NBTExCQUNLKEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3RvcikpOworCisgICAg
djg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSByZXN1bHQtPkluc3RhbmNl
VGVtcGxhdGUoKTsKKyAgICBpbnN0YW5jZS0+U2V0SW50ZXJuYWxGaWVsZENvdW50KFY4Q3VzdG9t
OjprTm9kZU1pbmltdW1JbnRlcm5hbEZpZWxkQ291bnQpOworICAgIHJlc3VsdC0+U2V0Q2xhc3NO
YW1lKHY4OjpTdHJpbmc6Ok5ldygiSFRNTEltYWdlRWxlbWVudCIpKTsKKyAgICByZXN1bHQtPklu
aGVyaXQoVjhET01XcmFwcGVyOjpnZXRUZW1wbGF0ZShWOENsYXNzSW5kZXg6OkhUTUxJTUFHRUVM
RU1FTlQpKTsKKworICAgIGNhY2hlZFRlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+OjpOZXcocmVzdWx0KTsKKyAgICByZXR1cm4gY2FjaGVkVGVtcGxhdGU7Cit9
CisKIENBTExCQUNLX0ZVTkNfREVDTChIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IpCiB7CiAg
ICAgSU5DX1NUQVRTKCJET00uSFRNTEltYWdlRWxlbWVudC5Db250cnVjdG9yIik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1
Y3Rvci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29u
c3RydWN0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGNlMGUwCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VF
bGVtZW50Q29uc3RydWN0b3IuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWOEhUTUxJbWFnZUVs
ZW1lbnRDb25zdHJ1Y3Rvcl9oCisjZGVmaW5lIFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9y
X2gKKworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNz
IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yIHsKKyAgICBwcml2YXRlOgorICAgICAgICBz
dGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IEdldFRlbXBsYXRlKCk7
CisKKyAgICAgICAgZnJpZW5kIGNsYXNzIFY4Q2xhc3NJbmRleDsKKyAgICB9OworCit9CisKKyNl
bmRpZiAvLyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcl9oCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVj
dG9yLmNwcAppbmRleCBjMjJkMTI3Li5mOWM5Y2I0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5j
cHAKQEAgLTI5LDggKzI5LDkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJWOEhUTUxPcHRpb25FbGVtZW50Q29u
c3RydWN0b3IuaCIKIAorI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpA
QCAtNDMsNiArNDQsMjQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit2ODo6UGVyc2lzdGVu
dDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yOjpH
ZXRUZW1wbGF0ZSgpCit7CisgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRl
bXBsYXRlPiBjYWNoZWRUZW1wbGF0ZTsKKyAgICBpZiAoIWNhY2hlZFRlbXBsYXRlLklzRW1wdHko
KSkKKyAgICAgICAgcmV0dXJuIGNhY2hlZFRlbXBsYXRlOworCisgICAgdjg6OkhhbmRsZVNjb3Bl
IHNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcmVzdWx0ID0gdjg6
OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhVU0VfQ0FMTEJBQ0soSFRNTE9wdGlvbkVsZW1lbnRDb25z
dHJ1Y3RvcikpOworCisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2Ug
PSByZXN1bHQtPkluc3RhbmNlVGVtcGxhdGUoKTsKKyAgICBpbnN0YW5jZS0+U2V0SW50ZXJuYWxG
aWVsZENvdW50KFY4Q3VzdG9tOjprTm9kZU1pbmltdW1JbnRlcm5hbEZpZWxkQ291bnQpOworICAg
IHJlc3VsdC0+U2V0Q2xhc3NOYW1lKHY4OjpTdHJpbmc6Ok5ldygiSFRNTE9wdGlvbkVsZW1lbnQi
KSk7CisgICAgcmVzdWx0LT5Jbmhlcml0KFY4RE9NV3JhcHBlcjo6Z2V0VGVtcGxhdGUoVjhDbGFz
c0luZGV4OjpIVE1MT1BUSU9ORUxFTUVOVCkpOworCisgICAgY2FjaGVkVGVtcGxhdGUgPSB2ODo6
UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT46Ok5ldyhyZXN1bHQpOworICAgIHJldHVy
biBjYWNoZWRUZW1wbGF0ZTsKK30KKwogQ0FMTEJBQ0tfRlVOQ19ERUNMKEhUTUxPcHRpb25FbGVt
ZW50Q29uc3RydWN0b3IpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uSFRNTE9wdGlvbkVsZW1lbnQu
Q29udHJ1Y3RvciIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhI
VE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCAwMDAwMDAwLi43MDA3NmE1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmgKQEAgLTAsMCArMSw0
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gKKyNkZWZpbmUgVjhI
VE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gKKworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIFY4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rv
ciB7CisgICAgcHJpdmF0ZToKKyAgICAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5j
dGlvblRlbXBsYXRlPiBHZXRUZW1wbGF0ZSgpOworCisgICAgICAgIGZyaWVuZCBjbGFzcyBWOENs
YXNzSW5kZXg7CisgICAgfTsKKworfQorCisjZW5kaWYgLy8gVjhIVE1MT3B0aW9uRWxlbWVudENv
bnN0cnVjdG9yX2g=
</data>
<flag name="review"
          id="21624"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>