<?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>21886</bug_id>
          
          <creation_ts>2008-10-25 08:24:07 -0700</creation_ts>
          <short_desc>window.HTMLOptionElement == &quot;[object HTMLElementConstructor]&quot; instead of HTMLOptionElementConstructor</short_desc>
          <delta_ts>2008-10-27 01:49:58 -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 JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>21842</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96672</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-25 08:24:07 -0700</bug_when>
    <thetext>window.HTMLOptionElement == &quot;[object HTMLElementConstructor]&quot; instead of HTMLOptionElementConstructor

I filed this as bug 21842 originally, but that was decided invalid.  I&apos;m not sure what the functionality of &quot;new HTMLOptionElement&quot; needs to be, but it seems that window.HTMLOptionElement should be a specifically-named constructor like all the rest of the HTMLElement &quot;subclasses&quot; instead of being just an HTMLElementConstructor.

See bug 21842 for more background.

To fix this will probably require using a new idl flag &quot;CustomConstructor&quot; to have the JSHTMLOptionElement generated class generate a getConstructor function with the appropriate types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96704</commentid>
    <comment_count>1</comment_count>
      <attachid>24682</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-26 04:51:21 -0700</bug_when>
    <thetext>Created attachment 24682
test case

This is a real bug that affects extending HTMLOptionElement prototype, not just a problem with its constructor name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96707</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-26 05:41:46 -0700</bug_when>
    <thetext>I have a fix (window.Option and window.HTMLOptionElement are two different constructors, we need to provide both).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96716</commentid>
    <comment_count>3</comment_count>
      <attachid>24684</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-26 14:47:18 -0700</bug_when>
    <thetext>Created attachment 24684
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96725</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-27 01:00:11 -0700</bug_when>
    <thetext>Committed revision 37895.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>24682</attachid>
            <date>2008-10-26 04:51:21 -0700</date>
            <delta_ts>2008-10-26 04:51:21 -0700</delta_ts>
            <desc>test case</desc>
            <filename>option-prototype.html</filename>
            <type>text/html</type>
            <size>198</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGJvZHk+CjxzY3JpcHQ+CndpbmRvdy5IVE1MT3B0aW9uRWxlbWVudC5wcm90b3R5cGUuZm9vID0g
ZnVuY3Rpb24oKSB7IH0KCnRyeSB7CiAgICBkb2N1bWVudC5ib2R5LmZvbygpOwogICAgZG9jdW1l
bnQud3JpdGUoIkZBSUwiKTsKfSBjYXRjaCAoZXgpIHsKICAgIGRvY3VtZW50LndyaXRlKCJTVUND
RVNTIik7Cn0KPC9zY3JpcHQ+CjwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24684</attachid>
            <date>2008-10-26 14:47:18 -0700</date>
            <delta_ts>2008-10-26 22:32:19 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>OptionConstructor.txt</filename>
            <type>text/plain</type>
            <size>30342</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNzg5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDgtMTAtMjYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg4NgorICAgICAgICB3
