<?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>24271</bug_id>
          
          <creation_ts>2009-03-01 02:24:55 -0800</creation_ts>
          <short_desc>XMLHttpRequest needs js bindings for Workers.</short_desc>
          <delta_ts>2009-03-01 13:11:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>111683</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-01 02:24:55 -0800</bug_when>
    <thetext>See summary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111684</commentid>
    <comment_count>1</comment_count>
      <attachid>28140</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-01 02:38:07 -0800</bug_when>
    <thetext>Created attachment 28140
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111685</commentid>
    <comment_count>2</comment_count>
      <attachid>28141</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-01 02:44:02 -0800</bug_when>
    <thetext>Created attachment 28141
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111686</commentid>
    <comment_count>3</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-01 02:48:28 -0800</bug_when>
    <thetext>The test contained in here are a &quot;down payment&quot;. They are just enough to verify some very basic functionality.  Subsequent check-ins will contain other tests for xhr in workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111688</commentid>
    <comment_count>4</comment_count>
      <attachid>28141</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-03-01 05:42:52 -0800</bug_when>
    <thetext>Comment on attachment 28141
Proposed fix.

r=me

Please add this new directory to Skipped lists for platforms that don&apos;t have workers enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111725</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-01 13:11:09 -0800</bug_when>
    <thetext>Committed as r41344.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28140</attachid>
            <date>2009-03-01 02:38:07 -0800</date>
            <delta_ts>2009-03-01 02:40:18 -0800</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>bug24271.txt</filename>
            <type>text/plain</type>
            <size>15125</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwN2NjMGNmLi40MWM0ZTM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMDktMDMt
MDEgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyNDI3MTogWE1MSHR0cFJlcXVlc3Qg
bmVlZHMganMgYmluZGluZ3MgZm9yIFdvcmtlcnMuCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQyNzE+CisKKyAgICAgICAgU29tZSBzYW5pdHkgY2hl
Y2tzIGZvciB4aHIgZG9uZSBmcm9tIHdvcmtlcnMuIFRoZXNlIGFyZSB0aGUgc2FtZSBhcworICAg
ICAgICB0ZXN0cyBkb25lIGZvciBub3JtYWwgd29ya2Vycy4KKworICAgICAgICAqIGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRob2RzLWFzeW5jLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMt
YXN5bmMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93
b3JrZXJzL21ldGhvZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvbWV0aG9kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvcmVzb3VyY2VzL21ldGhvZHMtYXN5bmMu
anM6IEFkZGVkLgorICAgICAgICAob25tZXNzYWdlKToKKyAgICAgICAgKGxvZyk6CisgICAgICAg
IChkb25lKToKKyAgICAgICAgKG9uUmVxQWJvcnQpOgorICAgICAgICAob25TeW5jUmVxRXJyb3Ip
OgorICAgICAgICAoc3RhcnQpOgorICAgICAgICAocHJvY2Vzc1N0YXRlQ2hhbmdlKToKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvcmVzb3VyY2VzL21ldGhvZHMu
Y2dpOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L21l
dGhvZHMuY2dpLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9y
ZXNvdXJjZXMvbWV0aG9kcy5qczogQWRkZWQuCisgICAgICAgIChsb2cpOgorICAgICAgICAoZG9u
ZSk6CisKIDIwMDktMDItMjcgIE1hdHQgUGVubmlnICA8cGVubmlnQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDBiNzM3OS4uNjhkYzAzNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1
MSBAQAorMjAwOS0wMy0wMSAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDI0MjcxOiBY
TUxIdHRwUmVxdWVzdCBuZWVkcyBqcyBiaW5kaW5ncyBmb3IgV29ya2Vycy4KKyAgICAgICAgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDI3MT4KKworICAgICAgICBU
ZXN0czogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMtYXN5bmMuaHRt
bAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhv
ZHMuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlckNvbnRleHRCYXNlOjpnZXRPd25Qcm9wZXJ0eVNs
b3QpOgorICAgICAgICAoanNXb3JrZXJDb250ZXh0QmFzZVhNTEh0dHBSZXF1ZXN0KToKKyAgICAg
ICAgKHNldEpTV29ya2VyQ29udGV4dEJhc2VYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgIEV4cG9z
ZSBYTUxIdHRwUmVxdWVzdCB0byBXb3JrZXJzLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNX
b3JrZXJDb250ZXh0QmFzZS5oOgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNYTUxIdHRwUmVx
dWVzdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1MSHR0cFJlcXVlc3RD
b25zdHJ1Y3Rvcjo6SlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OmNvbnN0cnVjdFhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1MSHR0
cFJlcXVlc3RDb25zdHJ1Y3Rvcjo6bWFyayk6CisgICAgICAgIFJlbW92ZWQgdGhlIGRlcGVuZGVu
Y2llcyBvbiBEb2N1bWVudC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVl
c3RDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6SlNYTUxIdHRwUmVxdWVzdENvbnN0
cnVjdG9yOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKiBkb20vRXZlbnRFeGNl
cHRpb24uaWRsOgorICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyLmlkbDoKKyAgICAgICAgQ2hu
YWdlIHRvIGhhdmUgdGhlIE5vU3RhdGljVGFibGVzIGF0dHJpYnV0ZSBzaW5jZSB0aGV5IGFyZSB1
c2VkIGZyb20gWEhSLgorCisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6d29ya2VyQ29udGV4dERpZEZpbmlzaExvYWRpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRn
ZTo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIEZpeGVkIGlkZW50aWZpZXIgdG8gYmUgdW5z
aWduZWQgbG9uZy4KKworICAgICAgICAqIGxvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmg6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQpOgorICAgICAgICBTdG9wIGFjdGl2ZSBvYmplY3Rz
IHdoZW4gdGhlIHRocmVhZCBpcyBnZXR0aW5nIHNodXRkb3duIHNvIHRoYXQgeGhyIGdldHMgcHJv
cGVybHkgc2h1dGRvd24uCisKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3Bw
OgorCisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiB4bWwvWE1M
SHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQuaWRsOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5pZGw6
CisgICAgICAgIENobmFnZSB0byBoYXZlIHRoZSBOb1N0YXRpY1RhYmxlcyBhdHRyaWJ1dGUgc2lu
Y2UgdGhleSBhcmUgdXNlZCBmcm9tIFhIUi4KKwogMjAwOS0wMi0yNyAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlhdHQu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEJhc2UuY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcAppbmRleCAyNGRk
NTBmLi5hOGU2OGU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29u
dGV4dEJhc2UuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFz
ZS5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJKU01lc3NhZ2VQb3J0LmgiCiAjaW5j
bHVkZSAiSlNXb3JrZXJMb2NhdGlvbi5oIgogI2luY2x1ZGUgIkpTV29ya2VyTmF2aWdhdG9yLmgi
CisjaW5jbHVkZSAiSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiV29y
a2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIldvcmtlckxvY2F0aW9uLmgiCiAKQEAgLTQ1LDkgKzQ2
LDE0IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIC8qCiBAYmVnaW4gSlNXb3JrZXJDb250ZXh0
QmFzZVRhYmxlCisjIC0tIENvbnN0cnVjdG9ycyAtLQorICBYTUxIdHRwUmVxdWVzdCAgICAgICAg
ICAgICAgICBqc1dvcmtlckNvbnRleHRCYXNlWE1MSHR0cFJlcXVlc3QgICAgICAgICAgICAgICBE
b250RGVsZXRlCiBAZW5kCiAqLwogCitzdGF0aWMgSlNWYWx1ZVB0ciBqc1dvcmtlckNvbnRleHRC
YXNlWE1MSHR0cFJlcXVlc3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFBy
b3BlcnR5U2xvdCYpOworc3RhdGljIHZvaWQgc2V0SlNXb3JrZXJDb250ZXh0QmFzZVhNTEh0dHBS
ZXF1ZXN0KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgSlNWYWx1ZVB0cik7CisKICNpbmNsdWRlICJK
U1dvcmtlckNvbnRleHRCYXNlLmx1dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04MSw2
ICs4NywzMyBAQCB2b2lkIEpTV29ya2VyQ29udGV4dEJhc2U6OnB1dChFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSgogICAgIGxvb2t1cFB1dDxKU1dvcmtl
ckNvbnRleHRCYXNlLCBCYXNlPihleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBnZXRKU1dvcmtl
ckNvbnRleHRCYXNlVGFibGUoZXhlYyksIHRoaXMsIHNsb3QpOwogfQogCitib29sIEpTV29ya2Vy
Q29udGV4dEJhc2U6OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQoreworICAgIGNvbnN0
IEhhc2hFbnRyeSogZW50cnkgPSBnZXRKU1dvcmtlckNvbnRleHRCYXNlVGFibGUoZXhlYyktPmVu
dHJ5KGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgICAgaWYgKGVudHJ5KSB7CisgICAgICAgIGlmIChl
bnRyeS0+YXR0cmlidXRlcygpICYgRnVuY3Rpb24pCisgICAgICAgICAgICBzZXRVcFN0YXRpY0Z1
bmN0aW9uU2xvdChleGVjLCBlbnRyeSwgdGhpcywgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgc2xvdC5zZXRDdXN0b20odGhpcywgZW50cnktPnByb3BlcnR5
R2V0dGVyKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gQmFz
ZTo6Z2V0T3duUHJvcGVydHlTbG90KGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK0pTVmFs
dWVQdHIganNXb3JrZXJDb250ZXh0QmFzZVhNTEh0dHBSZXF1ZXN0KEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICByZXR1
cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yPihleGVjLCBz
dGF0aWNfY2FzdDxKU1dvcmtlckNvbnRleHRCYXNlKj4oYXNPYmplY3Qoc2xvdC5zbG90QmFzZSgp
KSkpOworfQorCit2b2lkIHNldEpTV29ya2VyQ29udGV4dEJhc2VYTUxIdHRwUmVxdWVzdChFeGVj
U3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlUHRyIHZhbHVlKQorewor
ICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yCisgICAgc3RhdGljX2Nhc3Q8
SlNXb3JrZXJDb250ZXh0QmFzZSo+KHRoaXNPYmplY3QpLT5wdXREaXJlY3QoSWRlbnRpZmllcihl
eGVjLCAiWE1MSHR0cFJlcXVlc3QiKSwgdmFsdWUpOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKFdP
UktFUlMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEJh
c2UuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5oCmluZGV4IGQy
ZDViZDIuLjVkYzE5MjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJD
b250ZXh0QmFzZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFz
ZS5oCkBAIC00OCw2ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV29ya2Vy
Q29udGV4dCogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC5nZXQoKTsgfQogICAgICAgICB2
aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBj
b25zdDsKIAorICAgICAgICBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkV4ZWNTdGF0ZSos
IGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpTQzo6UHJvcGVydHlTbG90Jik7CisKICAgICBwcml2
YXRlOgogICAgICAgICBSZWZQdHI8V29ya2VyQ29udGV4dD4gbV9pbXBsOwogICAgIH07CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5j
cHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggZDdmNTRkZS4uZjcyZGFmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmNwcApAQCAtMzIsMTggKzMyLDE3IEBAIEFTU0VS
VF9DTEFTU19GSVRTX0lOX0NFTEwoSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yKQogCiBjb25z
dCBDbGFzc0luZm8gSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJYTUxI
dHRwUmVxdWVzdENvbnN0cnVjdG9yIiwgMCwgMCwgMCB9OwogCi1KU1hNTEh0dHBSZXF1ZXN0Q29u
c3RydWN0b3I6OkpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCitKU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0
b3I6OkpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCiAgICAgOiBET01PYmplY3Qo
SlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkpCisgICAgLCBtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKKyAgICAsIG1fY29udGV4dFdyYXBw
ZXIodG9KU0RPTUdsb2JhbE9iamVjdChzY3JpcHRFeGVjdXRpb25Db250ZXh0KSkKIHsKLSAgICBB
U1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICBtX2RvY3VtZW50ID0gc3RhdGljX2Nh
c3Q8SlNEb2N1bWVudCo+KGFzT2JqZWN0KHRvSlMoZXhlYywgc3RhdGljX2Nhc3Q8RG9jdW1lbnQq
Pihjb250ZXh0KSkpKTsKLQogICAgIHB1dERpcmVjdChleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJv
dG90eXBlLCBKU1hNTEh0dHBSZXF1ZXN0UHJvdG90eXBlOjpzZWxmKGV4ZWMpLCBOb25lKTsKIH0K
IAogc3RhdGljIEpTT2JqZWN0KiBjb25zdHJ1Y3RYTUxIdHRwUmVxdWVzdChFeGVjU3RhdGUqIGV4
ZWMsIEpTT2JqZWN0KiBjb25zdHJ1Y3RvciwgY29uc3QgQXJnTGlzdCYpCiB7Ci0gICAgUmVmUHRy
PFhNTEh0dHBSZXF1ZXN0PiB4bWxIdHRwUmVxdWVzdCA9IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGUo
c3RhdGljX2Nhc3Q8SlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yKj4oY29uc3RydWN0b3IpLT5k
b2N1bWVudCgpKTsKKyAgICBSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IHhtbEh0dHBSZXF1ZXN0ID0g
WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZShzdGF0aWNfY2FzdDxKU1hNTEh0dHBSZXF1ZXN0Q29uc3Ry
dWN0b3IqPihjb25zdHJ1Y3RvciktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgcmV0
dXJuIENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgWE1MSHR0cFJlcXVlc3QsIHhtbEh0
dHBSZXF1ZXN0LmdldCgpKTsKIH0KIApAQCAtNTYsOCArNTUsOCBAQCBDb25zdHJ1Y3RUeXBlIEpT
WE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRh
JiBjb25zdAogdm9pZCBKU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3I6Om1hcmsoKQogewogICAg
IERPTU9iamVjdDo6bWFyaygpOwotICAgIGlmICghbV9kb2N1bWVudC0+bWFya2VkKCkpCi0gICAg
ICAgIG1fZG9jdW1lbnQtPm1hcmsoKTsKKyAgICBpZiAoIW1fY29udGV4dFdyYXBwZXIubWFya2Vk
KCkpCisgICAgICAgIG1fY29udGV4dFdyYXBwZXIubWFyaygpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVl
c3RDb25zdHJ1Y3Rvci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q29u
c3RydWN0b3IuaAppbmRleCBmMjM1YWY2Li43MTVlYjhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5oCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmgKQEAgLTIxLDE0ICsyMSwxMyBA
QAogI2RlZmluZSBKU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3JfaAogCiAjaW5jbHVkZSAiSlNE
T01CaW5kaW5nLmgiCi0jaW5jbHVkZSAiSlNEb2N1bWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3RvciA6IHB1YmxpYyBET01PYmpl
Y3QgewogcHVibGljOgogICAgIEpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3RvcihKU0M6OkV4ZWNT
dGF0ZSosIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50LT5pbXBsKCk7IH0KKyAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgeyByZXR1cm4gbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0OyB9CiAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5mbzsK
IAogICAgIHZpcnR1YWwgdm9pZCBtYXJrKCk7CkBAIC0zNiw3ICszNSw4IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0M6OkNvbnN0
cnVjdERhdGEmKTsKICAgICB2aXJ0dWFsIGNvbnN0IEpTQzo6Q2xhc3NJbmZvKiBjbGFzc0luZm8o
KSBjb25zdCB7IHJldHVybiAmc19pbmZvOyB9CiAKLSAgICBKU0RvY3VtZW50KiBtX2RvY3VtZW50
OworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
KyAgICBKU0M6OkpTVmFsdWVQdHIgbV9jb250ZXh0V3JhcHBlcjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBi
L1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbAppbmRleCA2MWNmZDY1Li5mOTQ4MDc4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwKKysrIGIvV2ViQ29yZS9k
b20vRXZlbnRFeGNlcHRpb24uaWRsCkBAIC0zMCw3ICszMCw4IEBAIG1vZHVsZSBldmVudHMgewog
CiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKICAgICBpbnRlcmZhY2UgWwotICAg
ICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yCisgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IsCisg
ICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBFdmVudEV4Y2VwdGlvbiB7CiAKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgY29kZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaWRsIGIvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5p
ZGwKaW5kZXggOWQyODcwMy4uOWRjMmUwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnRM
aXN0ZW5lci5pZGwKKysrIGIvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5pZGwKQEAgLTIyLDYg
KzIyLDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZl
bCAyOgogICAgIGludGVyZmFjZSBbCisgICAgICAgIE5vU3RhdGljVGFibGVzLAogICAgICAgICBP
YmpDUHJvdG9jb2wsCiAgICAgICAgIEludGVyZmFjZVVVSUQ9QjA0RjJBRTMtNzFFMi00ZWJlLUFC
RkUtRUY0OTM4MzU0MDgyLAogICAgICAgICBJbXBsZW1lbnRhdGlvblVVSUQ9RERGREQzNDItQTc4
Qi00ZjE5LThGMzItQTVERjUxQjU2RTA4CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Xb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuY3BwCmluZGV4IDJmYTMyMDMuLjdkNmU3Y2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL1dvcmtl
clRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xOTgsMTMgKzE5OCwxMyBAQCB2b2lkIFdvcmtlclRo
cmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IGNo
YXIqIGRhdGEsCiAgICAgbV9tZXNzYWdpbmdQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlckNv
bnRleHQoY3JlYXRlQ2FsbGJhY2tUYXNrKCZ3b3JrZXJDb250ZXh0RGlkUmVjZWl2ZURhdGEsIG1f
d29ya2VyQ2xpZW50V3JhcHBlciwgdmVjdG9yKSwgbV90YXNrTW9kZSk7CiB9CiAKLXN0YXRpYyB2
b2lkIHdvcmtlckNvbnRleHREaWRGaW5pc2hMb2FkaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcj4gd29ya2VyQ2xp
ZW50V3JhcHBlciwgaW50IGlkZW50aWZpZXIpCitzdGF0aWMgdm9pZCB3b3JrZXJDb250ZXh0RGlk
RmluaXNoTG9hZGluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8VGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXI+IHdvcmtlckNsaWVudFdyYXBwZXIsIHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKGNvbnRleHQsIGNvbnRleHQt
PmlzV29ya2VyQ29udGV4dCgpKTsKICAgICB3b3JrZXJDbGllbnRXcmFwcGVyLT5kaWRGaW5pc2hM
b2FkaW5nKGlkZW50aWZpZXIpOwogfQogCi12b2lkIFdvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1h
aW5UaHJlYWRCcmlkZ2U6OmRpZEZpbmlzaExvYWRpbmcoaW50IGlkZW50aWZpZXIpCit2b2lkIFdv
cmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZEZpbmlzaExvYWRpbmco
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewogICAgIG1fbWVzc2FnaW5nUHJveHkucG9zdFRh
c2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29udGV4
dERpZEZpbmlzaExvYWRpbmcsIG1fd29ya2VyQ2xpZW50V3JhcHBlciwgaWRlbnRpZmllciksIG1f
dGFza01vZGUpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJs
ZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4
IGI0ZDJmY2IuLjU0NjJhOTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVy
LmgKQEAgLTExNCw3ICsxMTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5z
aWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCk7CiAgICAgICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiwgaW50IGxlbmd0
aFJlY2VpdmVkKTsKLSAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKGlu
dCBpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5n
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CiAgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
RmFpbChjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
RmFpbFJlZGlyZWN0Q2hlY2soKTsKICAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
QXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCAzZDY1ODZmLi45YTVlZTIxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmNwcApAQCAtMTIyLDYgKzEyMiw3IEBAIHZvaWQqIFdvcmtlclRocmVhZDo6d29y
a2VyVGhyZWFkKCkKIAogICAgIFRocmVhZElkZW50aWZpZXIgdGhyZWFkSUQgPSBtX3RocmVhZElE
OwogCisgICAgbV93b3JrZXJDb250ZXh0LT5zdG9wQWN0aXZlRE9NT2JqZWN0cygpOwogICAgIG1f
d29ya2VyQ29udGV4dC0+Y2xlYXJTY3JpcHQoKTsKICAgICBBU1NFUlQobV93b3JrZXJDb250ZXh0
LT5oYXNPbmVSZWYoKSk7CiAgICAgLy8gVGhlIGJlbG93IGFzc2lnbm1lbnQgd2lsbCBkZXN0cm95
IHRoZSBjb250ZXh0LCB3aGljaCB3aWxsIGluIHR1cm4gbm90aWZ5IG1lc3NhZ2luZyBwcm94eS4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbCBiL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmlkbAppbmRleCAzMTVkOTVjLi4zMTg3MTYwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5pZGwKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuaWRsCkBAIC0yOSw3ICsyOSw4IEBACiBtb2R1bGUgeG1sIHsKIAogICAgIGludGVyZmFj
ZSBbCi0gICAgICAgIEN1c3RvbU1hcmtGdW5jdGlvbgorICAgICAgICBDdXN0b21NYXJrRnVuY3Rp
b24sCisgICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBYTUxIdHRwUmVxdWVzdCB7CiAgICAg
ICAgIC8vIEZyb20gWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldAogICAgICAgICAvLyBldmVudCBo
YW5kbGVyIGF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
RXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmlkbApp
bmRleCAyZmViNTc0Li43MDZiZWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdEV4Y2VwdGlvbi5pZGwKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRp
b24uaWRsCkBAIC0yOSw3ICsyOSw4IEBACiBtb2R1bGUgeG1sIHsKIAogICAgIGludGVyZmFjZSBb
Ci0gICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IKKyAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3Rv
ciwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIFhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9u
IHsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgICBjb2RlOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbCBi
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5pZGwKaW5kZXggNmRlOTY5
MC4uNTQ5MzA4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmlkbAorKysgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQu
aWRsCkBAIC0yNiw3ICsyNiw4IEBACiBtb2R1bGUgZXZlbnRzIHsKIAogICAgIGludGVyZmFjZSBb
Ci0gICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IKKyAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3Rv
ciwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICAvLyBXZSBzaG91bGQgYWxzbyBpbmhlcml0
IGZyb20gTFNQcm9ncmVzc0V2ZW50IHdoZW4gdGhlIGlkbCBpcyBhZGRlZC4KICAgICBdIFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudCA6IFByb2dyZXNzRXZlbnQgewogICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgICBwb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0VXBsb2FkLmNwcAppbmRleCBhNThjMjcxLi40MjkxOGVhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5jcHAKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3RVcGxvYWQuY3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNp
bmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNs
dWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmlkbCBiL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmlkbAppbmRleCBjMDY2NzEwLi4zMTcyZjY4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5pZGwKKysrIGIvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuaWRsCkBAIC0zMCw3ICszMCw4IEBAIG1vZHVs
ZSB4bWwgewogCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvciwK
LSAgICAgICAgQ3VzdG9tTWFya0Z1bmN0aW9uCisgICAgICAgIEN1c3RvbU1hcmtGdW5jdGlvbiwK
KyAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIFhNTEh0dHBSZXF1ZXN0VXBsb2FkIHsKICAg
ICAgICAgLy8gRnJvbSBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0CiAgICAgICAgIC8vIGV2ZW50
IGhhbmRsZXIgYXR0cmlidXRlcwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28141</attachid>
            <date>2009-03-01 02:44:02 -0800</date>
            <delta_ts>2009-03-01 05:42:52 -0800</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>bug24271.txt</filename>
            <type>text/plain</type>
            <size>34044</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwN2NjMGNmLi40MWM0ZTM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMDktMDMt
MDEgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyNDI3MTogWE1MSHR0cFJlcXVlc3Qg
bmVlZHMganMgYmluZGluZ3MgZm9yIFdvcmtlcnMuCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQyNzE+CisKKyAgICAgICAgU29tZSBzYW5pdHkgY2hl
Y2tzIGZvciB4aHIgZG9uZSBmcm9tIHdvcmtlcnMuIFRoZXNlIGFyZSB0aGUgc2FtZSBhcworICAg
ICAgICB0ZXN0cyBkb25lIGZvciBub3JtYWwgd29ya2Vycy4KKworICAgICAgICAqIGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRob2RzLWFzeW5jLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMt
YXN5bmMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93
b3JrZXJzL21ldGhvZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvbWV0aG9kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvcmVzb3VyY2VzL21ldGhvZHMtYXN5bmMu
anM6IEFkZGVkLgorICAgICAgICAob25tZXNzYWdlKToKKyAgICAgICAgKGxvZyk6CisgICAgICAg
IChkb25lKToKKyAgICAgICAgKG9uUmVxQWJvcnQpOgorICAgICAgICAob25TeW5jUmVxRXJyb3Ip
OgorICAgICAgICAoc3RhcnQpOgorICAgICAgICAocHJvY2Vzc1N0YXRlQ2hhbmdlKToKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvcmVzb3VyY2VzL21ldGhvZHMu
Y2dpOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L21l
dGhvZHMuY2dpLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9y
ZXNvdXJjZXMvbWV0aG9kcy5qczogQWRkZWQuCisgICAgICAgIChsb2cpOgorICAgICAgICAoZG9u
ZSk6CisKIDIwMDktMDItMjcgIE1hdHQgUGVubmlnICA8cGVubmlnQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRob2RzLWFzeW5jLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRob2Rz
LWFzeW5jLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4x
YTJkMjA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC93b3JrZXJzL21ldGhvZHMtYXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQg
QEAKK0dFVCBhbmQgUE9TVCBzaG91bGQgbm90IGJlIHRoZSBvbmx5IEhUVFAgbWV0aG9kcyBpbXBs
ZW1lbnRlZCBpbiBYTUxIdHRwUmVxdWVzdCBmb3IgV29ya2Vycy4KKworR0VUKCIiKTogR0VUKG51
bGwgYnl0ZXMpLCBDb250ZW50LVR5cGU6IG51bGwKK0dFVChudWxsKTogR0VUKG51bGwgYnl0ZXMp
LCBDb250ZW50LVR5cGU6IG51bGwKK0dFVCgiMTIzIik6IEdFVChudWxsIGJ5dGVzKSwgQ29udGVu
dC1UeXBlOiBudWxsCitQT1NUKCIiKTogUE9TVCgwIGJ5dGVzKSwgQ29udGVudC1UeXBlOiBhcHBs
aWNhdGlvbi94bWwKK1BPU1QobnVsbCk6IFBPU1QoMCBieXRlcyksIENvbnRlbnQtVHlwZTogbnVs
bAorUE9TVCgiMTIzIik6IFBPU1QoMyBieXRlcyksIENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24v
eG1sCitQVVQoIiIpOiBQVVQoMCBieXRlcyksIENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veG1s
CitQVVQobnVsbCk6IFBVVCgwIGJ5dGVzKSwgQ29udGVudC1UeXBlOiBudWxsCitQVVQoIjEyMyIp
OiBQVVQoMyBieXRlcyksIENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veG1sCitERUxFVEUoIiIp
OiBERUxFVEUoMCBieXRlcyksIENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veG1sCitERUxFVEUo
bnVsbCk6IERFTEVURSgwIGJ5dGVzKSwgQ29udGVudC1UeXBlOiBudWxsCitERUxFVEUoIjEyMyIp
OiBERUxFVEUoMyBieXRlcyksIENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veG1sCitIRUFEKCIi
KTogSEVBRCgwIGJ5dGVzKSwgQ29udGVudC1UeXBlOiBudWxsCitIRUFEKG51bGwpOiBIRUFEKDAg
Ynl0ZXMpLCBDb250ZW50LVR5cGU6IG51bGwKK0hFQUQoIjEyMyIpOiBIRUFEKDAgYnl0ZXMpLCBD
b250ZW50LVR5cGU6IG51bGwKK1dLRk9PQkFSKCIiKTogV0tGT09CQVIoMCBieXRlcyksIENvbnRl
bnQtVHlwZTogYXBwbGljYXRpb24veG1sCitXS0ZPT0JBUihudWxsKTogV0tGT09CQVIoMCBieXRl
cyksIENvbnRlbnQtVHlwZTogbnVsbAorV0tGT09CQVIoIjEyMyIpOiBXS0ZPT0JBUigzIGJ5dGVz
KSwgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKK1NFQVJDSCgiIik6IFNFQVJDSCgwIGJ5
dGVzKSwgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKK1NFQVJDSChudWxsKTogU0VBUkNI
KDAgYnl0ZXMpLCBDb250ZW50LVR5cGU6IG51bGwKK1NFQVJDSCgiMTIzIik6IFNFQVJDSCgzIGJ5
dGVzKSwgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKK0RPTkUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRob2RzLWFzeW5j
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvbWV0
aG9kcy1hc3luYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZjQw
MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3dvcmtlcnMvbWV0aG9kcy1hc3luYy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxib2R5Pgor
PHA+R0VUIGFuZCBQT1NUIHNob3VsZCBub3QgYmUgdGhlIG9ubHkgSFRUUCBtZXRob2RzIGltcGxl
bWVudGVkIGluIFhNTEh0dHBSZXF1ZXN0IGZvciBXb3JrZXJzLjwvcD4KKzxkaXYgaWQ9cmVzdWx0
PjwvZGl2PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICB2YXIg
Y29uc29sZV9tZXNzYWdlcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9sIik7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb25zb2xlX21lc3NhZ2VzKTsKKyAgICAKKyAgICBmdW5j
dGlvbiBsb2cobWVzc2FnZSkKKyAgICB7CisgICAgICAgIHZhciBpdGVtID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibGkiKTsKKyAgICAgICAgaXRlbS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShtZXNzYWdlKSk7CisgICAgICAgIGNvbnNvbGVfbWVzc2FnZXMuYXBwZW5kQ2hp
bGQoaXRlbSk7CisgICAgfQorCisgICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJ3Jlc291cmNl
cy9tZXRob2RzLWFzeW5jLmpzJyk7CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKCJTVEFSVCIpOwor
CisgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkKKyAgICB7CisgICAgICAgIGlm
ICgvbG9nIC4rLy50ZXN0KGV2dC5kYXRhKSkKKyAgICAgICAgICAgIGxvZyhldnQuZGF0YS5zdWJz
dHIoNCkpOworICAgICAgICBlbHNlIGlmICgvRE9ORS8udGVzdChldnQuZGF0YSkpIHsKKyAgICAg
ICAgICAgIGxvZygiRE9ORSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBsb2coIkVSUk9SIik7CisgICAgICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH0KKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMmQyMDcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvbWV0
aG9kcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNCBAQAorR0VUIGFuZCBQT1NUIHNob3VsZCBu
b3QgYmUgdGhlIG9ubHkgSFRUUCBtZXRob2RzIGltcGxlbWVudGVkIGluIFhNTEh0dHBSZXF1ZXN0
IGZvciBXb3JrZXJzLgorCitHRVQoIiIpOiBHRVQobnVsbCBieXRlcyksIENvbnRlbnQtVHlwZTog
bnVsbAorR0VUKG51bGwpOiBHRVQobnVsbCBieXRlcyksIENvbnRlbnQtVHlwZTogbnVsbAorR0VU
KCIxMjMiKTogR0VUKG51bGwgYnl0ZXMpLCBDb250ZW50LVR5cGU6IG51bGwKK1BPU1QoIiIpOiBQ
T1NUKDAgYnl0ZXMpLCBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbAorUE9TVChudWxsKTog
UE9TVCgwIGJ5dGVzKSwgQ29udGVudC1UeXBlOiBudWxsCitQT1NUKCIxMjMiKTogUE9TVCgzIGJ5
dGVzKSwgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKK1BVVCgiIik6IFBVVCgwIGJ5dGVz
KSwgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKK1BVVChudWxsKTogUFVUKDAgYnl0ZXMp
LCBDb250ZW50LVR5cGU6IG51bGwKK1BVVCgiMTIzIik6IFBVVCgzIGJ5dGVzKSwgQ29udGVudC1U
eXBlOiBhcHBsaWNhdGlvbi94bWwKK0RFTEVURSgiIik6IERFTEVURSgwIGJ5dGVzKSwgQ29udGVu
dC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKK0RFTEVURShudWxsKTogREVMRVRFKDAgYnl0ZXMpLCBD
b250ZW50LVR5cGU6IG51bGwKK0RFTEVURSgiMTIzIik6IERFTEVURSgzIGJ5dGVzKSwgQ29udGVu
dC1UeXBlOiBhcHBsaWNhdGlvbi94bWwKK0hFQUQoIiIpOiBIRUFEKDAgYnl0ZXMpLCBDb250ZW50
LVR5cGU6IG51bGwKK0hFQUQobnVsbCk6IEhFQUQoMCBieXRlcyksIENvbnRlbnQtVHlwZTogbnVs
bAorSEVBRCgiMTIzIik6IEhFQUQoMCBieXRlcyksIENvbnRlbnQtVHlwZTogbnVsbAorV0tGT09C
QVIoIiIpOiBXS0ZPT0JBUigwIGJ5dGVzKSwgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWwK
K1dLRk9PQkFSKG51bGwpOiBXS0ZPT0JBUigwIGJ5dGVzKSwgQ29udGVudC1UeXBlOiBudWxsCitX
S0ZPT0JBUigiMTIzIik6IFdLRk9PQkFSKDMgYnl0ZXMpLCBDb250ZW50LVR5cGU6IGFwcGxpY2F0
aW9uL3htbAorU0VBUkNIKCIiKTogU0VBUkNIKDAgYnl0ZXMpLCBDb250ZW50LVR5cGU6IGFwcGxp
Y2F0aW9uL3htbAorU0VBUkNIKG51bGwpOiBTRUFSQ0goMCBieXRlcyksIENvbnRlbnQtVHlwZTog
bnVsbAorU0VBUkNIKCIxMjMiKTogU0VBUkNIKDMgYnl0ZXMpLCBDb250ZW50LVR5cGU6IGFwcGxp
Y2F0aW9uL3htbAorRE9ORQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRob2RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYTkyNWQ5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRob2RzLmh0bWwKQEAgLTAsMCArMSwz
MyBAQAorPGh0bWw+Cis8Ym9keT4KKzxwPkdFVCBhbmQgUE9TVCBzaG91bGQgbm90IGJlIHRoZSBv
bmx5IEhUVFAgbWV0aG9kcyBpbXBsZW1lbnRlZCBpbiBYTUxIdHRwUmVxdWVzdCBmb3IgV29ya2Vy
cy48L3A+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAgIAorICAgIHZhciBj
b25zb2xlX21lc3NhZ2VzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2wiKTsKKyAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnNvbGVfbWVzc2FnZXMpOworICAgIAorICAgIGZ1bmN0
aW9uIGxvZyhtZXNzYWdlKQorICAgIHsKKyAgICAgICAgdmFyIGl0ZW0gPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJsaSIpOworICAgICAgICBpdGVtLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICAgICAgY29uc29sZV9tZXNzYWdlcy5hcHBlbmRDaGls
ZChpdGVtKTsKKyAgICB9CisKKyAgICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcigncmVzb3VyY2Vz
L21ldGhvZHMuanMnKTsKKyAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQorICAg
IHsKKyAgICAgICAgaWYgKC9sb2cgLisvLnRlc3QoZXZ0LmRhdGEpKQorICAgICAgICAgICAgbG9n
KGV2dC5kYXRhLnN1YnN0cig0KSk7CisgICAgICAgIGVsc2UgaWYgKC9ET05FLy50ZXN0KGV2dC5k
YXRhKSkgeworICAgICAgICAgICAgbG9nKCJET05FIik7CisgICAgICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC93b3JrZXJzL3Jlc291cmNlcy9tZXRob2RzLWFzeW5jLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL3Jlc291cmNlcy9tZXRob2RzLWFzeW5jLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiZWQ1YzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvcmVzb3Vy
Y2VzL21ldGhvZHMtYXN5bmMuanMKQEAgLTAsMCArMSwxNTQgQEAKK29ubWVzc2FnZSA9IGZ1bmN0
aW9uKGV2dCkKK3sKKyAgICBpZiAoZXZ0LmRhdGEgPT0gIlNUQVJUIikKKyAgICAgICAgc3RhcnQo
KTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgcG9zdE1lc3NhZ2UoImxvZyAi
ICsgbWVzc2FnZSk7Cit9CisKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIHBvc3RNZXNzYWdlKCJE
T05FIik7Cit9CisKK2Z1bmN0aW9uIG9uUmVxQWJvcnQoKQoreworICAgIGxvZygnQWJvcnQgZXZl
bnQuJyk7Cit9CisKK2Z1bmN0aW9uIG9uU3luY1JlcUVycm9yKCkKK3sKKyAgICBsb2coJ0Vycm9y
IGV2ZW50LicpOworfQorCisvLyBhc3luYworICAgIAordmFyIGFzeW5jU3RlcCA9IDE7CisKK2Z1
bmN0aW9uIHN0YXJ0KCkgCit7CisgICAgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAg
cmVxLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHByb2Nlc3NTdGF0ZUNoYW5nZTsKKyAgICByZXEub25l
cnJvciA9IG9uU3luY1JlcUVycm9yOworICAgIHJlcS5vbmFib3J0ID0gb25SZXFBYm9ydDsKKyAg
ICByZXEub3BlbigiR0VUIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisgICAgcmVxLnNlbmQoIiIp
OworfQorCitmdW5jdGlvbiBwcm9jZXNzU3RhdGVDaGFuZ2UoKQoreworICAgIGlmIChyZXEucmVh
ZHlTdGF0ZSA9PSA0KXsKKyAgICAgICAgaWYgKHJlcS5zdGF0dXMgPT0gMjAwKXsKKwkgICAgaWYg
KGFzeW5jU3RlcCA9PSAxKSB7CisJCWFzeW5jU3RlcCA9IDI7CisJCWxvZygnR0VUKCIiKTogJyAr
IHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyByZXEuZ2V0UmVzcG9u
c2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlwZTogIiArIHJlcS5n
ZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKwkJcmVxLm9wZW4oIkdFVCIsICJtZXRob2Rz
LmNnaSIsIHRydWUpOworCQlyZXEuc2VuZChudWxsKTsKKwkgICAgfSBlbHNlIGlmIChhc3luY1N0
ZXAgPT0gMikgeworCQlhc3luY1N0ZXAgPSAzOworCQlsb2coJ0dFVChudWxsKTogJyArIHJlcS5n
ZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFk
ZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNw
b25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKwkJcmVxLm9wZW4oIkdFVCIsICJtZXRob2RzLmNnaSIs
IHRydWUpOworCQlyZXEuc2VuZCgiMTIzIik7CisJICAgIH0gZWxzZSBpZiAoYXN5bmNTdGVwID09
IDMpIHsKKwkJYXN5bmNTdGVwID0gNDsKKwkJbG9nKCdHRVQoIjEyMyIpOiAnICsgcmVxLmdldFJl
c3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigi
UkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNl
SGVhZGVyKCJSRVFUWVBFIikpOworCQlyZXEub3BlbigiUE9TVCIsICJtZXRob2RzLmNnaSIsIHRy
dWUpOworCQlyZXEuc2VuZCgiIik7CisJICAgIH0gZWxzZSBpZiAoYXN5bmNTdGVwID09IDQpIHsK
KwkJYXN5bmNTdGVwID0gNTsKKwkJbG9nKCdQT1NUKCIiKTogJyArIHJlcS5nZXRSZXNwb25zZUhl
YWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdU
SCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigi
UkVRVFlQRSIpKTsKKwkJcmVxLm9wZW4oIlBPU1QiLCAibWV0aG9kcy5jZ2kiLCB0cnVlKTsKKwkJ
cmVxLnNlbmQobnVsbCk7CisJICAgIH0gZWxzZSBpZiAoYXN5bmNTdGVwID09IDUpIHsKKwkJYXN5
bmNTdGVwID0gNjsKKwkJbG9nKCdQT1NUKG51bGwpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVy
KCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikg
KyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFU
WVBFIikpOworCQlyZXEub3BlbigiUE9TVCIsICJtZXRob2RzLmNnaSIsIHRydWUpOworCQlyZXEu
c2VuZCgiMTIzIik7CisJICAgIH0gZWxzZSBpZiAoYXN5bmNTdGVwID09IDYpIHsKKwkJYXN5bmNT
dGVwID0gNzsKKwkJbG9nKCdQT1NUKCIxMjMiKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigi
UkVRTUVUSE9EIikgKyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsg
IiBieXRlcyksIENvbnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQ
RSIpKTsKKwkJcmVxLm9wZW4oIlBVVCIsICJtZXRob2RzLmNnaSIsIHRydWUpOworCQlyZXEuc2Vu
ZCgiIik7CisJICAgIH0gZWxzZSBpZiAoYXN5bmNTdGVwID09IDcpIHsKKwkJYXN5bmNTdGVwID0g
ODsKKwkJbG9nKCdQVVQoIiIpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0Qi
KSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwg
Q29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOworCQly
ZXEub3BlbigiUFVUIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKG51bGwpOwor
CSAgICB9IGVsc2UgaWYgKGFzeW5jU3RlcCA9PSA4KSB7CisJCWFzeW5jU3RlcCA9IDk7CisJCWxv
ZygnUFVUKG51bGwpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIo
IiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVu
dC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOworCQlyZXEub3Bl
bigiUFVUIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKCIxMjMiKTsKKwkgICAg
fSBlbHNlIGlmIChhc3luY1N0ZXAgPT0gOSkgeworCQlhc3luY1N0ZXAgPSAxMDsKKwkJbG9nKCdQ
VVQoIjEyMyIpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiAr
IHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1U
eXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOworCQlyZXEub3Blbigi
REVMRVRFIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKCIiKTsKKwkgICAgfSBl
bHNlIGlmIChhc3luY1N0ZXAgPT0gMTApIHsKKwkJYXN5bmNTdGVwID0gMTE7CisJCWxvZygnREVM
RVRFKCIiKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyBy
ZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlw
ZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKwkJcmVxLm9wZW4oIkRF
TEVURSIsICJtZXRob2RzLmNnaSIsIHRydWUpOworCQlyZXEuc2VuZChudWxsKTsKKwkgICAgfSBl
bHNlIGlmIChhc3luY1N0ZXAgPT0gMTEpIHsKKwkJYXN5bmNTdGVwID0gMTI7CisJCWxvZygnREVM
RVRFKG51bGwpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiAr
IHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1U
eXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOworCQlyZXEub3Blbigi
REVMRVRFIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKCIxMjMiKTsKKwkgICAg
fSBlbHNlIGlmIChhc3luY1N0ZXAgPT0gMTIpIHsKKwkJYXN5bmNTdGVwID0gMTM7CisJCWxvZygn
REVMRVRFKCIxMjMiKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAi
KCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRl
bnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKwkJcmVxLm9w
ZW4oIkhFQUQiLCAibWV0aG9kcy5jZ2kiLCB0cnVlKTsKKwkJcmVxLnNlbmQoIiIpOworCSAgICB9
IGVsc2UgaWYgKGFzeW5jU3RlcCA9PSAxMykgeworCQlhc3luY1N0ZXAgPSAxNDsKKwkJbG9nKCdI
RUFEKCIiKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyBy
ZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlw
ZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKwkJcmVxLm9wZW4oIkhF
QUQiLCAibWV0aG9kcy5jZ2kiLCB0cnVlKTsKKwkJcmVxLnNlbmQobnVsbCk7CisJICAgIH0gZWxz
ZSBpZiAoYXN5bmNTdGVwID09IDE0KSB7CisJCWFzeW5jU3RlcCA9IDE1OworCQlsb2coJ0hFQUQo
bnVsbCk6ICcgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUU1FVEhPRCIpICsgIigiICsgcmVx
LmdldFJlc3BvbnNlSGVhZGVyKCJSRVFMRU5HVEgiKSArICIgYnl0ZXMpLCBDb250ZW50LVR5cGU6
ICIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUVRZUEUiKSk7CisJCXJlcS5vcGVuKCJIRUFE
IiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKCIxMjMiKTsKKwkgICAgfSBlbHNl
IGlmIChhc3luY1N0ZXAgPT0gMTUpIHsKKwkJYXN5bmNTdGVwID0gMTY7CisJCWxvZygnSEVBRCgi
MTIzIik6ICcgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUU1FVEhPRCIpICsgIigiICsgcmVx
LmdldFJlc3BvbnNlSGVhZGVyKCJSRVFMRU5HVEgiKSArICIgYnl0ZXMpLCBDb250ZW50LVR5cGU6
ICIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUVRZUEUiKSk7CisJCXJlcS5vcGVuKCJXS0ZP
T0JBUiIsICJtZXRob2RzLmNnaSIsIHRydWUpOworCQlyZXEuc2VuZCgiIik7CisJICAgIH0gZWxz
ZSBpZiAoYXN5bmNTdGVwID09IDE2KSB7CisJCWFzeW5jU3RlcCA9IDE3OworCQlsb2coJ1dLRk9P
QkFSKCIiKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyBy
ZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlw
ZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKwkJcmVxLm9wZW4oIldL
Rk9PQkFSIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKG51bGwpOworCSAgICB9
IGVsc2UgaWYgKGFzeW5jU3RlcCA9PSAxNykgeworCQlhc3luY1N0ZXAgPSAxODsKKwkJbG9nKCdX
S0ZPT0JBUihudWxsKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAi
KCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRl
bnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKwkJcmVxLm9w
ZW4oIldLRk9PQkFSIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKCIxMjMiKTsK
KwkgICAgfSBlbHNlIGlmIChhc3luY1N0ZXAgPT0gMTgpIHsKKwkJYXN5bmNTdGVwID0gMTk7CisJ
CWxvZygnV0tGT09CQVIoIjEyMyIpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRI
T0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVz
KSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOwor
CQlyZXEub3BlbigiU0VBUkNIIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKCIi
KTsKKwkgICAgfSBlbHNlIGlmIChhc3luY1N0ZXAgPT0gMTkpIHsKKwkJYXN5bmNTdGVwID0gMjA7
CisJCWxvZygnU0VBUkNIKCIiKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9E
IikgKyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyks
IENvbnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKwkJ
cmVxLm9wZW4oIlNFQVJDSCIsICJtZXRob2RzLmNnaSIsIHRydWUpOworCQlyZXEuc2VuZChudWxs
KTsKKwkgICAgfSBlbHNlIGlmIChhc3luY1N0ZXAgPT0gMjApIHsKKwkJYXN5bmNTdGVwID0gMjE7
CisJCWxvZygnU0VBUkNIKG51bGwpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRI
T0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVz
KSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOwor
CQlyZXEub3BlbigiU0VBUkNIIiwgIm1ldGhvZHMuY2dpIiwgdHJ1ZSk7CisJCXJlcS5zZW5kKCIx
MjMiKTsKKwkgICAgfSBlbHNlIGlmIChhc3luY1N0ZXAgPT0gMjEpIHsKKwkJbG9nKCdTRUFSQ0go
IjEyMyIpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJl
cS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBl
OiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOworCQlkb25lKCk7CisJICAg
IH0KKyAgICAgICAgfSBlbHNlIHsKKwkgICAgbG9nKCJFcnJvciBsb2FkaW5nIFVSTDogc3RhdHVz
ICIgKyByZXEuc3RhdHVzKTsKKwkgICAgZG9uZSgpOworICAgICAgICB9CisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL3Jl
c291cmNlcy9tZXRob2RzLmNnaSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3Qvd29ya2Vycy9yZXNvdXJjZXMvbWV0aG9kcy5jZ2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDAwMDAwMC4uNDQxM2ZmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9yZXNvdXJjZXMvbWV0aG9kcy5jZ2kKQEAgLTAs
MCArMSwxNiBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisKK3ByaW50ICJDb250ZW50LXR5cGU6IHRl
eHQvcGxhaW5cbiI7IAorcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAwXG4iOworbXkgJGNsID0gJEVO
VnsnQ09OVEVOVF9MRU5HVEgnfTsKK215ICRjdCA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9OworbXkg
JG1ldGhvZCA9ICRFTlZ7J1JFUVVFU1RfTUVUSE9EJ307CitpZiAoZGVmaW5lZCAkY2wpIHsKKyAg
ICBwcmludCAiUkVRTEVOR1RIOiAkY2xcbiI7Cit9CitpZiAoZGVmaW5lZCAkY3QpIHsKKyAgICBw
cmludCAiUkVRVFlQRTogJGN0XG4iOworfQorcHJpbnQgIlJFUU1FVEhPRDogJG1ldGhvZFxuIjsK
KworcHJpbnQgIlxuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3Qvd29ya2Vycy9yZXNvdXJjZXMvbWV0aG9kcy5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9yZXNvdXJjZXMvbWV0aG9kcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWI5NmI3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL3Jlc291cmNlcy9t
ZXRob2RzLmpzCkBAIC0wLDAgKzEsOTYgQEAKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAg
IHBvc3RNZXNzYWdlKCJsb2cgIiArIG1lc3NhZ2UpOworfQorCitmdW5jdGlvbiBkb25lKCkKK3sK
KyAgICBwb3N0TWVzc2FnZSgiRE9ORSIpOworfQorCisvLyBzeW5jCityZXEgPSBuZXcgWE1MSHR0
cFJlcXVlc3Q7CityZXEub3BlbigiR0VUIiwgIm1ldGhvZHMuY2dpIiwgZmFsc2UpOworcmVxLnNl
bmQoIiIpOworbG9nKCdHRVQoIiIpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRI
T0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVz
KSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOwor
CityZXEub3BlbigiR0VUIiwgIm1ldGhvZHMuY2dpIiwgZmFsc2UpOworcmVxLnNlbmQobnVsbCk7
Citsb2coJ0dFVChudWxsKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikg
KyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENv
bnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKworcmVx
Lm9wZW4oIkdFVCIsICJtZXRob2RzLmNnaSIsIGZhbHNlKTsKK3JlcS5zZW5kKCIxMjMiKTsKK2xv
ZygnR0VUKCIxMjMiKTogJyArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAi
KCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRl
bnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRVFlQRSIpKTsKKworcmVxLm9w
ZW4oIlBPU1QiLCAibWV0aG9kcy5jZ2kiLCBmYWxzZSk7CityZXEuc2VuZCgiIik7Citsb2coJ1BP
U1QoIiIpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJl
cS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBl
OiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOworCityZXEub3BlbigiUE9T
VCIsICJtZXRob2RzLmNnaSIsIGZhbHNlKTsKK3JlcS5zZW5kKG51bGwpOworbG9nKCdQT1NUKG51
bGwpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5n
ZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAi
ICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFUWVBFIikpOworCityZXEub3BlbigiUE9TVCIs
ICJtZXRob2RzLmNnaSIsIGZhbHNlKTsKK3JlcS5zZW5kKCIxMjMiKTsKK2xvZygnUE9TVCgiMTIz
Iik6ICcgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUU1FVEhPRCIpICsgIigiICsgcmVxLmdl
dFJlc3BvbnNlSGVhZGVyKCJSRVFMRU5HVEgiKSArICIgYnl0ZXMpLCBDb250ZW50LVR5cGU6ICIg
KyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUVRZUEUiKSk7CisKK3JlcS5vcGVuKCJQVVQiLCAi
bWV0aG9kcy5jZ2kiLCBmYWxzZSk7CityZXEuc2VuZCgiIik7Citsb2coJ1BVVCgiIik6ICcgKyBy
ZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJFUU1FVEhPRCIpICsgIigiICsgcmVxLmdldFJlc3BvbnNl
SGVhZGVyKCJSRVFMRU5HVEgiKSArICIgYnl0ZXMpLCBDb250ZW50LVR5cGU6ICIgKyByZXEuZ2V0
UmVzcG9uc2VIZWFkZXIoIlJFUVRZUEUiKSk7CisKK3JlcS5vcGVuKCJQVVQiLCAibWV0aG9kcy5j
Z2kiLCBmYWxzZSk7CityZXEuc2VuZChudWxsKTsKK2xvZygnUFVUKG51bGwpOiAnICsgcmVxLmdl
dFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRl
cigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3Bv
bnNlSGVhZGVyKCJSRVFUWVBFIikpOworCityZXEub3BlbigiUFVUIiwgIm1ldGhvZHMuY2dpIiwg
ZmFsc2UpOworcmVxLnNlbmQoIjEyMyIpOworbG9nKCdQVVQoIjEyMyIpOiAnICsgcmVxLmdldFJl
c3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigi
UkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNl
SGVhZGVyKCJSRVFUWVBFIikpOworCityZXEub3BlbigiREVMRVRFIiwgIm1ldGhvZHMuY2dpIiwg
ZmFsc2UpOworcmVxLnNlbmQoIiIpOworbG9nKCdERUxFVEUoIiIpOiAnICsgcmVxLmdldFJlc3Bv
bnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVR
TEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVh
ZGVyKCJSRVFUWVBFIikpOworCityZXEub3BlbigiREVMRVRFIiwgIm1ldGhvZHMuY2dpIiwgZmFs
c2UpOworcmVxLnNlbmQobnVsbCk7Citsb2coJ0RFTEVURShudWxsKTogJyArIHJlcS5nZXRSZXNw
b25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJF
UUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25zZUhl
YWRlcigiUkVRVFlQRSIpKTsKKworcmVxLm9wZW4oIkRFTEVURSIsICJtZXRob2RzLmNnaSIsIGZh
bHNlKTsKK3JlcS5zZW5kKCIxMjMiKTsKK2xvZygnREVMRVRFKCIxMjMiKTogJyArIHJlcS5nZXRS
ZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIo
IlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25z
ZUhlYWRlcigiUkVRVFlQRSIpKTsKKworcmVxLm9wZW4oIkhFQUQiLCAibWV0aG9kcy5jZ2kiLCBm
YWxzZSk7CityZXEuc2VuZCgiIik7Citsb2coJ0hFQUQoIiIpOiAnICsgcmVxLmdldFJlc3BvbnNl
SGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVO
R1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVy
KCJSRVFUWVBFIikpOworCityZXEub3BlbigiSEVBRCIsICJtZXRob2RzLmNnaSIsIGZhbHNlKTsK
K3JlcS5zZW5kKG51bGwpOworbG9nKCdIRUFEKG51bGwpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVh
ZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RI
IikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJS
RVFUWVBFIikpOworCityZXEub3BlbigiSEVBRCIsICJtZXRob2RzLmNnaSIsIGZhbHNlKTsKK3Jl
cS5zZW5kKCIxMjMiKTsKK2xvZygnSEVBRCgiMTIzIik6ICcgKyByZXEuZ2V0UmVzcG9uc2VIZWFk
ZXIoIlJFUU1FVEhPRCIpICsgIigiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFMRU5HVEgi
KSArICIgYnl0ZXMpLCBDb250ZW50LVR5cGU6ICIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIoIlJF
UVRZUEUiKSk7CisKK3JlcS5vcGVuKCJXS0ZPT0JBUiIsICJtZXRob2RzLmNnaSIsIGZhbHNlKTsK
K3JlcS5zZW5kKCIiKTsKK2xvZygnV0tGT09CQVIoIiIpOiAnICsgcmVxLmdldFJlc3BvbnNlSGVh
ZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigiUkVRTEVOR1RI
IikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJS
RVFUWVBFIikpOworCityZXEub3BlbigiV0tGT09CQVIiLCAibWV0aG9kcy5jZ2kiLCBmYWxzZSk7
CityZXEuc2VuZChudWxsKTsKK2xvZygnV0tGT09CQVIobnVsbCk6ICcgKyByZXEuZ2V0UmVzcG9u
c2VIZWFkZXIoIlJFUU1FVEhPRCIpICsgIigiICsgcmVxLmdldFJlc3BvbnNlSGVhZGVyKCJSRVFM
RU5HVEgiKSArICIgYnl0ZXMpLCBDb250ZW50LVR5cGU6ICIgKyByZXEuZ2V0UmVzcG9uc2VIZWFk
ZXIoIlJFUVRZUEUiKSk7CisKK3JlcS5vcGVuKCJXS0ZPT0JBUiIsICJtZXRob2RzLmNnaSIsIGZh
bHNlKTsKK3JlcS5zZW5kKCIxMjMiKTsKK2xvZygnV0tGT09CQVIoIjEyMyIpOiAnICsgcmVxLmdl
dFJlc3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRl
cigiUkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3Bv
bnNlSGVhZGVyKCJSRVFUWVBFIikpOworCityZXEub3BlbigiU0VBUkNIIiwgIm1ldGhvZHMuY2dp
IiwgZmFsc2UpOworcmVxLnNlbmQoIiIpOworbG9nKCdTRUFSQ0goIiIpOiAnICsgcmVxLmdldFJl
c3BvbnNlSGVhZGVyKCJSRVFNRVRIT0QiKSArICIoIiArIHJlcS5nZXRSZXNwb25zZUhlYWRlcigi
UkVRTEVOR1RIIikgKyAiIGJ5dGVzKSwgQ29udGVudC1UeXBlOiAiICsgcmVxLmdldFJlc3BvbnNl
SGVhZGVyKCJSRVFUWVBFIikpOworCityZXEub3BlbigiU0VBUkNIIiwgIm1ldGhvZHMuY2dpIiwg
ZmFsc2UpOworcmVxLnNlbmQobnVsbCk7Citsb2coJ1NFQVJDSChudWxsKTogJyArIHJlcS5nZXRS
ZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFkZXIo
IlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNwb25z
ZUhlYWRlcigiUkVRVFlQRSIpKTsKKworcmVxLm9wZW4oIlNFQVJDSCIsICJtZXRob2RzLmNnaSIs
IGZhbHNlKTsKK3JlcS5zZW5kKCIxMjMiKTsKK2xvZygnU0VBUkNIKCIxMjMiKTogJyArIHJlcS5n
ZXRSZXNwb25zZUhlYWRlcigiUkVRTUVUSE9EIikgKyAiKCIgKyByZXEuZ2V0UmVzcG9uc2VIZWFk
ZXIoIlJFUUxFTkdUSCIpICsgIiBieXRlcyksIENvbnRlbnQtVHlwZTogIiArIHJlcS5nZXRSZXNw
b25zZUhlYWRlcigiUkVRVFlQRSIpKTsKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDBiNzM3OS4uNjhkYzAzNiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw1MSBAQAorMjAwOS0wMy0wMSAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDI0Mjcx
OiBYTUxIdHRwUmVxdWVzdCBuZWVkcyBqcyBiaW5kaW5ncyBmb3IgV29ya2Vycy4KKyAgICAgICAg
PGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDI3MT4KKworICAgICAg
ICBUZXN0czogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMtYXN5bmMu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21l
dGhvZHMuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlckNvbnRleHRCYXNlOjpnZXRPd25Qcm9wZXJ0
eVNsb3QpOgorICAgICAgICAoanNXb3JrZXJDb250ZXh0QmFzZVhNTEh0dHBSZXF1ZXN0KToKKyAg
ICAgICAgKHNldEpTV29ya2VyQ29udGV4dEJhc2VYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgIEV4
cG9zZSBYTUxIdHRwUmVxdWVzdCB0byBXb3JrZXJzLgorCisgICAgICAgICogYmluZGluZ3MvanMv
SlNXb3JrZXJDb250ZXh0QmFzZS5oOgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNYTUxIdHRw
UmVxdWVzdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1MSHR0cFJlcXVl
c3RDb25zdHJ1Y3Rvcjo6SlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnN0cnVjdFhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1M
SHR0cFJlcXVlc3RDb25zdHJ1Y3Rvcjo6bWFyayk6CisgICAgICAgIFJlbW92ZWQgdGhlIGRlcGVu
ZGVuY2llcyBvbiBEb2N1bWVudC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJl
cXVlc3RDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6SlNYTUxIdHRwUmVxdWVzdENv
bnN0cnVjdG9yOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKiBkb20vRXZlbnRF
eGNlcHRpb24uaWRsOgorICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyLmlkbDoKKyAgICAgICAg
Q2huYWdlIHRvIGhhdmUgdGhlIE5vU3RhdGljVGFibGVzIGF0dHJpYnV0ZSBzaW5jZSB0aGV5IGFy
ZSB1c2VkIGZyb20gWEhSLgorCisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d29ya2VyQ29udGV4dERpZEZpbmlzaExvYWRpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJy
aWRnZTo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIEZpeGVkIGlkZW50aWZpZXIgdG8gYmUg
dW5zaWduZWQgbG9uZy4KKworICAgICAgICAqIGxvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVy
Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQpOgorICAgICAgICBTdG9wIGFjdGl2ZSBvYmpl
Y3RzIHdoZW4gdGhlIHRocmVhZCBpcyBnZXR0aW5nIHNodXRkb3duIHNvIHRoYXQgeGhyIGdldHMg
cHJvcGVybHkgc2h1dGRvd24uCisKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQu
Y3BwOgorCisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnQuaWRsOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5p
ZGw6CisgICAgICAgIENobmFnZSB0byBoYXZlIHRoZSBOb1N0YXRpY1RhYmxlcyBhdHRyaWJ1dGUg
c2luY2UgdGhleSBhcmUgdXNlZCBmcm9tIFhIUi4KKwogMjAwOS0wMi0yNyAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlh
dHQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEJhc2Uu
Y3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcAppbmRleCAy
NGRkNTBmLi4xMDkzMzIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2Vy
Q29udGV4dEJhc2UuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0
QmFzZS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0zOCw2ICszOSw3IEBACiAjaW5jbHVkZSAiSlNNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUg
IkpTV29ya2VyTG9jYXRpb24uaCIKICNpbmNsdWRlICJKU1dvcmtlck5hdmlnYXRvci5oIgorI2lu
Y2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIldvcmtlckNv
bnRleHQuaCIKICNpbmNsdWRlICJXb3JrZXJMb2NhdGlvbi5oIgogCkBAIC00NSw5ICs0NywxNCBA
QCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiAvKgogQGJlZ2luIEpTV29ya2VyQ29udGV4dEJhc2VU
YWJsZQorIyAtLSBDb25zdHJ1Y3RvcnMgLS0KKyAgWE1MSHR0cFJlcXVlc3QgICAgICAgICAgICAg
ICAganNXb3JrZXJDb250ZXh0QmFzZVhNTEh0dHBSZXF1ZXN0ICAgICAgICAgICAgICAgRG9udERl
bGV0ZQogQGVuZAogKi8KIAorc3RhdGljIEpTVmFsdWVQdHIganNXb3JrZXJDb250ZXh0QmFzZVhN
TEh0dHBSZXF1ZXN0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0
eVNsb3QmKTsKK3N0YXRpYyB2b2lkIHNldEpTV29ya2VyQ29udGV4dEJhc2VYTUxIdHRwUmVxdWVz
dChFeGVjU3RhdGUqLCBKU09iamVjdCosIEpTVmFsdWVQdHIpOworCiAjaW5jbHVkZSAiSlNXb3Jr
ZXJDb250ZXh0QmFzZS5sdXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODEsNiArODgs
MzMgQEAgdm9pZCBKU1dvcmtlckNvbnRleHRCYXNlOjpwdXQoRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEoKICAgICBsb29rdXBQdXQ8SlNXb3JrZXJDb250
ZXh0QmFzZSwgQmFzZT4oZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgZ2V0SlNXb3JrZXJDb250
ZXh0QmFzZVRhYmxlKGV4ZWMpLCB0aGlzLCBzbG90KTsKIH0KIAorYm9vbCBKU1dvcmtlckNvbnRl
eHRCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICBjb25zdCBIYXNo
RW50cnkqIGVudHJ5ID0gZ2V0SlNXb3JrZXJDb250ZXh0QmFzZVRhYmxlKGV4ZWMpLT5lbnRyeShl
eGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIGlmIChlbnRyeSkgeworICAgICAgICBpZiAoZW50cnkt
PmF0dHJpYnV0ZXMoKSAmIEZ1bmN0aW9uKQorICAgICAgICAgICAgc2V0VXBTdGF0aWNGdW5jdGlv
blNsb3QoZXhlYywgZW50cnksIHRoaXMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHNsb3Quc2V0Q3VzdG9tKHRoaXMsIGVudHJ5LT5wcm9wZXJ0eUdldHRl
cigpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIEJhc2U6Omdl
dE93blByb3BlcnR5U2xvdChleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitKU1ZhbHVlUHRy
IGpzV29ya2VyQ29udGV4dEJhc2VYTUxIdHRwUmVxdWVzdChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QpCit7CisgICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvcj4oZXhlYywgc3RhdGlj
X2Nhc3Q8SlNXb3JrZXJDb250ZXh0QmFzZSo+KGFzT2JqZWN0KHNsb3Quc2xvdEJhc2UoKSkpKTsK
K30KKwordm9pZCBzZXRKU1dvcmtlckNvbnRleHRCYXNlWE1MSHR0cFJlcXVlc3QoRXhlY1N0YXRl
KiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZVB0ciB2YWx1ZSkKK3sKKyAgICAv
LyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvcgorICAgIHN0YXRpY19jYXN0PEpTV29y
a2VyQ29udGV4dEJhc2UqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElkZW50aWZpZXIoZXhlYywg
IlhNTEh0dHBSZXF1ZXN0IiksIHZhbHVlKTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJT
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEJhc2UuaAppbmRleCBkMmQ1YmQy
Li41ZGMxOTIxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4
dEJhc2UuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEJhc2UuaApA
QCAtNDgsNiArNDgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdvcmtlckNvbnRl
eHQqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGwuZ2V0KCk7IH0KICAgICAgICAgdmlydHVh
bCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7
CiAKKyAgICAgICAgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3RhdGUqLCBjb25z
dCBKU0M6OklkZW50aWZpZXImLCBKU0M6OlByb3BlcnR5U2xvdCYpOworCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgUmVmUHRyPFdvcmtlckNvbnRleHQ+IG1faW1wbDsKICAgICB9OwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IuY3BwIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IuY3BwCmluZGV4
IGQ3ZjU0ZGUuLmY3MmRhZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxI
dHRwUmVxdWVzdENvbnN0cnVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1M
SHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTMyLDE4ICszMiwxNyBAQCBBU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKEpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3RvcikKIAogY29uc3QgQ2xh
c3NJbmZvIEpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiWE1MSHR0cFJl
cXVlc3RDb25zdHJ1Y3RvciIsIDAsIDAsIDAgfTsKIAotSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVj
dG9yOjpKU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yOjpK
U1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQogICAgIDogRE9NT2JqZWN0KEpTWE1M
SHR0cFJlcXVlc3RDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpKQorICAgICwgbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgLCBtX2NvbnRleHRXcmFwcGVyKHRv
SlNET01HbG9iYWxPYmplY3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpCiB7Ci0gICAgQVNTRVJU
KGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7Ci0gICAgbV9kb2N1bWVudCA9IHN0YXRpY19jYXN0PEpT
RG9jdW1lbnQqPihhc09iamVjdCh0b0pTKGV4ZWMsIHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29u
dGV4dCkpKSk7Ci0KICAgICBwdXREaXJlY3QoZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlw
ZSwgSlNYTUxIdHRwUmVxdWVzdFByb3RvdHlwZTo6c2VsZihleGVjKSwgTm9uZSk7CiB9CiAKIHN0
YXRpYyBKU09iamVjdCogY29uc3RydWN0WE1MSHR0cFJlcXVlc3QoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogY29uc3RydWN0b3IsIGNvbnN0IEFyZ0xpc3QmKQogewotICAgIFJlZlB0cjxYTUxI
dHRwUmVxdWVzdD4geG1sSHR0cFJlcXVlc3QgPSBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlKHN0YXRp
Y19jYXN0PEpTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvcio+KGNvbnN0cnVjdG9yKS0+ZG9jdW1l
bnQoKSk7CisgICAgUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiB4bWxIdHRwUmVxdWVzdCA9IFhNTEh0
dHBSZXF1ZXN0OjpjcmVhdGUoc3RhdGljX2Nhc3Q8SlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9y
Kj4oY29uc3RydWN0b3IpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIHJldHVybiBD
UkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIFhNTEh0dHBSZXF1ZXN0LCB4bWxIdHRwUmVx
dWVzdC5nZXQoKSk7CiB9CiAKQEAgLTU2LDggKzU1LDggQEAgQ29uc3RydWN0VHlwZSBKU1hNTEh0
dHBSZXF1ZXN0Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0RGF0YSYgY29u
c3QKIHZvaWQgSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yOjptYXJrKCkKIHsKICAgICBET01P
YmplY3Q6Om1hcmsoKTsKLSAgICBpZiAoIW1fZG9jdW1lbnQtPm1hcmtlZCgpKQotICAgICAgICBt
X2RvY3VtZW50LT5tYXJrKCk7CisgICAgaWYgKCFtX2NvbnRleHRXcmFwcGVyLm1hcmtlZCgpKQor
ICAgICAgICBtX2NvbnRleHRXcmFwcGVyLm1hcmsoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q29u
c3RydWN0b3IuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVj
dG9yLmgKaW5kZXggZjIzNWFmNi4uNzE1ZWI4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTWE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5oCkBAIC0yMSwxNCArMjEsMTMgQEAKICNk
ZWZpbmUgSlNYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yX2gKIAogI2luY2x1ZGUgIkpTRE9NQmlu
ZGluZy5oIgotI2luY2x1ZGUgIkpTRG9jdW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBKU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IgOiBwdWJsaWMgRE9NT2JqZWN0IHsK
IHB1YmxpYzoKICAgICBKU1hNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IoSlNDOjpFeGVjU3RhdGUq
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7Ci0gICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29u
c3QgeyByZXR1cm4gbV9kb2N1bWVudC0+aW1wbCgpOyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHsgcmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsgfQogICAgIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87CiAKICAg
ICB2aXJ0dWFsIHZvaWQgbWFyaygpOwpAQCAtMzYsNyArMzUsOCBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgSlNDOjpDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDOjpDb25zdHJ1Y3RE
YXRhJik7CiAgICAgdmlydHVhbCBjb25zdCBKU0M6OkNsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29u
c3QgeyByZXR1cm4gJnNfaW5mbzsgfQogCi0gICAgSlNEb2N1bWVudCogbV9kb2N1bWVudDsKKyAg
ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisgICAg
SlNDOjpKU1ZhbHVlUHRyIG1fY29udGV4dFdyYXBwZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgYi9XZWJD
b3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwKaW5kZXggNjFjZmQ2NS4uZjk0ODA3OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUvZG9tL0V2
ZW50RXhjZXB0aW9uLmlkbApAQCAtMzAsNyArMzAsOCBAQCBtb2R1bGUgZXZlbnRzIHsKIAogICAg
IC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAg
R2VuZXJhdGVDb25zdHJ1Y3RvcgorICAgICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yLAorICAgICAg
ICBOb1N0YXRpY1RhYmxlcwogICAgIF0gRXZlbnRFeGNlcHRpb24gewogCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCAgIGNvZGU7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9FdmVudExpc3RlbmVyLmlkbCBiL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaWRsCmlu
ZGV4IDlkMjg3MDMuLjlkYzJlMGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVu
ZXIuaWRsCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaWRsCkBAIC0yMiw2ICsyMiw3
IEBAIG1vZHVsZSBldmVudHMgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoK
ICAgICBpbnRlcmZhY2UgWworICAgICAgICBOb1N0YXRpY1RhYmxlcywKICAgICAgICAgT2JqQ1By
b3RvY29sLAogICAgICAgICBJbnRlcmZhY2VVVUlEPUIwNEYyQUUzLTcxRTItNGViZS1BQkZFLUVG
NDkzODM1NDA4MiwKICAgICAgICAgSW1wbGVtZW50YXRpb25VVUlEPURERkREMzQyLUE3OEItNGYx
OS04RjMyLUE1REY1MUI1NkUwOApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhy
ZWFkYWJsZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVy
LmNwcAppbmRleCAyZmEzMjAzLi43ZDZlN2NmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9X
b3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJl
YWRhYmxlTG9hZGVyLmNwcApAQCAtMTk4LDEzICsxOTgsMTMgQEAgdm9pZCBXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBk
YXRhLAogICAgIG1fbWVzc2FnaW5nUHJveHkucG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0
KGNyZWF0ZUNhbGxiYWNrVGFzaygmd29ya2VyQ29udGV4dERpZFJlY2VpdmVEYXRhLCBtX3dvcmtl
ckNsaWVudFdyYXBwZXIsIHZlY3RvciksIG1fdGFza01vZGUpOwogfQogCi1zdGF0aWMgdm9pZCB3
b3JrZXJDb250ZXh0RGlkRmluaXNoTG9hZGluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXI+IHdvcmtlckNsaWVudFdy
YXBwZXIsIGludCBpZGVudGlmaWVyKQorc3RhdGljIHZvaWQgd29ya2VyQ29udGV4dERpZEZpbmlz
aExvYWRpbmcoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUmVmUHRyPFRocmVhZGFi
bGVMb2FkZXJDbGllbnRXcmFwcGVyPiB3b3JrZXJDbGllbnRXcmFwcGVyLCB1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChjb250ZXh0LCBjb250ZXh0LT5pc1dv
cmtlckNvbnRleHQoKSk7CiAgICAgd29ya2VyQ2xpZW50V3JhcHBlci0+ZGlkRmluaXNoTG9hZGlu
ZyhpZGVudGlmaWVyKTsKIH0KIAotdm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhy
ZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKGludCBpZGVudGlmaWVyKQordm9pZCBXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGaW5pc2hMb2FkaW5nKHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllcikKIHsKICAgICBtX21lc3NhZ2luZ1Byb3h5LnBvc3RUYXNrRm9y
TW9kZVRvV29ya2VyQ29udGV4dChjcmVhdGVDYWxsYmFja1Rhc2soJndvcmtlckNvbnRleHREaWRG
aW5pc2hMb2FkaW5nLCBtX3dvcmtlckNsaWVudFdyYXBwZXIsIGlkZW50aWZpZXIpLCBtX3Rhc2tN
b2RlKTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRleCBiNGQy
ZmNiLi41NDYyYTk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxl
TG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBA
IC0xMTQsNyArMTE0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVk
IGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lk
IGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciosIGludCBsZW5ndGhSZWNl
aXZlZCk7Ci0gICAgICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhpbnQgaWRl
bnRpZmllcik7CisgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWwo
Y29uc3QgUmVzb3VyY2VFcnJvciYpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWxS
ZWRpcmVjdENoZWNrKCk7CiAgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5jcHAKaW5kZXggM2Q2NTg2Zi4uOWE1ZWUyMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAKQEAgLTEyMiw2ICsxMjIsNyBAQCB2b2lkKiBXb3JrZXJUaHJlYWQ6OndvcmtlclRo
cmVhZCgpCiAKICAgICBUaHJlYWRJZGVudGlmaWVyIHRocmVhZElEID0gbV90aHJlYWRJRDsKIAor
ICAgIG1fd29ya2VyQ29udGV4dC0+c3RvcEFjdGl2ZURPTU9iamVjdHMoKTsKICAgICBtX3dvcmtl
ckNvbnRleHQtPmNsZWFyU2NyaXB0KCk7CiAgICAgQVNTRVJUKG1fd29ya2VyQ29udGV4dC0+aGFz
T25lUmVmKCkpOwogICAgIC8vIFRoZSBiZWxvdyBhc3NpZ25tZW50IHdpbGwgZGVzdHJveSB0aGUg
Y29udGV4dCwgd2hpY2ggd2lsbCBpbiB0dXJuIG5vdGlmeSBtZXNzYWdpbmcgcHJveHkuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5pZGwgYi9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5pZGwKaW5kZXggMzE1ZDk1Yy4uMzE4NzE2MCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuaWRsCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmlkbApAQCAtMjksNyArMjksOCBAQAogbW9kdWxlIHhtbCB7CiAKICAgICBpbnRlcmZhY2UgWwot
ICAgICAgICBDdXN0b21NYXJrRnVuY3Rpb24KKyAgICAgICAgQ3VzdG9tTWFya0Z1bmN0aW9uLAor
ICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gWE1MSHR0cFJlcXVlc3QgewogICAgICAgICAv
LyBGcm9tIFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQKICAgICAgICAgLy8gZXZlbnQgaGFuZGxl
ciBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2Vw
dGlvbi5pZGwgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5pZGwKaW5kZXgg
MmZlYjU3NC4uNzA2YmViMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RF
eGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmlk
bApAQCAtMjksNyArMjksOCBAQAogbW9kdWxlIHhtbCB7CiAKICAgICBpbnRlcmZhY2UgWwotICAg
ICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yCisgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IsCisg
ICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbiB7CiAK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgY29kZTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5pZGwgYi9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRsCmluZGV4IDZkZTk2OTAuLjU0
OTMwOGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dC5pZGwKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbApA
QCAtMjYsNyArMjYsOCBAQAogbW9kdWxlIGV2ZW50cyB7CiAKICAgICBpbnRlcmZhY2UgWwotICAg
ICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yCisgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IsCisg
ICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgLy8gV2Ugc2hvdWxkIGFsc28gaW5oZXJpdCBmcm9t
IExTUHJvZ3Jlc3NFdmVudCB3aGVuIHRoZSBpZGwgaXMgYWRkZWQuCiAgICAgXSBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnQgOiBQcm9ncmVzc0V2ZW50IHsKICAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nICAgcG9zaXRpb247CmRpZmYgLS1naXQgYS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5jcHAgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVw
bG9hZC5jcHAKaW5kZXggYTU4YzI3MS4uNDI5MThlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
VXBsb2FkLmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVk
ZSAiRXZlbnRFeGNlcHRpb24uaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAi
RnJhbWUuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdC5oIgogI2luY2x1ZGUgIlhNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5pZGwgYi9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5pZGwKaW5kZXggYzA2NjcxMC4uMzE3MmY2OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuaWRsCisrKyBiL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmlkbApAQCAtMzAsNyArMzAsOCBAQCBtb2R1bGUgeG1s
IHsKIAogICAgIGludGVyZmFjZSBbCiAgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IsCi0gICAg
ICAgIEN1c3RvbU1hcmtGdW5jdGlvbgorICAgICAgICBDdXN0b21NYXJrRnVuY3Rpb24sCisgICAg
ICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBYTUxIdHRwUmVxdWVzdFVwbG9hZCB7CiAgICAgICAg
IC8vIEZyb20gWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldAogICAgICAgICAvLyBldmVudCBoYW5k
bGVyIGF0dHJpYnV0ZXMK
</data>
<flag name="review"
          id="13745"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>