aW5kb3cuSFRNTE9wdGlvbkVsZW1lbnQgPT0gIltvYmplY3QgSFRNTEVsZW1lbnRDb25zdHJ1Y3Rv
cl0iIGluc3RlYWQgb2YgSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3RvcgorCisgICAgICAgIENv
dmVyZWQgYnkgbXVsdGlwbGUgZXhpc3RpbmcgdGVzdHMgY2FzZXMuCisKKyAgICAgICAgV2Ugbm93
IGhhdmUgc2VwYXJhdGUgb2JqZWN0cyBmb3Igd2luZG93Lk9wdGlvbiBhbmQgd2luZG93LkhUTUxP
cHRpb25FbGVtZW50IC0gdGhlIGxhdHRlcgorICAgICAgICAiY29uc3RydWN0b3IiIGNhbm5vdCBi
ZSB1c2VkIHRvIGNvbnN0cnVjdCBhbnl0aGluZy4gVGhpcyBtYXRjaGVzIEZpcmVmb3ggYmVoYXZp
b3IuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKGpzRE9NV2lu
ZG93QmFzZU9wdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uRWxlbWVu
dENvbnN0cnVjdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxP
cHRpb25FbGVtZW50Q29uc3RydWN0b3IuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU09wdGlvbkNvbnN0cnVjdG9yLmNwcDogQ29waWVkIGZyb20gV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwLgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuaDogQ29waWVkIGZyb20gV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuaC4KKyAgICAgICAgKiBodG1sL0hUTUxP
cHRpb25FbGVtZW50LmlkbDoKKyAgICAgICAgUmVuYW1lZCBKU0hUTUxPcHRpb25FbGVtZW50Q29u
c3RydWN0b3IgdG8gSlNPcHRpb25Db25zdHJ1Y3Rvci4KKworICAgICAgICAqIGh0bWwvSFRNTE9w
dGlvbkVsZW1lbnQuaWRsOiBHZW5lcmF0ZSBhIGNvbnN0cnVjdG9yLgorCiAyMDA4LTEwLTI1ICBH
ZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2Vk
LgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDM3ODg3KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTIyMjgsOCArMjIyOCw4IEBACiAJCUE4MjM5RTAwMDlCM0NGOEEw
MEI2MDY0MSAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4MjM5REZFMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dnaW5nLmNwcCAqLzsg
fTsKIAkJQTgyMzlFMDEwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dpbmcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MjM5REZGMDlCM0NGOEEwMEI2MDY0
MSAvKiBMb2dnaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQTgyNEI0NjUwRTJFRjJFQTAwODFBN0I3IC8qIFRleHRSdW4uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MjRCNDY0MEUyRUYyRUEwMDgx
QTdCNyAvKiBUZXh0UnVuLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJQTgyNkU4QUUwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTSFRNTE9wdGlvbkVsZW1l
bnRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTgyNkU4QUMwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTSFRNTE9wdGlvbkVsZW1lbnRDb25z
dHJ1Y3Rvci5oICovOyB9OwotCQlBODI2RUM0ODBBMUIwQ0JFMDBDRDFCQjYgLyogSlNIVE1MT3B0
aW9uRWxlbWVudENvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE4MjZFOEFEMEExQThGMjMwMENEMUJCNiAvKiBKU0hUTUxPcHRpb25F
bGVtZW50Q29uc3RydWN0b3IuY3BwICovOyB9OworCQlBODI2RThBRTBBMUE4RjIzMDBDRDFCQjYg
LyogSlNPcHRpb25Db25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTgyNkU4QUMwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTT3B0aW9uQ29uc3Ry
dWN0b3IuaCAqLzsgfTsKKwkJQTgyNkVDNDgwQTFCMENCRTAwQ0QxQkI2IC8qIEpTT3B0aW9uQ29u
c3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTgyNkU4QUQwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTT3B0aW9uQ29uc3RydWN0b3IuY3BwICov
OyB9OwogCQlBODMzQzdDQTBBMkNGMDZCMDBENTc2NjQgLyogU1ZHTmFtZXMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2NTgxRTgwOUQxNTA4RDAw
MEU2MUQ3IC8qIFNWR05hbWVzLmNwcCAqLzsgfTsKIAkJQTgzM0M3Q0MwQTJDRjA3NDAwRDU3NjY0
IC8qIFhMaW5rTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjU2NTgxRUEwOUQxNTA4RDAwMEU2MUQ3IC8qIFhMaW5rTmFtZXMuY3BwICovOyB9
OwogCQlBODMzQzgwQzBBMkNGMjU2MDBENTc2NjQgLyogWE1MTmFtZXMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTgzM0M4MEEwQTJDRjI1NjAwRDU3
NjY0IC8qIFhNTE5hbWVzLmNwcCAqLzsgfTsKQEAgLTY3ODUsOCArNjc4NSw4IEBACiAJCUE4MjM5
REZFMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dnaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTgyMzlERkYwOUIzQ0Y4QTAwQjYwNjQxIC8qIExvZ2dpbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IExvZ2dpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTgyNEI0NjQwRTJFRjJFQTAwODFBN0I3IC8qIFRleHRSdW4uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVGV4dFJ1bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlBODI2RThBQzBBMUE4RjIzMDBDRDFCQjYgLyogSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVj
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxPcHRpb25FbGVt
ZW50Q29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTgyNkU4QUQw
QTFBOEYyMzAwQ0QxQkI2IC8qIEpTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MT3B0aW9uRWxlbWVudENv
bnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTgyNkU4QUMwQTFB
OEYyMzAwQ0QxQkI2IC8qIEpTT3B0aW9uQ29uc3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTT3B0aW9uQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTgyNkU4QUQwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTT3B0aW9uQ29uc3RydWN0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTT3B0aW9uQ29u
c3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODMzQzdGNjBBMkNG
MUQ4MDBENTc2NjQgLyogeG1sYXR0cnMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IHhtbGF0
dHJzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODMzQzgwQTBBMkNGMjU2MDBE
NTc2NjQgLyogWE1MTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFhNTE5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTgzM0M4MEIw
QTJDRjI1NjAwRDU3NjY0IC8qIFhNTE5hbWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBYTUxOYW1lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI4NTUs
OCArMTI4NTUsNiBAQAogCQkJCUIyNUJFNTBGMEQwNkI3MDgwMEI1MjRDNiAvKiBKU0V2ZW50VGFy
Z2V0QmFzZS5oICovLAogCQkJCUJDNkRDN0EwMEMxQTRCRkEwMDRFMjAxNyAvKiBKU0hUTUxBbGxD
b2xsZWN0aW9uLmggKi8sCiAJCQkJOTM1MEU3MEMwRTg3NTAwQjAwMTg5RkZGIC8qIEpTSFRNTEFs
bENvbGxlY3Rpb24uY3BwICovLAotCQkJCUE4MjZFOEFEMEExQThGMjMwMENEMUJCNiAvKiBKU0hU
TUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwICovLAotCQkJCUE4MjZFOEFDMEExQThGMjMw
MENEMUJCNiAvKiBKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuaCAqLywKIAkJCQlCQzZD
NDlGMTBEN0RCQTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmNwcCAqLywKIAkJCQlC
QzZDNDlGMjBEN0RCQTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmggKi8sCiAJCQkJ
QzA5MTU4ODQwREI0MjA5MjAwRTU1QUY0IC8qIEpTSW5zcGVjdGVkT2JqZWN0V3JhcHBlci5jcHAg
Ki8sCkBAIC0xMjg2OSw2ICsxMjg2Nyw4IEBACiAJCQkJQkNEOUMyNkQwQzE3QUE4MTAwNUM5MEEy
IC8qIEpTTmFtZWROb2Rlc0NvbGxlY3Rpb24uaCAqLywKIAkJCQlCQ0I3NzM1RTBDMTc4NTNEMDAx
MzJCQTQgLyogSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcCAqLywKIAkJCQlCQ0I3NzM1RjBDMTc4
NTNEMDAxMzJCQTQgLyogSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmggKi8sCisJCQkJQTgyNkU4QUQw
QTFBOEYyMzAwQ0QxQkI2IC8qIEpTT3B0aW9uQ29uc3RydWN0b3IuY3BwICovLAorCQkJCUE4MjZF
OEFDMEExQThGMjMwMENEMUJCNiAvKiBKU09wdGlvbkNvbnN0cnVjdG9yLmggKi8sCiAJCQkJOTNC
NzBENEYwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgKi8s
CiAJCQkJOTNCNzBENTAwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9u
cy5oICovLAogCQkJCUMwOTE1ODg4MERCNDIwOTIwMEU1NUFGNCAvKiBKU1F1YXJhbnRpbmVkT2Jq
ZWN0V3JhcHBlci5jcHAgKi8sCkBAIC0xNTEyNCw3ICsxNTEyNCw3IEBACiAJCQkJQkMzMDVDN0Ew
QzA3NkJCMzAwQ0QyMEYwIC8qIEpTSFRNTE9iamVjdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4MEU3RTlCMEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxPcHRHcm91cEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4MEU3RTk5MEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxPcHRp
b25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlBODI2RThBRTBBMUE4RjIzMDBDRDFCQjYg
LyogSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
ODI2RThBRTBBMUE4RjIzMDBDRDFCQjYgLyogSlNPcHRpb25Db25zdHJ1Y3Rvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDQ4QTI5QkYwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUJBNzBBMUNFOTA1MDBCNDJCMjUgLyog
SlNIVE1MUGFyYWdyYXBoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCQTkwQTFD
RTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFtRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
NzA1OSw3ICsxNzA1OSw3IEBACiAJCQkJQkMzMDVDQTQwQzA3ODFCQjAwQ0QyMEYwIC8qIEpTSFRN
TE9iamVjdEVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTdFOUMwQTFB
ODNFMzAwN0ZCOEM1IC8qIEpTSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBODBFN0U5QTBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MT3B0aW9uRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQlBODI2RUM0ODBBMUIwQ0JFMDBDRDFCQjYgLyogSlNIVE1MT3B0
aW9uRWxlbWVudENvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4MjZFQzQ4MEEx
QjBDQkUwMENEMUJCNiAvKiBKU09wdGlvbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQ0OEEyOUMwMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0NDhBRDI3QzBBNDgxMzdBMDAyM0QxNzkgLyogSlNIVE1M
T3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMkFCQTYw
QTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFncmFwaEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCShyZXZpc2lv
biAzNzg4NykKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDMsMTAgKzQzLDEwIEBACiAjaW5jbHVkZSAiSlNFdmVudC5oIgogI2lu
Y2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkpTSFRNTENvbGxlY3Rpb24uaCIK
LSNpbmNsdWRlICJKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJK
U0ltYWdlQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJKU01lc3NhZ2VDaGFubmVsQ29uc3RydWN0
b3IuaCIKICNpbmNsdWRlICJKU05vZGUuaCIKKyNpbmNsdWRlICJKU09wdGlvbkNvbnN0cnVjdG9y
LmgiCiAjaW5jbHVkZSAiSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAi
SlNYU0xUUHJvY2Vzc29yQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC00
NDgsNyArNDQ4LDcgQEAgSlNWYWx1ZSoganNET01XaW5kb3dCYXNlT3B0aW9uKEV4ZWNTdGF0ZQog
ewogICAgIGlmICghc3RhdGljX2Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oYXNPYmplY3Qoc2xvdC5z
bG90QmFzZSgpKSktPmFsbG93c0FjY2Vzc0Zyb20oZXhlYykpCiAgICAgICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOwotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU0hUTUxPcHRpb25FbGVt
ZW50Q29uc3RydWN0b3I+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NV2luZG93QmFzZSo+KGFzT2Jq
ZWN0KHNsb3Quc2xvdEJhc2UoKSkpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNP
cHRpb25Db25zdHJ1Y3Rvcj4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01XaW5kb3dCYXNlKj4oYXNP
YmplY3Qoc2xvdC5zbG90QmFzZSgpKSkpOwogfQogCiBKU1ZhbHVlKiBqc0RPTVdpbmRvd0Jhc2VY
TUxIdHRwUmVxdWVzdChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBQ
cm9wZXJ0eVNsb3QmIHNsb3QpCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlv
bkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAzNzg4NykKKysr
IFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw4NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIkpTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5oIgotCi0j
aW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgotI2lu
Y2x1ZGUgIkpTSFRNTE9wdGlvbkVsZW1lbnQuaCIKLSNpbmNsdWRlICJUZXh0LmgiCi0KLXVzaW5n
IG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotQVNTRVJUX0NMQVNTX0ZJ
VFNfSU5fQ0VMTChKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IpCi0KLWNvbnN0IENsYXNz
SW5mbyBKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIk9wdGlvbkNv
bnN0cnVjdG9yIiwgMCwgMCwgMCB9OwotCi1KU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3I6
OkpTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIERvY3VtZW50
KiBkb2N1bWVudCkKLSAgICA6IERPTU9iamVjdChKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0
b3I6OmNyZWF0ZVN0cnVjdHVyZUlEKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+b2JqZWN0
UHJvdG90eXBlKCkpKQotICAgICwgbV9kb2N1bWVudChzdGF0aWNfY2FzdDxKU0RvY3VtZW50Kj4o
YXNPYmplY3QodG9KUyhleGVjLCBkb2N1bWVudCkpKSkKLXsKLSAgICBwdXREaXJlY3QoZXhlYy0+
cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoZXhlYywgNCksIFJlYWRPbmx5fERvbnRE
ZWxldGV8RG9udEVudW0pOwotfQotCi1zdGF0aWMgSlNPYmplY3QqIGNvbnN0cnVjdEhUTUxPcHRp
b25FbGVtZW50KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGNvbnN0cnVjdG9yLCBjb25zdCBB
cmdMaXN0JiBhcmdzKQotewotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PEpT
SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvcio+KGNvbnN0cnVjdG9yKS0+ZG9jdW1lbnQoKTsK
LQotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotCi0gICAgUmVmUHRyPEhUTUxPcHRpb25FbGVt
ZW50PiBlbGVtZW50ID0gc3RhdGljX3BvaW50ZXJfY2FzdDxIVE1MT3B0aW9uRWxlbWVudD4oZG9j
dW1lbnQtPmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIsIGVjKSk7Ci0gICAgUmVmUHRyPFRleHQ+IHRl
eHQ7Ci0gICAgaWYgKGVjID09IDApCi0gICAgICAgIHRleHQgPSBkb2N1bWVudC0+Y3JlYXRlVGV4
dE5vZGUoIiIpOwotICAgIGlmIChlYyA9PSAwICYmICFhcmdzLmF0KGV4ZWMsIDApLT5pc1VuZGVm
aW5lZCgpKQotICAgICAgICB0ZXh0LT5zZXREYXRhKGFyZ3MuYXQoZXhlYywgMCktPnRvU3RyaW5n
KGV4ZWMpLCBlYyk7Ci0gICAgaWYgKGVjID09IDApCi0gICAgICAgIGVsZW1lbnQtPmFwcGVuZENo
aWxkKHRleHQucmVsZWFzZSgpLCBlYyk7Ci0gICAgaWYgKGVjID09IDAgJiYgIWFyZ3MuYXQoZXhl
YywgMSktPmlzVW5kZWZpbmVkKCkpCi0gICAgICAgIGVsZW1lbnQtPnNldFZhbHVlKGFyZ3MuYXQo
ZXhlYywgMSktPnRvU3RyaW5nKGV4ZWMpKTsKLSAgICBpZiAoZWMgPT0gMCkKLSAgICAgICAgZWxl
bWVudC0+c2V0RGVmYXVsdFNlbGVjdGVkKGFyZ3MuYXQoZXhlYywgMiktPnRvQm9vbGVhbihleGVj
KSk7Ci0gICAgaWYgKGVjID09IDApCi0gICAgICAgIGVsZW1lbnQtPnNldFNlbGVjdGVkKGFyZ3Mu
YXQoZXhlYywgMyktPnRvQm9vbGVhbihleGVjKSk7Ci0KLSAgICBpZiAoZWMpIHsKLSAgICAgICAg
c2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0g
ICAgcmV0dXJuIGFzT2JqZWN0KHRvSlMoZXhlYywgZWxlbWVudC5yZWxlYXNlKCkpKTsKLX0KLQot
Q29uc3RydWN0VHlwZSBKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3I6OmdldENvbnN0cnVj
dERhdGEoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKLXsKLSAgICBjb25zdHJ1Y3REYXRh
Lm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdEhUTUxPcHRpb25FbGVtZW50OwotICAgIHJldHVy
biBDb25zdHJ1Y3RUeXBlSG9zdDsKLX0KLQotdm9pZCBKU0hUTUxPcHRpb25FbGVtZW50Q29uc3Ry
dWN0b3I6Om1hcmsoKQotewotICAgIERPTU9iamVjdDo6bWFyaygpOwotICAgIGlmICghbV9kb2N1
bWVudC0+bWFya2VkKCkpCi0gICAgICAgIG1fZG9jdW1lbnQtPm1hcmsoKTsKLX0KLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25F
bGVtZW50Q29uc3RydWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5oCShyZXZpc2lvbiAzNzg4NykKKysrIFdlYkNv
cmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpZm5kZWYgSlNIVE1MT3B0aW9uRWxlbWVu
dENvbnN0cnVjdG9yX2gKLSNkZWZpbmUgSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gK
LQotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgotI2luY2x1ZGUgIkpTRG9jdW1lbnQuaCIKLSNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotICAgIGNsYXNz
IEpTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3RvciA6IHB1YmxpYyBET01PYmplY3QgewotICAg
IHB1YmxpYzoKLSAgICAgICAgSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yKEpTQzo6RXhl
Y1N0YXRlKiwgRG9jdW1lbnQqKTsKLSAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9kb2N1bWVudC0+aW1wbCgpOyB9Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IEpT
Qzo6Q2xhc3NJbmZvIHNfaW5mbzsKLSAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgdm9pZCBtYXJr
KCk7Ci0gICAgcHJpdmF0ZToKLSAgICAgICAgdmlydHVhbCBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0
Q29uc3RydWN0RGF0YShKU0M6OkNvbnN0cnVjdERhdGEmKTsKLSAgICAgICAgdmlydHVhbCBjb25z
dCBKU0M6OkNsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29uc3QgeyByZXR1cm4gJnNfaW5mbzsgfQot
Ci0gICAgICAgIEpTRG9jdW1lbnQqIG1fZG9jdW1lbnQ7Ci0gICAgfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gK
SW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmNwcAkocmV2
aXNpb24gMzc4ODcpCShmcm9tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uRWxlbWVu
dENvbnN0cnVjdG9yLmNwcDozNzg4NykKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25D
b25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0hUTUxPcHRpb25FbGVtZW50Q29u
c3RydWN0b3IuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiSFRNTE9wdGlv
bkVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hUTUxPcHRpb25FbGVtZW50LmgiCisjaW5jbHVkZSAi
VGV4dC5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0FTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9y
KQorCitjb25zdCBDbGFzc0luZm8gSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yOjpzX2lu
Zm8gPSB7ICJPcHRpb25Db25zdHJ1Y3RvciIsIDAsIDAsIDAgfTsKKworSlNIVE1MT3B0aW9uRWxl
bWVudENvbnN0cnVjdG9yOjpKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IoRXhlY1N0YXRl
KiBleGVjLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBET01PYmplY3QoSlNIVE1MT3B0aW9u
RWxlbWVudENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmVJRChleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKSkKKyAgICAsIG1fZG9jdW1lbnQoc3RhdGljX2Nh
c3Q8SlNEb2N1bWVudCo+KGFzT2JqZWN0KHRvSlMoZXhlYywgZG9jdW1lbnQpKSkpCit7CisgICAg
cHV0RGlyZWN0KGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKGV4ZWMsIDQp
LCBSZWFkT25seXxEb250RGVsZXRlfERvbnRFbnVtKTsKK30KKworc3RhdGljIEpTT2JqZWN0KiBj
b25zdHJ1Y3RIVE1MT3B0aW9uRWxlbWVudChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBjb25z
dHJ1Y3RvciwgY29uc3QgQXJnTGlzdCYgYXJncykKK3sKKyAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSBzdGF0aWNfY2FzdDxKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IqPihjb25zdHJ1Y3Rv
ciktPmRvY3VtZW50KCk7CisKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKworICAgIFJlZlB0
cjxIVE1MT3B0aW9uRWxlbWVudD4gZWxlbWVudCA9IHN0YXRpY19wb2ludGVyX2Nhc3Q8SFRNTE9w
dGlvbkVsZW1lbnQ+KGRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCJvcHRpb24iLCBlYykpOworICAg
IFJlZlB0cjxUZXh0PiB0ZXh0OworICAgIGlmIChlYyA9PSAwKQorICAgICAgICB0ZXh0ID0gZG9j
dW1lbnQtPmNyZWF0ZVRleHROb2RlKCIiKTsKKyAgICBpZiAoZWMgPT0gMCAmJiAhYXJncy5hdChl
eGVjLCAwKS0+aXNVbmRlZmluZWQoKSkKKyAgICAgICAgdGV4dC0+c2V0RGF0YShhcmdzLmF0KGV4
ZWMsIDApLT50b1N0cmluZyhleGVjKSwgZWMpOworICAgIGlmIChlYyA9PSAwKQorICAgICAgICBl
bGVtZW50LT5hcHBlbmRDaGlsZCh0ZXh0LnJlbGVhc2UoKSwgZWMpOworICAgIGlmIChlYyA9PSAw
ICYmICFhcmdzLmF0KGV4ZWMsIDEpLT5pc1VuZGVmaW5lZCgpKQorICAgICAgICBlbGVtZW50LT5z
ZXRWYWx1ZShhcmdzLmF0KGV4ZWMsIDEpLT50b1N0cmluZyhleGVjKSk7CisgICAgaWYgKGVjID09
IDApCisgICAgICAgIGVsZW1lbnQtPnNldERlZmF1bHRTZWxlY3RlZChhcmdzLmF0KGV4ZWMsIDIp
LT50b0Jvb2xlYW4oZXhlYykpOworICAgIGlmIChlYyA9PSAwKQorICAgICAgICBlbGVtZW50LT5z
ZXRTZWxlY3RlZChhcmdzLmF0KGV4ZWMsIDMpLT50b0Jvb2xlYW4oZXhlYykpOworCisgICAgaWYg
KGVjKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgICAgIHJldHVy
biAwOworICAgIH0KKworICAgIHJldHVybiBhc09iamVjdCh0b0pTKGV4ZWMsIGVsZW1lbnQucmVs
ZWFzZSgpKSk7Cit9CisKK0NvbnN0cnVjdFR5cGUgSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVj
dG9yOjpnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7Cisg
ICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RIVE1MT3B0aW9uRWxl
bWVudDsKKyAgICByZXR1cm4gQ29uc3RydWN0VHlwZUhvc3Q7Cit9CisKK3ZvaWQgSlNIVE1MT3B0
aW9uRWxlbWVudENvbnN0cnVjdG9yOjptYXJrKCkKK3sKKyAgICBET01PYmplY3Q6Om1hcmsoKTsK
KyAgICBpZiAoIW1fZG9jdW1lbnQtPm1hcmtlZCgpKQorICAgICAgICBtX2RvY3VtZW50LT5tYXJr
KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mv
anMvSlNPcHRpb25Db25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMzc4ODcpCisrKyBXZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
OCw3ICsxOCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTSFRN
TE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5oIgorI2luY2x1ZGUgIkpTT3B0aW9uQ29uc3RydWN0
b3IuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1l
bnQuaCIKQEAgLTI5LDEyICsyOSwxMiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNIVE1MT3B0aW9uRWxl
bWVudENvbnN0cnVjdG9yKQorQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU09wdGlvbkNvbnN0
cnVjdG9yKQogCi1jb25zdCBDbGFzc0luZm8gSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9y
OjpzX2luZm8gPSB7ICJPcHRpb25Db25zdHJ1Y3RvciIsIDAsIDAsIDAgfTsKK2NvbnN0IENsYXNz
SW5mbyBKU09wdGlvbkNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJPcHRpb25Db25zdHJ1Y3RvciIs
IDAsIDAsIDAgfTsKIAotSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yOjpKU0hUTUxPcHRp
b25FbGVtZW50Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBEb2N1bWVudCogZG9jdW1lbnQp
Ci0gICAgOiBET01PYmplY3QoSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yOjpjcmVhdGVT
dHJ1Y3R1cmVJRChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgp
KSkKK0pTT3B0aW9uQ29uc3RydWN0b3I6OkpTT3B0aW9uQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBl
eGVjLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBET01PYmplY3QoSlNPcHRpb25Db25zdHJ1
Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlSUQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5vYmpl
Y3RQcm90b3R5cGUoKSkpCiAgICAgLCBtX2RvY3VtZW50KHN0YXRpY19jYXN0PEpTRG9jdW1lbnQq
Pihhc09iamVjdCh0b0pTKGV4ZWMsIGRvY3VtZW50KSkpKQogewogICAgIHB1dERpcmVjdChleGVj
LT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcihleGVjLCA0KSwgUmVhZE9ubHl8RG9u
dERlbGV0ZXxEb250RW51bSk7CkBAIC00Miw3ICs0Miw3IEBAIEpTSFRNTE9wdGlvbkVsZW1lbnRD
b25zdHJ1Y3Rvcjo6SlNIVE1MT3AKIAogc3RhdGljIEpTT2JqZWN0KiBjb25zdHJ1Y3RIVE1MT3B0
aW9uRWxlbWVudChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBjb25zdHJ1Y3RvciwgY29uc3Qg
QXJnTGlzdCYgYXJncykKIHsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxK
U0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IqPihjb25zdHJ1Y3RvciktPmRvY3VtZW50KCk7
CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8SlNPcHRpb25Db25zdHJ1Y3Rv
cio+KGNvbnN0cnVjdG9yKS0+ZG9jdW1lbnQoKTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAw
OwogCkBAIC02OSwxMyArNjksMTMgQEAgc3RhdGljIEpTT2JqZWN0KiBjb25zdHJ1Y3RIVE1MT3B0
aW9uRWxlbQogICAgIHJldHVybiBhc09iamVjdCh0b0pTKGV4ZWMsIGVsZW1lbnQucmVsZWFzZSgp
KSk7CiB9CiAKLUNvbnN0cnVjdFR5cGUgSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yOjpn
ZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCitDb25zdHJ1Y3RU
eXBlIEpTT3B0aW9uQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0RGF0YSYg
Y29uc3RydWN0RGF0YSkKIHsKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNv
bnN0cnVjdEhUTUxPcHRpb25FbGVtZW50OwogICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlSG9zdDsK
IH0KIAotdm9pZCBKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3I6Om1hcmsoKQordm9pZCBK
U09wdGlvbkNvbnN0cnVjdG9yOjptYXJrKCkKIHsKICAgICBET01PYmplY3Q6Om1hcmsoKTsKICAg
ICBpZiAoIW1fZG9jdW1lbnQtPm1hcmtlZCgpKQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U09wdGlvbkNvbnN0cnVjdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U09wdGlvbkNvbnN0cnVjdG9yLmgJKHJldmlzaW9uIDM3ODg3KQkoZnJvbSBXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5oOjM3ODg3KQorKysgV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9y
X2gKKyNkZWZpbmUgSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gKKworI2luY2x1ZGUg
IkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTRG9jdW1lbnQuaCIKKyNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIEpTSFRNTE9wdGlv
bkVsZW1lbnRDb25zdHJ1Y3RvciA6IHB1YmxpYyBET01PYmplY3QgeworICAgIHB1YmxpYzoKKyAg
ICAgICAgSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yKEpTQzo6RXhlY1N0YXRlKiwgRG9j
dW1lbnQqKTsKKyAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9k
b2N1bWVudC0+aW1wbCgpOyB9CisKKyAgICAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZv
IHNfaW5mbzsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgdm9pZCBtYXJrKCk7CisgICAgcHJp
dmF0ZToKKyAgICAgICAgdmlydHVhbCBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0
YShKU0M6OkNvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgdmlydHVhbCBjb25zdCBKU0M6OkNsYXNz
SW5mbyogY2xhc3NJbmZvKCkgY29uc3QgeyByZXR1cm4gJnNfaW5mbzsgfQorCisgICAgICAgIEpT
RG9jdW1lbnQqIG1fZG9jdW1lbnQ7CisgICAgfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gKSW5kZXg6IFdlYkNv
cmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5oCShyZXZpc2lvbiAzNzg4NykKKysr
IFdlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNyw4ICsxNyw4IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwog
Ci0jaWZuZGVmIEpTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvcl9oCi0jZGVmaW5lIEpTSFRN
TE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvcl9oCisjaWZuZGVmIEpTT3B0aW9uQ29uc3RydWN0b3Jf
aAorI2RlZmluZSBKU09wdGlvbkNvbnN0cnVjdG9yX2gKIAogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgogI2luY2x1ZGUgIkpTRG9jdW1lbnQuaCIKQEAgLTI2LDkgKzI2LDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9y
IDogcHVibGljIERPTU9iamVjdCB7CisgICAgY2xhc3MgSlNPcHRpb25Db25zdHJ1Y3RvciA6IHB1
YmxpYyBET01PYmplY3QgewogICAgIHB1YmxpYzoKLSAgICAgICAgSlNIVE1MT3B0aW9uRWxlbWVu
dENvbnN0cnVjdG9yKEpTQzo6RXhlY1N0YXRlKiwgRG9jdW1lbnQqKTsKKyAgICAgICAgSlNPcHRp
b25Db25zdHJ1Y3RvcihKU0M6OkV4ZWNTdGF0ZSosIERvY3VtZW50Kik7CiAgICAgICAgIERvY3Vt
ZW50KiBkb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQtPmltcGwoKTsgfQogCiAg
ICAgICAgIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87CkBAIC00Myw0ICs0Myw0
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gSlNIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yX2gKKyNlbmRpZiAvLyBKU09wdGlv
bkNvbnN0cnVjdG9yX2gKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkocmV2aXNp
b24gMzc4ODcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yMSw2ICsyMSw3IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2Ug
WworICAgICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNv
bnZlcnRlciwKICAgICAgICAgSW50ZXJmYWNlVVVJRD03NGE3YjY0YS1jZjE4LTRkYTktYjNhYS1l
MWY0ZDI0NWQ2MDcsCiAgICAgICAgIEltcGxlbWVudGF0aW9uVVVJRD0xNjY5MTVkNS0yYzkzLTQw
NGItYjA3Ni1hZjNmYTVjY2JkODMKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM3ODg3KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDgtMTAt
MjYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODg2CisgICAgICAgIHdpbmRvdy5IVE1MT3B0aW9u
RWxlbWVudCA9PSAiW29iamVjdCBIVE1MRWxlbWVudENvbnN0cnVjdG9yXSIgaW5zdGVhZCBvZiBI
VE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MT3B0
aW9uRWxlbWVudC9vcHRpb24tcHJvdG90eXBlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vSFRN
TE9wdGlvbkVsZW1lbnQvb3B0aW9uLXByb3RvdHlwZS1leHBlY3RlZC50eHQ6CisgICAgICAgIEFk
ZGVkIGEgdGVzdCB0byB2ZXJpZnkgdGhhdCBleHRlbmRpbmcgSFRNTE9wdGlvbkVsZW1lbnQgdmlh
IGl0cyBwcm90b3R5cGUgZG9lc24ndCBhZmZlY3QKKyAgICAgICAgSFRNTEVsZW1lbnQuCisKKyAg
ICAgICAgKiBmYXN0L2RvbS93cmFwcGVyLWNsYXNzZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9XaW5kb3cvZWxlbWVudC1jb25zdHJ1Y3RvcnMtb24td2luZG93Lmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisgICAgICAgICogZmFzdC9q
cy9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWw6CisgICAgICAgIFVwZGF0ZWQgcmVzdWx0cy4gRG9u
J3Qgd2UgaGF2ZSBhIGxpdHRsZSB0b28gbWFueSBvZiB0aGVzZSB0ZXN0cz8KKwogMjAwOC0xMC0y
NCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
U2FtIFdlaW5pZy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxPcHRpb25FbGVtZW50
L29wdGlvbi1wcm90b3R5cGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxPcHRpb25FbGVtZW50L29wdGlvbi1wcm90b3R5cGUtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE9wdGlvbkVsZW1lbnQv
b3B0aW9uLXByb3RvdHlwZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBA
QAorVGVzdCBmb3IgYnVnIDIxODg2OiB3aW5kb3cuSFRNTE9wdGlvbkVsZW1lbnQgPT0gIltvYmpl
Y3QgSFRNTEVsZW1lbnRDb25zdHJ1Y3Rvcl0iIGluc3RlYWQgb2YgSFRNTE9wdGlvbkVsZW1lbnRD
b25zdHJ1Y3Rvci4KKworU1VDQ0VTUwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTE9wdGlvbkVsZW1lbnQvb3B0aW9uLXByb3RvdHlwZS1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46
ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE9w
dGlvbkVsZW1lbnQvb3B0aW9uLXByb3RvdHlwZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxPcHRpb25FbGVtZW50L29wdGlvbi1wcm90b3R5cGUuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxPcHRpb25FbGVtZW50L29wdGlv
bi1wcm90b3R5cGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorPGJvZHk+Cis8
cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE4ODYiPmJ1ZyAyMTg4NjwvYT46Cit3aW5kb3cuSFRNTE9wdGlvbkVsZW1lbnQgPT0gIltv
YmplY3QgSFRNTEVsZW1lbnRDb25zdHJ1Y3Rvcl0iIGluc3RlYWQgb2YgSFRNTE9wdGlvbkVsZW1l
bnRDb25zdHJ1Y3Rvci48L3A+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3dpbmRvdy5I
VE1MT3B0aW9uRWxlbWVudC5wcm90b3R5cGUuZm9vID0gZnVuY3Rpb24oKSB7IH0KKwordHJ5IHsK
KyAgICBkb2N1bWVudC5ib2R5LmZvbygpOworICAgIGRvY3VtZW50LndyaXRlKCJGQUlMIik7Cit9
IGNhdGNoIChleCkgeworICAgIGRvY3VtZW50LndyaXRlKCJTVUNDRVNTIik7Cit9Cis8L3Njcmlw
dD4KKzwvYm9keT4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxPcHRpb25FbGVtZW50L29wdGlvbi1wcm90b3R5cGUuaHRtbApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2
bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXB1
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDM3ODg3KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtNDIzLDcgKzQyMyw3IEBACiBBTEVSVDogUEFTUzogd2luZG93LkhUTUxNb2RFbGVt
ZW50IHNob3VsZCBiZSAnW29iamVjdCBIVE1MTW9kRWxlbWVudENvbnN0cnVjdG9yXScgYW5kIGlz
LgogQUxFUlQ6IFBBU1M6IHdpbmRvdy5IVE1MT0xpc3RFbGVtZW50IHNob3VsZCBiZSAnW29iamVj
dCBIVE1MT0xpc3RFbGVtZW50Q29uc3RydWN0b3JdJyBhbmQgaXMuCiBBTEVSVDogUEFTUzogd2lu
ZG93LkhUTUxPcHRHcm91cEVsZW1lbnQgc2hvdWxkIGJlICdbb2JqZWN0IEhUTUxPcHRHcm91cEVs
ZW1lbnRDb25zdHJ1Y3Rvcl0nIGFuZCBpcy4KLUFMRVJUOiBQQVNTOiB3aW5kb3cuSFRNTE9wdGlv
bkVsZW1lbnQgc2hvdWxkIGJlICdbb2JqZWN0IEhUTUxFbGVtZW50Q29uc3RydWN0b3JdJyBhbmQg
aXMuCitBTEVSVDogUEFTUzogd2luZG93LkhUTUxPcHRpb25FbGVtZW50IHNob3VsZCBiZSAnW29i
amVjdCBIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yXScgYW5kIGlzLgogQUxFUlQ6IFBBU1M6
IHdpbmRvdy5IVE1MUGFyYWdyYXBoRWxlbWVudCBzaG91bGQgYmUgJ1tvYmplY3QgSFRNTFBhcmFn
cmFwaEVsZW1lbnRDb25zdHJ1Y3Rvcl0nIGFuZCBpcy4KIEFMRVJUOiBQQVNTOiB3aW5kb3cuSFRN
TFBhcmFtRWxlbWVudCBzaG91bGQgYmUgJ1tvYmplY3QgSFRNTFBhcmFtRWxlbWVudENvbnN0cnVj
dG9yXScgYW5kIGlzLgogQUxFUlQ6IFBBU1M6IHdpbmRvdy5IVE1MUHJlRWxlbWVudCBzaG91bGQg
YmUgJ1tvYmplY3QgSFRNTFByZUVsZW1lbnRDb25zdHJ1Y3Rvcl0nIGFuZCBpcy4KCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNj
ZXNzLXB1dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDM3ODg3KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtODMsNyArODMsNyBAQAogUEFTUyBIVE1MT0xpc3RFbGVtZW50LnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgSFRNTE9MaXN0RWxlbWVudENvbnN0cnVjdG9yXScKIFBBU1MgSFRN
TE9iamVjdEVsZW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBIVE1MT2JqZWN0RWxlbWVudENv
bnN0cnVjdG9yXScKIFBBU1MgSFRNTE9wdEdyb3VwRWxlbWVudC50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IEhUTUxPcHRHcm91cEVsZW1lbnRDb25zdHJ1Y3Rvcl0nCi1GQUlMIEhUTUxPcHRpb25FbGVt
ZW50LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1
Y3Rvcl0uIFdhcyBbb2JqZWN0IEhUTUxFbGVtZW50Q29uc3RydWN0b3JdLgorUEFTUyBIVE1MT3B0
aW9uRWxlbWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IEhUTUxPcHRpb25FbGVtZW50Q29uc3Ry
dWN0b3JdJwogUEFTUyBIVE1MUGFyYWdyYXBoRWxlbWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0
IEhUTUxQYXJhZ3JhcGhFbGVtZW50Q29uc3RydWN0b3JdJwogUEFTUyBIVE1MUGFyYW1FbGVtZW50
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgSFRNTFBhcmFtRWxlbWVudENvbnN0cnVjdG9yXScKIFBB
U1MgSFRNTFByZUVsZW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBIVE1MUHJlRWxlbWVudENv
bnN0cnVjdG9yXScKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDM3ODg3KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtODU0LDcgKzg1NCw4IEBACiB3aW5kb3cuSFRNTE9iamVj
dEVsZW1lbnQucHJvdG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRvdy5FbGVtZW50LnByb3Rv
dHlwZV0KIHdpbmRvdy5IVE1MT3B0R3JvdXBFbGVtZW50IFtvYmplY3QgSFRNTE9wdEdyb3VwRWxl
bWVudENvbnN0cnVjdG9yXQogd2luZG93LkhUTUxPcHRHcm91cEVsZW1lbnQucHJvdG90eXBlIFtw
cmludGVkIGFib3ZlIGFzIHdpbmRvdy5FbGVtZW50LnByb3RvdHlwZV0KLXdpbmRvdy5IVE1MT3B0
aW9uRWxlbWVudCBbcHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cuSFRNTEVsZW1lbnRdCit3aW5kb3cu
SFRNTE9wdGlvbkVsZW1lbnQgW29iamVjdCBIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yXQor
d2luZG93LkhUTUxPcHRpb25FbGVtZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3aW5k
b3cuRWxlbWVudC5wcm90b3R5cGVdCiB3aW5kb3cuSFRNTFBhcmFncmFwaEVsZW1lbnQgW29iamVj
dCBIVE1MUGFyYWdyYXBoRWxlbWVudENvbnN0cnVjdG9yXQogd2luZG93LkhUTUxQYXJhZ3JhcGhF
bGVtZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cuRWxlbWVudC5wcm90b3R5
cGVdCiB3aW5kb3cuSFRNTFBhcmFtRWxlbWVudCBbb2JqZWN0IEhUTUxQYXJhbUVsZW1lbnRDb25z
dHJ1Y3Rvcl0KCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvZWxlbWVudC1jb25z
dHJ1Y3RvcnMtb24td2luZG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvZWxlbWVudC1jb25zdHJ1Y3RvcnMtb24td2luZG93LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMzc4ODcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvZWxl
bWVudC1jb25zdHJ1Y3RvcnMtb24td2luZG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNzIsNyArNzIsNyBAQAogCiBIVE1MT3B0R3JvdXBFbGVtZW50OiBbb2JqZWN0IEhUTUxPcHRH
cm91cEVsZW1lbnRDb25zdHJ1Y3Rvcl0KIAotSFRNTE9wdGlvbkVsZW1lbnQ6IFtvYmplY3QgSFRN
TEVsZW1lbnRDb25zdHJ1Y3Rvcl0KK0hUTUxPcHRpb25FbGVtZW50OiBbb2JqZWN0IEhUTUxPcHRp
b25FbGVtZW50Q29uc3RydWN0b3JdCiAKIEhUTUxQYXJhZ3JhcGhFbGVtZW50OiBbb2JqZWN0IEhU
TUxQYXJhZ3JhcGhFbGVtZW50Q29uc3RydWN0b3JdCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vd3JhcHBlci1jbGFzc2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS93cmFwcGVyLWNsYXNzZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzNzg4NykK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3dyYXBwZXItY2xhc3Nlcy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTM2NCw3ICszNjQsNyBAQAogUEFTUyB0YWdKU1dyYXBwZXJDb25zdHJ1
Y3RvckNsYXNzKCdvcHRncm91cCcpIGlzICdIVE1MT3B0R3JvdXBFbGVtZW50Q29uc3RydWN0b3In
CiBQQVNTIHRhZ0pTV3JhcHBlckNsYXNzKCdvcHRpb24nKSBpcyAnSFRNTE9wdGlvbkVsZW1lbnQn
CiBQQVNTIHRhZ0pTV3JhcHBlclByb3RvdHlwZUNsYXNzKCdvcHRpb24nKSBpcyAnSFRNTE9wdGlv
bkVsZW1lbnRQcm90b3R5cGUnCi1GQUlMIHRhZ0pTV3JhcHBlckNvbnN0cnVjdG9yQ2xhc3MoJ29w
dGlvbicpIHNob3VsZCBiZSBIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLiBXYXMgSFRNTEVs
ZW1lbnRDb25zdHJ1Y3Rvci4KK1BBU1MgdGFnSlNXcmFwcGVyQ29uc3RydWN0b3JDbGFzcygnb3B0
aW9uJykgaXMgJ0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3InCiBQQVNTIHRhZ0pTV3JhcHBl
ckNsYXNzKCdwJykgaXMgJ0hUTUxQYXJhZ3JhcGhFbGVtZW50JwogUEFTUyB0YWdKU1dyYXBwZXJQ
cm90b3R5cGVDbGFzcygncCcpIGlzICdIVE1MUGFyYWdyYXBoRWxlbWVudFByb3RvdHlwZScKIFBB
U1MgdGFnSlNXcmFwcGVyQ29uc3RydWN0b3JDbGFzcygncCcpIGlzICdIVE1MUGFyYWdyYXBoRWxl
bWVudENvbnN0cnVjdG9yJwog
</data>
<flag name="review"
          id="11280"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>