<?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>38979</bug_id>
          
          <creation_ts>2010-05-12 00:51:27 -0700</creation_ts>
          <short_desc>Display queue position inside EWS bubbles</short_desc>
          <delta_ts>2010-05-15 03:43:05 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>224461</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-12 00:51:27 -0700</bug_when>
    <thetext>Display queue position inside EWS bubbles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224465</commentid>
    <comment_count>1</comment_count>
      <attachid>55817</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-12 00:57:01 -0700</bug_when>
    <thetext>Created attachment 55817
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225239</commentid>
    <comment_count>2</comment_count>
      <attachid>55965</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-13 05:43:42 -0700</bug_when>
    <thetext>Created attachment 55965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225946</commentid>
    <comment_count>3</comment_count>
      <attachid>55965</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-14 12:37:43 -0700</bug_when>
    <thetext>Comment on attachment 55965
Patch

WebKitTools/QueueStatusServer/model/attachment.py:107
 +          # FIXME: Should we be mem-caching this?
Yes.  I don&apos;t think caching in Python memory does much.

Ok.  We might want to invest in testing for QueueStatusServer.  There&apos;s probably a way to test it with the appengine test server.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225948</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-14 12:41:15 -0700</bug_when>
    <thetext>I agree.  I considered adding testing for this but was unsure how to wire it up.  I will think more about it as I make more of these changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226217</commentid>
    <comment_count>5</comment_count>
      <attachid>55965</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-15 03:42:59 -0700</bug_when>
    <thetext>Comment on attachment 55965
Patch

Clearing flags on attachment: 55965

Committed r59534: &lt;http://trac.webkit.org/changeset/59534&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226218</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-15 03:43:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55817</attachid>
            <date>2010-05-12 00:57:01 -0700</date>
            <delta_ts>2010-05-13 05:43:32 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>bug-38979-20100512005658.patch</filename>
            <type>text/plain</type>
            <size>19273</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmMTI2N2MyNjExNjhmMmUxMzlhM2I3MmUzYmZiODBhZmMwMDliNjI4Li4wM2EzNGMy
MGExNGI4NzVkOWQ3OWYxYTFiYzA4NDVjNWNhODcwMTRlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTAtMDUtMTIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc3BsYXkgcXVldWUgcG9zaXRp
b24gaW5zaWRlIEVXUyBidWJibGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zODk3OQorCisgICAgICAgIFRoaXMgZW5kZWQgdXAgYmVpbmcgYSBsb3Qg
b2YgY2xlYW4tdXAgdG8gb3VyIHN0YXR1cyBzZXJ2ZXIgY29kZS4KKworICAgICAgICBBZGRlZCBh
IG5ldyBXb3JrSXRlbXMgbW9kZWwsIGEgZm9ybSB3aXRoIHdoaWNoIHRvIGZpbGwgaXQsCisgICAg
ICAgIGFuZCB0YXVnaHQgdGhlIEF0dGFjaG1lbnQgY2xhc3MgaG93IHRvIGNhbGN1bGF0ZSB0aGUg
Y3VycmVudCBxdWV1ZQorICAgICAgICBwb3N0aW9uIGZvciBhbiBhdHRhY2htZW50IHVzaW5nIHRo
ZSBkYXRhIGluIFdvcmtJdGVtcy4KKworICAgICAgICBJIGFsc28gZmluYWxseSBtYWRlIHN0YXR1
c2J1YmJsZS4qIG5vdCB1c2UgY29weS1wYXN0ZSBjb2RlLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
Y3VycmVudGx5IHdpbGwgYnJlYWsgZGFzaGJvYXJkLiogZHVlIHRvIHRoZSBzYW1lIGNvcHkvcGFz
dGUKKyAgICAgICAgY29kZSBleGlzdGluZyB0aGVyZS4gIFdpbGwgZml4IHRoYXQgdG9vIGJlZm9y
ZSByZWFsIHJldmlldy4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3N0
YXR1c2J1YmJsZS5weToKKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRh
dGVzdGF0dXMucHk6CisgICAgICAgICogUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRl
d29ya2l0ZW1zLnB5OiBBZGRlZC4KKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9tYWluLnB5
OgorICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2F0dGFjaG1lbnQucHk6CisgICAg
ICAgICogUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvcXVldWVzLnB5OgorICAgICAgICAqIFF1ZXVl
U3RhdHVzU2VydmVyL21vZGVsL3dvcmtpdGVtcy5weTogQWRkZWQuCisgICAgICAgICogUXVldWVT
dGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3N0YXR1c2J1YmJsZS5odG1sOgorICAgICAgICAqIFF1ZXVl
U3RhdHVzU2VydmVyL3RlbXBsYXRlcy91cGRhdGV3b3JraXRlbXMuaHRtbDogQWRkZWQuCisKIDIw
MTAtMDUtMTEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIGp1c3QgZml4aW5nIHB5dGhvbiB0eXBvLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
UXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvc3RhdHVzYnViYmxlLnB5IGIvV2ViS2l0VG9vbHMv
UXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvc3RhdHVzYnViYmxlLnB5CmluZGV4IGQ1MjUwOWY1
ZDE2MTliZWRkN2VkMjUxZjMxZDUyODMxZThlY2IyNDIuLjBlMmI4ZGUzNTVlMThmOGQwNDE0MTlj
NmIzZTBkNDRjNzBkODFiZjQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2Vy
dmVyL2hhbmRsZXJzL3N0YXR1c2J1YmJsZS5weQorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1
c1NlcnZlci9oYW5kbGVycy9zdGF0dXNidWJibGUucHkKQEAgLTI2LDE3ICsyNiw1MCBAQAogIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IG9wZXJhdG9yCisKIGZyb20gZ29v
Z2xlLmFwcGVuZ2luZS5leHQgaW1wb3J0IHdlYmFwcAogZnJvbSBnb29nbGUuYXBwZW5naW5lLmV4
dC53ZWJhcHAgaW1wb3J0IHRlbXBsYXRlCiAKIGZyb20gbW9kZWwuYXR0YWNobWVudCBpbXBvcnQg
QXR0YWNobWVudAorZnJvbSBtb2RlbC53b3JraXRlbXMgaW1wb3J0IFdvcmtJdGVtcworZnJvbSBt
b2RlbC5xdWV1ZXMgaW1wb3J0IHF1ZXVlcywgbmFtZV93aXRoX3VuZGVyc2NvcmVzCiAKIAogY2xh
c3MgU3RhdHVzQnViYmxlKHdlYmFwcC5SZXF1ZXN0SGFuZGxlcik6CisgICAgIyBGSVhNRTogVGhp
cyBsaXN0IHByb2JhYmx5IGJlbG9uZ3MgYXMgcGFydCBvZiBhIFF1ZXVlIG9iamVjdCBpbiBxdWV1
ZXMucHkKKyAgICAjIEFycmF5cyBhcmUgYnViYmxlX25hbWUsIHF1ZXVlX25hbWUKKyAgICBfcXVl
dWVzX3RvX2Rpc3BsYXkgPSBbCisgICAgICAgIFsic3R5bGUiLCAic3R5bGUtcXVldWUiXSwKKyAg
ICAgICAgWyJjci1saW51eCIsICJjaHJvbWl1bS1ld3MiXSwKKyAgICAgICAgWyJjci13aW4iLCAi
Y3Itd2luLWV3cyJdLAorICAgICAgICBbImd0ayIsICJndGstZXdzIl0sCisgICAgICAgIFsicXQi
LCAicXQtZXdzIl0sCisgICAgICAgIFsibWFjIiwgIm1hYy1ld3MiXSwKKyAgICAgICAgWyJ3aW4i
LCAid2luLWV3cyJdLAorICAgIF0KKworICAgICMgVGhpcyBhc3NlcnRzIHRoYXQgYWxsIG9mIHRo
ZSBxdWV1ZXMgbGlzdGVkIGFib3ZlIGFyZSB2YWxpZCBxdWV1ZSBuYW1lcy4KKyAgICBhc3NlcnQo
cmVkdWNlKG9wZXJhdG9yLmFuZF8sIG1hcChsYW1iZGEgbmFtZV9wYWlyOiBuYW1lX3BhaXJbMV0g
aW4gcXVldWVzLCBfcXVldWVzX3RvX2Rpc3BsYXkpKSkKKworICAgIGRlZiBfYnVpbGRfYnViYmxl
KHNlbGYsIHF1ZXVlX25hbWVfcGFpciwgYXR0YWNobWVudCk6CisgICAgICAgIGJ1YmJsZV9uYW1l
ID0gcXVldWVfbmFtZV9wYWlyWzBdCisgICAgICAgIHF1ZXVlX25hbWUgPSBxdWV1ZV9uYW1lX3Bh
aXJbMV0KKworICAgICAgICBxdWV1ZV9zdGF0dXMgPSBhdHRhY2htZW50LnN0YXR1c19mb3JfcXVl
dWUocXVldWVfbmFtZSkKKyAgICAgICAgYnViYmxlID0geworICAgICAgICAgICAgIm5hbWUiOiBi
dWJibGVfbmFtZSwKKyAgICAgICAgICAgICJhdHRhY2htZW50X2lkIjogYXR0YWNobWVudC5pZCwK
KyAgICAgICAgICAgICJxdWV1ZV9wb3NpdGlvbiI6IGF0dGFjaG1lbnQucG9zaXRpb25faW5fcXVl
dWUocXVldWVfbmFtZSksCisgICAgICAgICAgICAic3RhdGUiOiBhdHRhY2htZW50LnN0YXRlX2Zy
b21fcXVldWVfc3RhdHVzKHF1ZXVlX3N0YXR1cykgaWYgcXVldWVfc3RhdHVzIGVsc2UgIm5vbmUi
LAorICAgICAgICAgICAgInN0YXR1cyI6IHF1ZXVlX3N0YXR1cywKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gYnViYmxlCisKICAgICBkZWYgZ2V0KHNlbGYsIGF0dGFjaG1lbnRfaWQpOgogICAg
ICAgICBhdHRhY2htZW50ID0gQXR0YWNobWVudChpbnQoYXR0YWNobWVudF9pZCkpCi0KKyAgICAg
ICAgYnViYmxlcyA9IFtzZWxmLl9idWlsZF9idWJibGUobmFtZV9wYWlyLCBhdHRhY2htZW50KSBm
b3IgbmFtZV9wYWlyIGluIHNlbGYuX3F1ZXVlc190b19kaXNwbGF5XQogICAgICAgICB0ZW1wbGF0
ZV92YWx1ZXMgPSB7Ci0gICAgICAgICAgICAic3VtbWFyeSIgOiBhdHRhY2htZW50LnN1bW1hcnko
KQorICAgICAgICAgICAgImJ1YmJsZXMiOiBidWJibGVzLAogICAgICAgICB9CiAgICAgICAgIHNl
bGYucmVzcG9uc2Uub3V0LndyaXRlKHRlbXBsYXRlLnJlbmRlcigidGVtcGxhdGVzL3N0YXR1c2J1
YmJsZS5odG1sIiwgdGVtcGxhdGVfdmFsdWVzKSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1F1
ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZXN0YXR1cy5weSBiL1dlYktpdFRvb2xzL1F1
ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZXN0YXR1cy5weQppbmRleCA1MGQ0YjZlN2Ix
ODQ5MDFhYTcyMTczYjBmNzI3OGQ5ZDYyODEwZjZmLi41YTkzZGJkNzA4ZTNiMjEwMWYwMjFhOWI4
YzgzYmY4NTgwOWViMTkwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZl
ci9oYW5kbGVycy91cGRhdGVzdGF0dXMucHkKKysrIGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNT
ZXJ2ZXIvaGFuZGxlcnMvdXBkYXRlc3RhdHVzLnB5CkBAIC0zOCw5ICszOCwxMCBAQCBjbGFzcyBV
cGRhdGVTdGF0dXMoVXBkYXRlQmFzZSk6CiAgICAgZGVmIGdldChzZWxmKToKICAgICAgICAgc2Vs
Zi5yZXNwb25zZS5vdXQud3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0ZXMvdXBkYXRlc3Rh
dHVzLmh0bWwiLCBOb25lKSkKIAotICAgIGRlZiBwb3N0KHNlbGYpOgorICAgIGRlZiBfcXVldWVf
c3RhdHVzX2Zyb21fcmVxdWVzdChzZWxmKToKICAgICAgICAgcXVldWVfc3RhdHVzID0gUXVldWVT
dGF0dXMoKQogCisgICAgICAgICMgRklYTUU6IEkgdGhpbmsgdGhpcyBjYW4gYmUgcmVtb3ZlZCwg
bm8gb25lIHVzZXMgaXQuCiAgICAgICAgIGlmIHVzZXJzLmdldF9jdXJyZW50X3VzZXIoKToKICAg
ICAgICAgICAgIHF1ZXVlX3N0YXR1cy5hdXRob3IgPSB1c2Vycy5nZXRfY3VycmVudF91c2VyKCkK
IApAQCAtNTMsNiArNTQsMTAgQEAgY2xhc3MgVXBkYXRlU3RhdHVzKFVwZGF0ZUJhc2UpOgogICAg
ICAgICBxdWV1ZV9zdGF0dXMubWVzc2FnZSA9IHNlbGYucmVxdWVzdC5nZXQoInN0YXR1cyIpCiAg
ICAgICAgIHJlc3VsdHNfZmlsZSA9IHNlbGYucmVxdWVzdC5nZXQoInJlc3VsdHNfZmlsZSIpCiAg
ICAgICAgIHF1ZXVlX3N0YXR1cy5yZXN1bHRzX2ZpbGUgPSBkYi5CbG9iKHN0cihyZXN1bHRzX2Zp
bGUpKQorICAgICAgICByZXR1cm4gcXVldWVfc3RhdHVzCisKKyAgICBkZWYgcG9zdChzZWxmKToK
KyAgICAgICAgcXVldWVfc3RhdHVzID0gc2VsZi5fcXVldWVfc3RhdHVzX2Zyb21fcmVxdWVzdCgp
CiAgICAgICAgIHF1ZXVlX3N0YXR1cy5wdXQoKQotICAgICAgICBBdHRhY2htZW50LmRpcnR5KHBh
dGNoX2lkKQorICAgICAgICBBdHRhY2htZW50LmRpcnR5KHF1ZXVlX3N0YXR1cy5hY3RpdmVfcGF0
Y2hfaWQpCiAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHF1ZXVlX3N0YXR1cy5rZXko
KS5pZCgpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxl
cnMvdXBkYXRld29ya2l0ZW1zLnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFu
ZGxlcnMvdXBkYXRld29ya2l0ZW1zLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1OGU3NDM0NGM0N2U5NDYwNjMz
OGY1MDY3OTkxNDdhOTc3ZWNiN2YKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9RdWV1
ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGV3b3JraXRlbXMucHkKQEAgLTAsMCArMSw2NCBA
QAorIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlv
bi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisj
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
IyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKK2Zyb20gZ29vZ2xlLmFwcGVuZ2luZS5leHQgaW1wb3J0IHdl
YmFwcCwgZGIKK2Zyb20gZ29vZ2xlLmFwcGVuZ2luZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0
ZQorCitmcm9tIGhhbmRsZXJzLnVwZGF0ZWJhc2UgaW1wb3J0IFVwZGF0ZUJhc2UKK2Zyb20gbW9k
ZWwucXVldWVzIGltcG9ydCBxdWV1ZXMKK2Zyb20gbW9kZWwud29ya2l0ZW1zIGltcG9ydCBXb3Jr
SXRlbXMKKworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKworCitjbGFzcyBVcGRhdGVX
b3JrSXRlbXMoVXBkYXRlQmFzZSk6CisgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAgc2VsZi5y
ZXNwb25zZS5vdXQud3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0ZXMvdXBkYXRld29ya2l0
ZW1zLmh0bWwiLCBOb25lKSkKKworICAgIGRlZiBfd29ya19pdGVtc19mb3JfcXVldWUoc2VsZiwg
cXVldWVfbmFtZSk6CisgICAgICAgIGlmIHF1ZXVlX25hbWUgbm90IGluIHF1ZXVlczoKKyAgICAg
ICAgICAgIHNlbGYucmVzcG9uc2Uuc2V0X3N0YXR1cyg1MDApCisgICAgICAgICAgICByZXR1cm4K
KyAgICAgICAgd29ya19pdGVtcyA9IFdvcmtJdGVtcy5hbGwoKS5maWx0ZXIoInF1ZXVlX25hbWUg
PSIsIHF1ZXVlX25hbWUpLmdldCgpCisgICAgICAgIGlmIG5vdCB3b3JrX2l0ZW1zOgorICAgICAg
ICAgICAgd29ya19pdGVtcyA9IFdvcmtJdGVtcygpCisgICAgICAgICAgICB3b3JrX2l0ZW1zLnF1
ZXVlX25hbWUgPSBxdWV1ZV9uYW1lCisgICAgICAgIHJldHVybiB3b3JrX2l0ZW1zCisKKyAgICBk
ZWYgX3dvcmtfaXRlbXNfZnJvbV9yZXF1ZXN0KHNlbGYpOgorICAgICAgICBxdWV1ZV9uYW1lID0g
c2VsZi5yZXF1ZXN0LmdldCgicXVldWVfbmFtZSIpCisgICAgICAgIHdvcmtfaXRlbXMgPSBzZWxm
Ll93b3JrX2l0ZW1zX2Zvcl9xdWV1ZShxdWV1ZV9uYW1lKQorICAgICAgICBpdGVtc19zdHJpbmcg
PSBzZWxmLnJlcXVlc3QuZ2V0KCJ3b3JrX2l0ZW1zIikKKyAgICAgICAgIyBPdXIgcGFyc2luZyBj
b3VsZCBiZSBtdWNoIG1vcmUgcm9idXN0LgorICAgICAgICB3b3JrX2l0ZW1zLml0ZW1faWRzID0g
bWFwKGludCwgaXRlbXNfc3RyaW5nLnNwbGl0KCIgIikpCisgICAgICAgIHdvcmtfaXRlbXMuZGF0
ZSA9IGRhdGV0aW1lLm5vdygpCisgICAgICAgIHJldHVybiB3b3JrX2l0ZW1zCisKKyAgICBkZWYg
cG9zdChzZWxmKToKKyAgICAgICAgd29ya19pdGVtcyA9IHNlbGYuX3dvcmtfaXRlbXNfZnJvbV9y
ZXF1ZXN0KCkKKyAgICAgICAgd29ya19pdGVtcy5wdXQoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvUXVldWVTdGF0dXNTZXJ2ZXIvbWFpbi5weSBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2Vy
dmVyL21haW4ucHkKaW5kZXggOGJmYTdlOTgyM2IwYWY5NjgyODhlM2FmM2IzZmQxMzkwMGRjYmMw
ZS4uZmI2ZmM0YmY3NGYyNWQ3NTZlZmUyYmU2ZTM5ZGM4ZDA4ZDZmNDgzYyAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbWFpbi5weQorKysgYi9XZWJLaXRUb29scy9R
dWV1ZVN0YXR1c1NlcnZlci9tYWluLnB5CkBAIC00Myw2ICs0Myw4IEBAIGZyb20gaGFuZGxlcnMu
c3RhdHVzYnViYmxlIGltcG9ydCBTdGF0dXNCdWJibGUKIGZyb20gaGFuZGxlcnMuc3ZucmV2aXNp
b24gaW1wb3J0IFNWTlJldmlzaW9uCiBmcm9tIGhhbmRsZXJzLnVwZGF0ZXN0YXR1cyBpbXBvcnQg
VXBkYXRlU3RhdHVzCiBmcm9tIGhhbmRsZXJzLnVwZGF0ZXN2bnJldmlzaW9uIGltcG9ydCBVcGRh
dGVTVk5SZXZpc2lvbgorZnJvbSBoYW5kbGVycy51cGRhdGV3b3JraXRlbXMgaW1wb3J0IFVwZGF0
ZVdvcmtJdGVtcworCiAKIHdlYmFwcC50ZW1wbGF0ZS5yZWdpc3Rlcl90ZW1wbGF0ZV9saWJyYXJ5
KCdmaWx0ZXJzLndlYmtpdF9leHRyYXMnKQogCkBAIC01Nyw2ICs1OSw3IEBAIHJvdXRlcyA9IFsK
ICAgICAocicvc3ZuLXJldmlzaW9uLyguKiknLCBTVk5SZXZpc2lvbiksCiAgICAgKHInL3F1ZXVl
LXN0YXR1cy8oLiopJywgUmVjZW50U3RhdHVzKSwKICAgICAoJy91cGRhdGUtc3RhdHVzJywgVXBk
YXRlU3RhdHVzKSwKKyAgICAoJy91cGRhdGUtd29yay1pdGVtcycsIFVwZGF0ZVdvcmtJdGVtcyks
CiAgICAgKCcvdXBkYXRlLXN2bi1yZXZpc2lvbicsIFVwZGF0ZVNWTlJldmlzaW9uKSwKIF0KIApk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYXR0YWNobWVu
dC5weSBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2F0dGFjaG1lbnQucHkK
aW5kZXggNzUxZjc4ZTdjMTRiOWRkZGQwZjAxNTZlZDMyZDA3OWYyNjQ2NjBhNy4uOWYzOWI1MTMy
NjYxOGE2N2I2OGI5OGM2Y2JlMjZiNTU3ZGNiMjI3MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
UXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYXR0YWNobWVudC5weQorKysgYi9XZWJLaXRUb29scy9R
dWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hdHRhY2htZW50LnB5CkBAIC0zMCw4ICszMCw5IEBAIGlt
cG9ydCByZQogCiBmcm9tIGdvb2dsZS5hcHBlbmdpbmUuYXBpIGltcG9ydCBtZW1jYWNoZQogCi1m
cm9tIG1vZGVsLnF1ZXVlcyBpbXBvcnQgcXVldWVzCitmcm9tIG1vZGVsLnF1ZXVlcyBpbXBvcnQg
cXVldWVzLCBuYW1lX3dpdGhfdW5kZXJzY29yZXMKIGZyb20gbW9kZWwucXVldWVzdGF0dXMgaW1w
b3J0IFF1ZXVlU3RhdHVzCitmcm9tIG1vZGVsLndvcmtpdGVtcyBpbXBvcnQgV29ya0l0ZW1zCiAK
IAogY2xhc3MgQXR0YWNobWVudChvYmplY3QpOgpAQCAtNjAsNiArNjEsNyBAQCBjbGFzcyBBdHRh
Y2htZW50KG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGF0dGFjaG1lbnRfaWQpOgog
ICAgICAgICBzZWxmLmlkID0gYXR0YWNobWVudF9pZAogICAgICAgICBzZWxmLl9zdW1tYXJ5ID0g
Tm9uZQorICAgICAgICBzZWxmLl9jYWNoZWRfcXVldWVfcG9zaXRpb25zID0gTm9uZQogCiAgICAg
ZGVmIHN1bW1hcnkoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX3N1bW1hcnk6CkBAIC03MSwxMSAr
NzMsNyBAQCBjbGFzcyBBdHRhY2htZW50KG9iamVjdCk6CiAgICAgICAgIG1lbWNhY2hlLnNldChz
dHIoc2VsZi5pZCksIHNlbGYuX3N1bW1hcnksIG5hbWVzcGFjZT0iYXR0YWNobWVudC1zdW1tYXJ5
IikKICAgICAgICAgcmV0dXJuIHNlbGYuX3N1bW1hcnkKIAotICAgIGRlZiBfZGFzaF90b191bmRl
cnNjb3JlKHNlbGYsIGRhc2hlZF9uYW1lKToKLSAgICAgICAgcmVnZXhwID0gcmUuY29tcGlsZSgi
LSIpCi0gICAgICAgIHJldHVybiByZWdleHAuc3ViKCJfIiwgZGFzaGVkX25hbWUpCi0KLSAgICBk
ZWYgX3N0YXRlX2Zyb21fc3RhdHVzKHNlbGYsIHN0YXR1cyk6CisgICAgZGVmIHN0YXRlX2Zyb21f
cXVldWVfc3RhdHVzKHNlbGYsIHN0YXR1cyk6CiAgICAgICAgIHRhYmxlID0gewogICAgICAgICAg
ICAgIlBhc3MiIDogInBhc3MiLAogICAgICAgICAgICAgIkZhaWwiIDogImZhaWwiLApAQCAtODks
NiArODcsMzcgQEAgY2xhc3MgQXR0YWNobWVudChvYmplY3QpOgogICAgICAgICAgICAgcmV0dXJu
ICJwZW5kaW5nIgogICAgICAgICByZXR1cm4gTm9uZQogCisgICAgZGVmIHBvc2l0aW9uX2luX3F1
ZXVlKHNlbGYsIHF1ZXVlX25hbWUpOgorICAgICAgICByZXR1cm4gc2VsZi5fcXVldWVfcG9zaXRp
b25zKCkuZ2V0KHF1ZXVlX25hbWUpCisKKyAgICBkZWYgc3RhdHVzX2Zvcl9xdWV1ZShzZWxmLCBx
dWV1ZV9uYW1lKToKKyAgICAgICAgdW5kZXJzY29yZV9xdWV1ZV9uYW1lID0gbmFtZV93aXRoX3Vu
ZGVyc2NvcmVzKHF1ZXVlX25hbWUpCisgICAgICAgICMgc3VtbWFyeSgpIGlzIGEgaG9ycmlibGUg
QVBJIGFuZCBzaG91bGQgYmUga2lsbGVkLgorICAgICAgICBxdWV1ZV9zdW1tYXJ5ID0gc2VsZi5z
dW1tYXJ5KCkuZ2V0KHVuZGVyc2NvcmVfcXVldWVfbmFtZSkKKyAgICAgICAgaWYgbm90IHF1ZXVl
X3N1bW1hcnk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gcXVldWVf
c3VtbWFyeS5nZXQoInN0YXR1cyIpCisKKyAgICBkZWYgX3F1ZXVlX3Bvc2l0aW9ucyhzZWxmKToK
KyAgICAgICAgaWYgc2VsZi5fY2FjaGVkX3F1ZXVlX3Bvc2l0aW9uczoKKyAgICAgICAgICAgIHJl
dHVybiBzZWxmLl9jYWNoZWRfcXVldWVfcG9zaXRpb25zCisgICAgICAgICMgRklYTUU6IFNob3Vs
ZCB3ZSBiZSBtZW0tY2FjaGluZyB0aGlzPworICAgICAgICBzZWxmLl9jYWNoZWRfcXVldWVfcG9z
aXRpb25zID0gc2VsZi5fY2FsY3VsYXRlX3F1ZXVlX3Bvc2l0aW9ucygpCisgICAgICAgIHJldHVy
biBzZWxmLl9jYWNoZWRfcXVldWVfcG9zaXRpb25zCisKKyAgICBkZWYgX2NhbGN1bGF0ZV9xdWV1
ZV9wb3NpdGlvbnMoc2VsZik6CisgICAgICAgIHF1ZXVlX3Bvc2l0aW9ucyA9IHt9CisgICAgICAg
IGZvciB3b3JrX2l0ZW1zIGluIFdvcmtJdGVtcy5hbGwoKS5mZXRjaChsaW1pdD1sZW4ocXVldWVz
KSk6CisgICAgICAgICAgICBxdWV1ZV9uYW1lID0gc3RyKHdvcmtfaXRlbXMucXVldWVfbmFtZSkK
KyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IHdvcmtfaXRlbXMu
aXRlbV9pZHMuaW5kZXgoc2VsZi5pZCkKKyAgICAgICAgICAgICAgICAjIERpc3BsYXkgMS1iYXNl
ZCBpbmRlY2llcyB0byB0aGUgdXNlci4KKyAgICAgICAgICAgICAgICBxdWV1ZV9wb3NpdGlvbnNb
cXVldWVfbmFtZV0gPSBwb3NpdGlvbiArIDEKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9y
LCBlOgorICAgICAgICAgICAgICAgIHF1ZXVlX3Bvc2l0aW9uc1txdWV1ZV9uYW1lXSA9IE5vbmUK
KyAgICAgICAgcmV0dXJuIHF1ZXVlX3Bvc2l0aW9ucworCisgICAgIyBGSVhNRTogVGhpcyBpcyBh
IGhvcnJpYmxlIEFQSS4KICAgICBkZWYgX2ZldGNoX3N1bW1hcnkoc2VsZik6CiAgICAgICAgIHN1
bW1hcnkgPSB7ICJhdHRhY2htZW50X2lkIiA6IHNlbGYuaWQgfQogCkBAIC0xMDIsOCArMTMxLDgg
QEAgY2xhc3MgQXR0YWNobWVudChvYmplY3QpOgogICAgICAgICAgICAgc3VtbWFyeVtxdWV1ZV0g
PSBOb25lCiAgICAgICAgICAgICBzdGF0dXMgPSBRdWV1ZVN0YXR1cy5hbGwoKS5maWx0ZXIoJ3F1
ZXVlX25hbWUgPScsIHF1ZXVlKS5maWx0ZXIoJ2FjdGl2ZV9wYXRjaF9pZCA9Jywgc2VsZi5pZCku
b3JkZXIoJy1kYXRlJykuZ2V0KCkKICAgICAgICAgICAgIGlmIHN0YXR1czoKLSAgICAgICAgICAg
ICAgICBzdW1tYXJ5W3NlbGYuX2Rhc2hfdG9fdW5kZXJzY29yZShxdWV1ZSldID0gewotICAgICAg
ICAgICAgICAgICAgICAic3RhdGUiIDogc2VsZi5fc3RhdGVfZnJvbV9zdGF0dXMoc3RhdHVzKSwK
LSAgICAgICAgICAgICAgICAgICAgInN0YXR1cyIgOiBzdGF0dXMsCisgICAgICAgICAgICAgICAg
c3VtbWFyeVtuYW1lX3dpdGhfdW5kZXJzY29yZXMocXVldWUpXSA9IHsKKyAgICAgICAgICAgICAg
ICAgICAgInN0YXRlIjogc2VsZi5zdGF0ZV9mcm9tX3F1ZXVlX3N0YXR1cyhzdGF0dXMpLAorICAg
ICAgICAgICAgICAgICAgICAic3RhdHVzIjogc3RhdHVzLAogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIHN1bW1hcnkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVz
U2VydmVyL21vZGVsL3F1ZXVlcy5weSBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21v
ZGVsL3F1ZXVlcy5weQppbmRleCA1NzQ2M2RlNmQ0M2JhODE2MDE4ZTQyYWNiZWRlOTQ1ZWIyOGQ5
OTliLi40NmYyZjE1OGY1NDk0Nzg1MWYyMmVlYjM1YmI2YzZjZjNhNGFhY2E2IDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9xdWV1ZXMucHkKKysrIGIvV2Vi
S2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvcXVldWVzLnB5CkBAIC0xLDQgKzEsNCBA
QAotIyBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAj
CiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0yNiw2ICsyNiw5IEBACiAjIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgcmUKKworCiBxdWV1ZXMgPSBbCiAgICAg
ImNvbW1pdC1xdWV1ZSIsCiAgICAgInN0eWxlLXF1ZXVlIiwKQEAgLTM2LDMgKzM5LDggQEAgcXVl
dWVzID0gWwogICAgICJtYWMtZXdzIiwKICAgICAid2luLWV3cyIsCiBdCisKKworZGVmIG5hbWVf
d2l0aF91bmRlcnNjb3JlcyhkYXNoZWRfbmFtZSk6CisgICAgcmVnZXhwID0gcmUuY29tcGlsZSgi
LSIpCisgICAgcmV0dXJuIHJlZ2V4cC5zdWIoIl8iLCBkYXNoZWRfbmFtZSkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL3dvcmtpdGVtcy5weSBiL1dlYktp
dFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL3dvcmtpdGVtcy5weQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
ZWE1OWNiZGM1M2M5YTdjNmQ4OTZhOGRjODYxZDVjMmY1M2UxNTFiCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5CkBAIC0w
LDAgKzEsMzUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMg
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBk
aXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisj
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisj
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0
IGltcG9ydCBkYgorCisKK2NsYXNzIFdvcmtJdGVtcyhkYi5Nb2RlbCk6CisgICAgcXVldWVfbmFt
ZSA9IGRiLlN0cmluZ1Byb3BlcnR5KCkKKyAgICBpdGVtX2lkcyA9IGRiLkxpc3RQcm9wZXJ0eShp
bnQpCisgICAgZGF0ZSA9IGRiLkRhdGVUaW1lUHJvcGVydHkoYXV0b19ub3dfYWRkPVRydWUpCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvc3RhdHVz
YnViYmxlLmh0bWwgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvc3Rh
dHVzYnViYmxlLmh0bWwKaW5kZXggYzZlMjEzNGVlYjdiYmE4YjU0ZDJjZDQzNGQwNDAxYTQ4NTdk
ZDVkMi4uMzEwMjc0MTdiYmY1Y2Y4NTUxZDk0Njg0NjdiOThmMmI3NDc0MzQ3ZCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3N0YXR1c2J1YmJsZS5o
dG1sCisrKyBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL3RlbXBsYXRlcy9zdGF0dXNi
dWJibGUuaHRtbApAQCAtMTgsMjYgKzE4LDI2IEBAIGJvZHkgewogICAgIGJvcmRlcjogMXB4IHNv
bGlkICNBQUE7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICAgZm9udC1zaXplOiAx
MXB4OworICAgIGN1cnNvcjogcG9pbnRlcjsKK30KKy5ub25lIHsKKyAgICBjdXJzb3I6IGF1dG87
CiB9CiAucGFzcyB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhGREY1RjsKICAgICBib3JkZXI6
IDFweCBzb2xpZCAjNEY4NTMwOwotICAgIGN1cnNvcjogcG9pbnRlcjsKIH0KIC5mYWlsIHsKICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTk4MDgwOwogICAgIGJvcmRlcjogMXB4IHNvbGlkICNBNzcy
NzI7Ci0gICAgY3Vyc29yOiBwb2ludGVyOwogfQogLnBlbmRpbmcgewogICAgIGJhY2tncm91bmQt
Y29sb3I6ICNGRkZDNkM7CiAgICAgYm9yZGVyOiAxcHggc29saWQgI0M1QzU2RDsKLSAgICBjdXJz
b3I6IHBvaW50ZXI7CiB9CiAuZXJyb3IgewogICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBCMEZGOwog
ICBib3JkZXI6IDFweCBzb2xpZCAjQUNBMEIzOwotICBjdXJzb3I6IHBvaW50ZXI7CiB9CiA8L3N0
eWxlPgogPHNjcmlwdD4KQEAgLTQ3LDQxICs0NywxNSBAQCBmdW5jdGlvbiBzdGF0dXNEZXRhaWwo
cGF0Y2hfaWQpIHsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Ci08IS0tIEZJWE1FOiBGaW5k
IHNvbWUgd2F5IHRvIHJlbW92ZSB0aGlzIGNvcHktYW5kLXBhc3RlIGNvZGUhIC0tPgotPGRpdiBj
bGFzcz0ic3RhdHVzIHt7IHN1bW1hcnkuc3R5bGVfcXVldWUuc3RhdGUgfX0ieyUgaWYgc3VtbWFy
eS5zdHlsZV9xdWV1ZS5zdGF0dXMgJX0KLSAgICBvbmNsaWNrPSJzdGF0dXNEZXRhaWwoe3sgc3Vt
bWFyeS5hdHRhY2htZW50X2lkIH19KSIKLSAgICB0aXRsZT0ie3sgc3VtbWFyeS5zdHlsZV9xdWV1
ZS5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlmICV9PgotICBzdHlsZQotPC9k
aXY+Ci08ZGl2IGNsYXNzPSJzdGF0dXMge3sgc3VtbWFyeS5jaHJvbWl1bV9ld3Muc3RhdGUgfX0i
eyUgaWYgc3VtbWFyeS5jaHJvbWl1bV9ld3Muc3RhdHVzICV9Ci0gICAgb25jbGljaz0ic3RhdHVz
RGV0YWlsKHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAgdGl0bGU9Int7IHN1bW1h
cnkuY2hyb21pdW1fZXdzLnN0YXR1cy5kYXRlfHRpbWVzaW5jZSB9fSBhZ28ieyUgZW5kaWYgJX0+
Ci0gIGNyLWxpbnV4Ci08L2Rpdj4KLTxkaXYgY2xhc3M9InN0YXR1cyB7eyBzdW1tYXJ5LmNyX3dp
bl9ld3Muc3RhdGUgfX0ieyUgaWYgc3VtbWFyeS5jcl93aW5fZXdzLnN0YXR1cyAlfQotICAgIG9u
Y2xpY2s9InN0YXR1c0RldGFpbCh7eyBzdW1tYXJ5LmF0dGFjaG1lbnRfaWQgfX0pIgotICAgIHRp
dGxlPSJ7eyBzdW1tYXJ5LmNyX3dpbl9ld3Muc3RhdHVzLmRhdGV8dGltZXNpbmNlIH19IGFnbyJ7
JSBlbmRpZiAlfT4KLSAgY3Itd2luCi08L2Rpdj4KLTxkaXYgY2xhc3M9InN0YXR1cyB7eyBzdW1t
YXJ5LnF0X2V3cy5zdGF0ZSB9fSJ7JSBpZiBzdW1tYXJ5LnF0X2V3cy5zdGF0dXMgJX0KLSAgICBv
bmNsaWNrPSJzdGF0dXNEZXRhaWwoe3sgc3VtbWFyeS5hdHRhY2htZW50X2lkIH19KSIKLSAgICB0
aXRsZT0ie3sgc3VtbWFyeS5xdF9ld3Muc3RhdHVzLmRhdGV8dGltZXNpbmNlIH19IGFnbyJ7JSBl
bmRpZiAlfT4KLSAgcXQKLTwvZGl2PgotPGRpdiBjbGFzcz0ic3RhdHVzIHt7IHN1bW1hcnkuZ3Rr
X2V3cy5zdGF0ZSB9fSJ7JSBpZiBzdW1tYXJ5Lmd0a19ld3Muc3RhdHVzICV9Ci0gICAgb25jbGlj
az0ic3RhdHVzRGV0YWlsKHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAgdGl0bGU9
Int7IHN1bW1hcnkuZ3RrX2V3cy5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlm
ICV9PgotICBndGsKLTwvZGl2PgotPGRpdiBjbGFzcz0ic3RhdHVzIHt7IHN1bW1hcnkubWFjX2V3
cy5zdGF0ZSB9fSJ7JSBpZiBzdW1tYXJ5Lm1hY19ld3Muc3RhdHVzICV9Ci0gICAgb25jbGljaz0i
c3RhdHVzRGV0YWlsKHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAgdGl0bGU9Int7
IHN1bW1hcnkubWFjX2V3cy5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlmICV9
PgotICBtYWMKLTwvZGl2PgotPGRpdiBjbGFzcz0ic3RhdHVzIHt7IHN1bW1hcnkud2luX2V3cy5z
dGF0ZSB9fSJ7JSBpZiBzdW1tYXJ5Lndpbl9ld3Muc3RhdHVzICV9Ci0gICAgb25jbGljaz0ic3Rh
dHVzRGV0YWlsKHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAgdGl0bGU9Int7IHN1
bW1hcnkud2luX2V3cy5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlmICV9Pgot
ICB3aW4KK3slIGZvciBidWJibGUgaW4gYnViYmxlcyAlfQorPGRpdiBjbGFzcz0ic3RhdHVzIHt7
IGJ1YmJsZS5zdGF0ZSB9fSJ7JSBpZiBidWJibGUuc3RhdHVzICV9CisgICAgb25jbGljaz0ic3Rh
dHVzRGV0YWlsKHt7IGJ1YmJsZS5hdHRhY2htZW50X2lkIH19KSIKKyAgICB0aXRsZT0ie3sgYnVi
YmxlLnN0YXR1cy5kYXRlfHRpbWVzaW5jZSB9fSBhZ28ieyUgZW5kaWYgJX0+CisgIHt7IGJ1YmJs
ZS5uYW1lIH19CisgIHslIGlmIGJ1YmJsZS5xdWV1ZV9wb3NpdGlvbiAlfQorICAoI3t7IGJ1YmJs
ZS5xdWV1ZV9wb3NpdGlvbiB9fSkKKyAgeyUgZW5kaWYgJX0KIDwvZGl2PgoreyUgZW5kZm9yICV9
CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1Nl
cnZlci90ZW1wbGF0ZXMvdXBkYXRld29ya2l0ZW1zLmh0bWwgYi9XZWJLaXRUb29scy9RdWV1ZVN0
YXR1c1NlcnZlci90ZW1wbGF0ZXMvdXBkYXRld29ya2l0ZW1zLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjA4
NmZjM2M4MjY4ZjdjN2UzN2VhZjgwODg5NzM5NDZjY2I3NTExOAotLS0gL2Rldi9udWxsCisrKyBi
L1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL3RlbXBsYXRlcy91cGRhdGV3b3JraXRlbXMu
aHRtbApAQCAtMCwwICsxLDggQEAKKzxmb3JtIG5hbWU9InVwZGF0ZV93b3JrX2l0ZW1zIiBlbmN0
eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9InBvc3QiPgorVXBkYXRlIHdvcmsgaXRl
bXMgZm9yIGEgcXVldWU6IDxpbnB1dCBuYW1lPSJxdWV1ZV9uYW1lIj4KKyA8ZGl2PgorICAgICBX
b3JrIEl0ZW1zOgorICAgIDxpbnB1dCBuYW1lPSJ3b3JrX2l0ZW1zIj4KKyA8L2Rpdj4KKyA8ZGl2
PjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJVcGRhdGUgV29yayBJdGVtcyI+PC9kaXY+Cis8
L2Zvcm0+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55965</attachid>
            <date>2010-05-13 05:43:42 -0700</date>
            <delta_ts>2010-05-15 03:42:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38979-20100513054337.patch</filename>
            <type>text/plain</type>
            <size>26597</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyYTFkNTcxNjZiNjI4MmRkM2I4OTJkMmY2OWIwM2JlYjAxNWIzNzg0Li4zZWZiNDE0
YzRjNDhiZDU2MWMzZWE2MWQ5ODQ5YzBiMWRlNjUwZDA3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAK
KzIwMTAtMDUtMTIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc3BsYXkgcXVldWUgcG9zaXRp
b24gaW5zaWRlIEVXUyBidWJibGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zODk3OQorCisgICAgICAgIFRoaXMgZW5kZWQgdXAgYmVpbmcgYSBsb3Qg
b2YgY2xlYW4tdXAgdG8gb3VyIHN0YXR1cyBzZXJ2ZXIgY29kZS4KKworICAgICAgICBBZGRlZCBh
IG5ldyBXb3JrSXRlbXMgbW9kZWwsIGEgZm9ybSB3aXRoIHdoaWNoIHRvIGZpbGwgaXQsCisgICAg
ICAgIGFuZCB0YXVnaHQgdGhlIEF0dGFjaG1lbnQgY2xhc3MgaG93IHRvIGNhbGN1bGF0ZSB0aGUg
Y3VycmVudCBxdWV1ZQorICAgICAgICBwb3N0aW9uIGZvciBhbiBhdHRhY2htZW50IHVzaW5nIHRo
ZSBkYXRhIGluIFdvcmtJdGVtcy4KKworICAgICAgICBJIGFsc28gZmluYWxseSBtYWRlIHN0YXR1
c2J1YmJsZS4qIGFuZCBkYXNoYm9hcmQuKiBub3QgdXNlIGNvcHktcGFzdGUgY29kZS4KKworICAg
ICAgICBUaGUgQXR0YWNobWVudCBjbGFzcyBoYXMgdGhpcyBzdW1tYXJ5KCkgbWV0aG9kIHdoaWNo
IGlzIHZlcnkKKyAgICAgICAgY29udHJvbGxlci92aWV3LWxpa2UgYW5kIGRvZXMgbm90IGJlbG9u
ZyBpbiBhIG1vZGVsIGNsYXNzLgorICAgICAgICBUaGlzIHBhdGNoIGdvdCByaWQgb2YgYWxsIGRp
cmVjdCB1c2VzIG9mIHN1bW1hcnkoKS4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hh
bmRsZXJzL2Rhc2hib2FyZC5weToKKyAgICAgICAgICAtIEJ1aWxkIHJvdyBvYmplY3RzIHRvIGhh
bmQgb2ZmIHRvIHRoZSB2aWV3IGluc3RlYWQgb2YgaGFuZGluZyBvZmYgYQorICAgICAgICAgICAg
c3VtbWFyeSBvYmplY3QgYW5kIGV4cGVjdGluZyB0aGUgdmlldyB0byBwcm9jZXNzIGl0IGRpcmVj
dGx5LgorICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3N0YXR1c2J1YmJsZS5w
eToKKyAgICAgICAgICAtIEJ1aWxkIGJ1YmJsZSBvYmplY3QgYW5kIGhhbmQgdGhlbSBvZmYgdG8g
dGhlIHZpZXcuCisgICAgICAgICogUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRlc3Rh
dHVzLnB5OgorICAgICAgICAgIC0gQ29kZSBjbGVhbnVwLiAgSnVzdCBtb3ZlIHNvbWUgY29kZSBp
bnRvIF9xdWV1ZV9zdGF0dXNfZnJvbV9yZXF1ZXN0CisgICAgICAgICAgICB0byBtYWtlIHRoZSBt
YWluIHB1dCgpIGhhbmRsZXIgZWFzaWVyIHRvIHJlYWQuCisgICAgICAgICogUXVldWVTdGF0dXNT
ZXJ2ZXIvaGFuZGxlcnMvdXBkYXRld29ya2l0ZW1zLnB5OiBBZGRlZC4KKyAgICAgICAgICAtIENv
bnRyb2xsZXIgdG8gaGFuZGxlIHN0b3JpbmcgV29ya0l0ZW1zIG1vZGVsIG9iamVjdHMuCisgICAg
ICAgICogUXVldWVTdGF0dXNTZXJ2ZXIvbWFpbi5weToKKyAgICAgICAgICAtIEFkZCByb3V0ZSBm
b3IgL3VwZGF0ZS13b3JrLWl0ZW1zCisgICAgICAgICogUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwv
YXR0YWNobWVudC5weToKKyAgICAgICAgICAtIEFkZCBuZXcgbWV0aG9kcyB0byByZXBsYWNlIGRp
cmVjdCBzdW1tYXJ5KCkgYWNjZXNzLgorICAgICAgICAgIC0gVGVhY2ggYXR0YWNobWVudCBob3cg
dG8gY2FsY3VsYXRlIHF1ZXVlIHBvc2l0aW9ucyBmcm9tIFdvcmtJdGVtcyBkYXRhLgorICAgICAg
ICAqIFF1ZXVlU3RhdHVzU2VydmVyL21vZGVsL3F1ZXVlcy5weToKKyAgICAgICAgICAtIE1vdmUg
bmFtZV93aXRoX3VuZGVyc2NvcmVzIGhlcmUgZm9yIGVhc2llciByZS11c2UuCisgICAgICAgICog
UXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5OiBBZGRlZC4KKyAgICAgICAgIC0g
TmV3IG1vZGVsIGZvciBzdG9yaW5nIHdoYXQgaXRlbXMgYXJlIGN1cnJlbnRseSBxdWV1ZSBmb3Ig
YW55IGJvdC4KKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvZGFzaGJvYXJk
Lmh0bWw6CisgICAgICAgICAtIEtpbGwgdGhlIGNvcHkvcGFzdGUgY29kZSEKKyAgICAgICAgKiBR
dWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvc3RhdHVzYnViYmxlLmh0bWw6CisgICAgICAgICAt
IEtpbGwgdGhlIGNvcHkvcGFzdGUgY29kZSEKKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci90
ZW1wbGF0ZXMvdXBkYXRld29ya2l0ZW1zLmh0bWw6IEFkZGVkLgorICAgICAgICAgLSBTaW1wbGUg
Zm9ybSBmb3IgdXBkYXRpbmcgYSBxdWV1ZSdzIGN1cnJlbnQgd29yayBpdGVtcy4KKwogMjAxMC0w
NS0xMiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgdHJpdmlhbCBmaXggYWZ0ZXIgcjU5MjU0LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvZGFzaGJvYXJkLnB5IGIvV2ViS2l0VG9vbHMv
UXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvZGFzaGJvYXJkLnB5CmluZGV4IDgwZjMwZWNlMWU4
NWNiNzlhMjFlYmI4MzlmZDQ4ZTkwOTEzYzc0YmQuLmJiYjY1YjhhNjE5ZTQ4Yjg1MGI1ZjU1OTg5
YTg5OGRiNzMwYjFjZDggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVy
L2hhbmRsZXJzL2Rhc2hib2FyZC5weQorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZl
ci9oYW5kbGVycy9kYXNoYm9hcmQucHkKQEAgLTI2LDE2ICsyNiw1NSBAQAogIyAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IG9wZXJhdG9yCisKIGZyb20gZ29vZ2xlLmFwcGVu
Z2luZS5leHQgaW1wb3J0IHdlYmFwcAogZnJvbSBnb29nbGUuYXBwZW5naW5lLmV4dC53ZWJhcHAg
aW1wb3J0IHRlbXBsYXRlCiAKIGZyb20gbW9kZWwuYXR0YWNobWVudCBpbXBvcnQgQXR0YWNobWVu
dAorZnJvbSBtb2RlbC5xdWV1ZXMgaW1wb3J0IHF1ZXVlcworCiAKIGNsYXNzIERhc2hib2FyZCh3
ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgotICAgIGRlZiBnZXQoc2VsZik6Ci0gICAgICAgIGF0dGFj
aG1lbnRzID0gQXR0YWNobWVudC5yZWNlbnQobGltaXQ9MjUpCiAKKyAgICAjIEZJWE1FOiBUaGlz
IGxpc3QgcHJvYmFibHkgYmVsb25ncyBhcyBwYXJ0IG9mIGEgUXVldWUgb2JqZWN0IGluIHF1ZXVl
cy5weQorICAgICMgQXJyYXlzIGFyZSBidWJibGVfbmFtZSwgcXVldWVfbmFtZQorICAgICMgRklY
TUU6IENhbiB0aGlzIGJlIHVuaWZpZWQgd2l0aCBTdGF0dXNCdWJibGUuX3F1ZXVlc190b19kaXNw
bGF5PworICAgIF9xdWV1ZXNfdG9fZGlzcGxheSA9IFsKKyAgICAgICAgWyJTdHlsZSIsICJzdHls
ZS1xdWV1ZSJdLAorICAgICAgICBbIkNyLUxpbnV4IiwgImNocm9taXVtLWV3cyJdLAorICAgICAg
ICBbIkNyLVdpbiIsICJjci13aW4tZXdzIl0sCisgICAgICAgIFsiUXQiLCAicXQtZXdzIl0sCisg
ICAgICAgIFsiR3RrIiwgImd0ay1ld3MiXSwKKyAgICAgICAgWyJNYWMiLCAibWFjLWV3cyJdLAor
ICAgICAgICBbIldpbiIsICJ3aW4tZXdzIl0sCisgICAgICAgIFsiQ29tbWl0IiwgImNvbW1pdC1x
dWV1ZSJdLAorICAgIF0KKyAgICAjIFNwbGl0IHRoZSB6aXBwZWQgbGlzdCBpbnRvIGNvbXBvbmVu
dCBwYXJ0cworICAgIF9oZWFkZXJfbmFtZXMsIF9vcmRlcmVkX3F1ZXVlX25hbWVzID0gemlwKCpf
cXVldWVzX3RvX2Rpc3BsYXkpCisKKyAgICAjIFRoaXMgYXNzZXJ0cyB0aGF0IGFsbCBvZiB0aGUg
cXVldWVzIGxpc3RlZCBhYm92ZSBhcmUgdmFsaWQgcXVldWUgbmFtZXMuCisgICAgYXNzZXJ0KHJl
ZHVjZShvcGVyYXRvci5hbmRfLCBtYXAobGFtYmRhIG5hbWU6IG5hbWUgaW4gcXVldWVzLCBfb3Jk
ZXJlZF9xdWV1ZV9uYW1lcykpKQorCisgICAgZGVmIF9idWlsZF9idWJibGUoc2VsZiwgYXR0YWNo
bWVudCwgcXVldWVfbmFtZSk6CisgICAgICAgIHF1ZXVlX3N0YXR1cyA9IGF0dGFjaG1lbnQuc3Rh
dHVzX2Zvcl9xdWV1ZShxdWV1ZV9uYW1lKQorICAgICAgICBidWJibGUgPSB7CisgICAgICAgICAg
ICAic3RhdHVzX2NsYXNzIjogYXR0YWNobWVudC5zdGF0ZV9mcm9tX3F1ZXVlX3N0YXR1cyhxdWV1
ZV9zdGF0dXMpIGlmIHF1ZXVlX3N0YXR1cyBlbHNlICJub25lIiwKKyAgICAgICAgICAgICJzdGF0
dXNfZGF0ZSI6IHF1ZXVlX3N0YXR1cy5kYXRlIGlmIHF1ZXVlX3N0YXR1cyBlbHNlIE5vbmUsCisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGJ1YmJsZQorCisgICAgZGVmIF9idWlsZF9yb3coc2Vs
ZiwgYXR0YWNobWVudCk6CisgICAgICAgIHJvdyA9IHsKKyAgICAgICAgICAgICJidWdfaWQiOiBh
dHRhY2htZW50LmJ1Z19pZCgpLAorICAgICAgICAgICAgImF0dGFjaG1lbnRfaWQiOiBhdHRhY2ht
ZW50LmlkLAorICAgICAgICAgICAgImJ1YmJsZXMiOiBbc2VsZi5fYnVpbGRfYnViYmxlKGF0dGFj
aG1lbnQsIHF1ZXVlX25hbWUpIGZvciBxdWV1ZV9uYW1lIGluIHNlbGYuX29yZGVyZWRfcXVldWVf
bmFtZXNdLAorICAgICAgICB9CisgICAgICAgIHJldHVybiByb3cKKworICAgIGRlZiBnZXQoc2Vs
Zik6CiAgICAgICAgIHRlbXBsYXRlX3ZhbHVlcyA9IHsKLSAgICAgICAgICAgICJzdW1tYXJpZXMi
IDogW2F0dGFjaG1lbnQuc3VtbWFyeSgpIGZvciBhdHRhY2htZW50IGluIGF0dGFjaG1lbnRzXSwK
KyAgICAgICAgICAgICJoZWFkZXJzIjogc2VsZi5faGVhZGVyX25hbWVzLAorICAgICAgICAgICAg
InJvd3MiOiBbc2VsZi5fYnVpbGRfcm93KGF0dGFjaG1lbnQpIGZvciBhdHRhY2htZW50IGluIEF0
dGFjaG1lbnQucmVjZW50KGxpbWl0PTI1KV0sCiAgICAgICAgIH0KICAgICAgICAgc2VsZi5yZXNw
b25zZS5vdXQud3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0ZXMvZGFzaGJvYXJkLmh0bWwi
LCB0ZW1wbGF0ZV92YWx1ZXMpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNT
ZXJ2ZXIvaGFuZGxlcnMvc3RhdHVzYnViYmxlLnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNT
ZXJ2ZXIvaGFuZGxlcnMvc3RhdHVzYnViYmxlLnB5CmluZGV4IGQ1MjUwOWY1ZDE2MTliZWRkN2Vk
MjUxZjMxZDUyODMxZThlY2IyNDIuLjBlMmI4ZGUzNTVlMThmOGQwNDE0MTljNmIzZTBkNDRjNzBk
ODFiZjQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJz
L3N0YXR1c2J1YmJsZS5weQorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5k
bGVycy9zdGF0dXNidWJibGUucHkKQEAgLTI2LDE3ICsyNiw1MCBAQAogIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
ICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IG9wZXJhdG9yCisKIGZyb20gZ29vZ2xlLmFwcGVuZ2lu
ZS5leHQgaW1wb3J0IHdlYmFwcAogZnJvbSBnb29nbGUuYXBwZW5naW5lLmV4dC53ZWJhcHAgaW1w
b3J0IHRlbXBsYXRlCiAKIGZyb20gbW9kZWwuYXR0YWNobWVudCBpbXBvcnQgQXR0YWNobWVudAor
ZnJvbSBtb2RlbC53b3JraXRlbXMgaW1wb3J0IFdvcmtJdGVtcworZnJvbSBtb2RlbC5xdWV1ZXMg
aW1wb3J0IHF1ZXVlcywgbmFtZV93aXRoX3VuZGVyc2NvcmVzCiAKIAogY2xhc3MgU3RhdHVzQnVi
YmxlKHdlYmFwcC5SZXF1ZXN0SGFuZGxlcik6CisgICAgIyBGSVhNRTogVGhpcyBsaXN0IHByb2Jh
Ymx5IGJlbG9uZ3MgYXMgcGFydCBvZiBhIFF1ZXVlIG9iamVjdCBpbiBxdWV1ZXMucHkKKyAgICAj
IEFycmF5cyBhcmUgYnViYmxlX25hbWUsIHF1ZXVlX25hbWUKKyAgICBfcXVldWVzX3RvX2Rpc3Bs
YXkgPSBbCisgICAgICAgIFsic3R5bGUiLCAic3R5bGUtcXVldWUiXSwKKyAgICAgICAgWyJjci1s
aW51eCIsICJjaHJvbWl1bS1ld3MiXSwKKyAgICAgICAgWyJjci13aW4iLCAiY3Itd2luLWV3cyJd
LAorICAgICAgICBbImd0ayIsICJndGstZXdzIl0sCisgICAgICAgIFsicXQiLCAicXQtZXdzIl0s
CisgICAgICAgIFsibWFjIiwgIm1hYy1ld3MiXSwKKyAgICAgICAgWyJ3aW4iLCAid2luLWV3cyJd
LAorICAgIF0KKworICAgICMgVGhpcyBhc3NlcnRzIHRoYXQgYWxsIG9mIHRoZSBxdWV1ZXMgbGlz
dGVkIGFib3ZlIGFyZSB2YWxpZCBxdWV1ZSBuYW1lcy4KKyAgICBhc3NlcnQocmVkdWNlKG9wZXJh
dG9yLmFuZF8sIG1hcChsYW1iZGEgbmFtZV9wYWlyOiBuYW1lX3BhaXJbMV0gaW4gcXVldWVzLCBf
cXVldWVzX3RvX2Rpc3BsYXkpKSkKKworICAgIGRlZiBfYnVpbGRfYnViYmxlKHNlbGYsIHF1ZXVl
X25hbWVfcGFpciwgYXR0YWNobWVudCk6CisgICAgICAgIGJ1YmJsZV9uYW1lID0gcXVldWVfbmFt
ZV9wYWlyWzBdCisgICAgICAgIHF1ZXVlX25hbWUgPSBxdWV1ZV9uYW1lX3BhaXJbMV0KKworICAg
ICAgICBxdWV1ZV9zdGF0dXMgPSBhdHRhY2htZW50LnN0YXR1c19mb3JfcXVldWUocXVldWVfbmFt
ZSkKKyAgICAgICAgYnViYmxlID0geworICAgICAgICAgICAgIm5hbWUiOiBidWJibGVfbmFtZSwK
KyAgICAgICAgICAgICJhdHRhY2htZW50X2lkIjogYXR0YWNobWVudC5pZCwKKyAgICAgICAgICAg
ICJxdWV1ZV9wb3NpdGlvbiI6IGF0dGFjaG1lbnQucG9zaXRpb25faW5fcXVldWUocXVldWVfbmFt
ZSksCisgICAgICAgICAgICAic3RhdGUiOiBhdHRhY2htZW50LnN0YXRlX2Zyb21fcXVldWVfc3Rh
dHVzKHF1ZXVlX3N0YXR1cykgaWYgcXVldWVfc3RhdHVzIGVsc2UgIm5vbmUiLAorICAgICAgICAg
ICAgInN0YXR1cyI6IHF1ZXVlX3N0YXR1cywKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gYnVi
YmxlCisKICAgICBkZWYgZ2V0KHNlbGYsIGF0dGFjaG1lbnRfaWQpOgogICAgICAgICBhdHRhY2ht
ZW50ID0gQXR0YWNobWVudChpbnQoYXR0YWNobWVudF9pZCkpCi0KKyAgICAgICAgYnViYmxlcyA9
IFtzZWxmLl9idWlsZF9idWJibGUobmFtZV9wYWlyLCBhdHRhY2htZW50KSBmb3IgbmFtZV9wYWly
IGluIHNlbGYuX3F1ZXVlc190b19kaXNwbGF5XQogICAgICAgICB0ZW1wbGF0ZV92YWx1ZXMgPSB7
Ci0gICAgICAgICAgICAic3VtbWFyeSIgOiBhdHRhY2htZW50LnN1bW1hcnkoKQorICAgICAgICAg
ICAgImJ1YmJsZXMiOiBidWJibGVzLAogICAgICAgICB9CiAgICAgICAgIHNlbGYucmVzcG9uc2Uu
b3V0LndyaXRlKHRlbXBsYXRlLnJlbmRlcigidGVtcGxhdGVzL3N0YXR1c2J1YmJsZS5odG1sIiwg
dGVtcGxhdGVfdmFsdWVzKSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2Vy
dmVyL2hhbmRsZXJzL3VwZGF0ZXN0YXR1cy5weSBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2Vy
dmVyL2hhbmRsZXJzL3VwZGF0ZXN0YXR1cy5weQppbmRleCA1MGQ0YjZlN2IxODQ5MDFhYTcyMTcz
YjBmNzI3OGQ5ZDYyODEwZjZmLi41YTkzZGJkNzA4ZTNiMjEwMWYwMjFhOWI4YzgzYmY4NTgwOWVi
MTkwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91
cGRhdGVzdGF0dXMucHkKKysrIGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxl
cnMvdXBkYXRlc3RhdHVzLnB5CkBAIC0zOCw5ICszOCwxMCBAQCBjbGFzcyBVcGRhdGVTdGF0dXMo
VXBkYXRlQmFzZSk6CiAgICAgZGVmIGdldChzZWxmKToKICAgICAgICAgc2VsZi5yZXNwb25zZS5v
dXQud3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0ZXMvdXBkYXRlc3RhdHVzLmh0bWwiLCBO
b25lKSkKIAotICAgIGRlZiBwb3N0KHNlbGYpOgorICAgIGRlZiBfcXVldWVfc3RhdHVzX2Zyb21f
cmVxdWVzdChzZWxmKToKICAgICAgICAgcXVldWVfc3RhdHVzID0gUXVldWVTdGF0dXMoKQogCisg
ICAgICAgICMgRklYTUU6IEkgdGhpbmsgdGhpcyBjYW4gYmUgcmVtb3ZlZCwgbm8gb25lIHVzZXMg
aXQuCiAgICAgICAgIGlmIHVzZXJzLmdldF9jdXJyZW50X3VzZXIoKToKICAgICAgICAgICAgIHF1
ZXVlX3N0YXR1cy5hdXRob3IgPSB1c2Vycy5nZXRfY3VycmVudF91c2VyKCkKIApAQCAtNTMsNiAr
NTQsMTAgQEAgY2xhc3MgVXBkYXRlU3RhdHVzKFVwZGF0ZUJhc2UpOgogICAgICAgICBxdWV1ZV9z
dGF0dXMubWVzc2FnZSA9IHNlbGYucmVxdWVzdC5nZXQoInN0YXR1cyIpCiAgICAgICAgIHJlc3Vs
dHNfZmlsZSA9IHNlbGYucmVxdWVzdC5nZXQoInJlc3VsdHNfZmlsZSIpCiAgICAgICAgIHF1ZXVl
X3N0YXR1cy5yZXN1bHRzX2ZpbGUgPSBkYi5CbG9iKHN0cihyZXN1bHRzX2ZpbGUpKQorICAgICAg
ICByZXR1cm4gcXVldWVfc3RhdHVzCisKKyAgICBkZWYgcG9zdChzZWxmKToKKyAgICAgICAgcXVl
dWVfc3RhdHVzID0gc2VsZi5fcXVldWVfc3RhdHVzX2Zyb21fcmVxdWVzdCgpCiAgICAgICAgIHF1
ZXVlX3N0YXR1cy5wdXQoKQotICAgICAgICBBdHRhY2htZW50LmRpcnR5KHBhdGNoX2lkKQorICAg
ICAgICBBdHRhY2htZW50LmRpcnR5KHF1ZXVlX3N0YXR1cy5hY3RpdmVfcGF0Y2hfaWQpCiAgICAg
ICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHF1ZXVlX3N0YXR1cy5rZXkoKS5pZCgpKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRld29y
a2l0ZW1zLnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRl
d29ya2l0ZW1zLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1OGU3NDM0NGM0N2U5NDYwNjMzOGY1MDY3OTkxNDdh
OTc3ZWNiN2YKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZl
ci9oYW5kbGVycy91cGRhdGV3b3JraXRlbXMucHkKQEAgLTAsMCArMSw2NCBAQAorIyBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKK2Zyb20gZ29vZ2xlLmFwcGVuZ2luZS5leHQgaW1wb3J0IHdlYmFwcCwgZGIKK2Zy
b20gZ29vZ2xlLmFwcGVuZ2luZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0ZQorCitmcm9tIGhh
bmRsZXJzLnVwZGF0ZWJhc2UgaW1wb3J0IFVwZGF0ZUJhc2UKK2Zyb20gbW9kZWwucXVldWVzIGlt
cG9ydCBxdWV1ZXMKK2Zyb20gbW9kZWwud29ya2l0ZW1zIGltcG9ydCBXb3JrSXRlbXMKKworZnJv
bSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKworCitjbGFzcyBVcGRhdGVXb3JrSXRlbXMoVXBk
YXRlQmFzZSk6CisgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQu
d3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0ZXMvdXBkYXRld29ya2l0ZW1zLmh0bWwiLCBO
b25lKSkKKworICAgIGRlZiBfd29ya19pdGVtc19mb3JfcXVldWUoc2VsZiwgcXVldWVfbmFtZSk6
CisgICAgICAgIGlmIHF1ZXVlX25hbWUgbm90IGluIHF1ZXVlczoKKyAgICAgICAgICAgIHNlbGYu
cmVzcG9uc2Uuc2V0X3N0YXR1cyg1MDApCisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgd29y
a19pdGVtcyA9IFdvcmtJdGVtcy5hbGwoKS5maWx0ZXIoInF1ZXVlX25hbWUgPSIsIHF1ZXVlX25h
bWUpLmdldCgpCisgICAgICAgIGlmIG5vdCB3b3JrX2l0ZW1zOgorICAgICAgICAgICAgd29ya19p
dGVtcyA9IFdvcmtJdGVtcygpCisgICAgICAgICAgICB3b3JrX2l0ZW1zLnF1ZXVlX25hbWUgPSBx
dWV1ZV9uYW1lCisgICAgICAgIHJldHVybiB3b3JrX2l0ZW1zCisKKyAgICBkZWYgX3dvcmtfaXRl
bXNfZnJvbV9yZXF1ZXN0KHNlbGYpOgorICAgICAgICBxdWV1ZV9uYW1lID0gc2VsZi5yZXF1ZXN0
LmdldCgicXVldWVfbmFtZSIpCisgICAgICAgIHdvcmtfaXRlbXMgPSBzZWxmLl93b3JrX2l0ZW1z
X2Zvcl9xdWV1ZShxdWV1ZV9uYW1lKQorICAgICAgICBpdGVtc19zdHJpbmcgPSBzZWxmLnJlcXVl
c3QuZ2V0KCJ3b3JrX2l0ZW1zIikKKyAgICAgICAgIyBPdXIgcGFyc2luZyBjb3VsZCBiZSBtdWNo
IG1vcmUgcm9idXN0LgorICAgICAgICB3b3JrX2l0ZW1zLml0ZW1faWRzID0gbWFwKGludCwgaXRl
bXNfc3RyaW5nLnNwbGl0KCIgIikpCisgICAgICAgIHdvcmtfaXRlbXMuZGF0ZSA9IGRhdGV0aW1l
Lm5vdygpCisgICAgICAgIHJldHVybiB3b3JrX2l0ZW1zCisKKyAgICBkZWYgcG9zdChzZWxmKToK
KyAgICAgICAgd29ya19pdGVtcyA9IHNlbGYuX3dvcmtfaXRlbXNfZnJvbV9yZXF1ZXN0KCkKKyAg
ICAgICAgd29ya19pdGVtcy5wdXQoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0
dXNTZXJ2ZXIvbWFpbi5weSBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21haW4ucHkK
aW5kZXggOGJmYTdlOTgyM2IwYWY5NjgyODhlM2FmM2IzZmQxMzkwMGRjYmMwZS4uZmI2ZmM0YmY3
NGYyNWQ3NTZlZmUyYmU2ZTM5ZGM4ZDA4ZDZmNDgzYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
UXVldWVTdGF0dXNTZXJ2ZXIvbWFpbi5weQorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1Nl
cnZlci9tYWluLnB5CkBAIC00Myw2ICs0Myw4IEBAIGZyb20gaGFuZGxlcnMuc3RhdHVzYnViYmxl
IGltcG9ydCBTdGF0dXNCdWJibGUKIGZyb20gaGFuZGxlcnMuc3ZucmV2aXNpb24gaW1wb3J0IFNW
TlJldmlzaW9uCiBmcm9tIGhhbmRsZXJzLnVwZGF0ZXN0YXR1cyBpbXBvcnQgVXBkYXRlU3RhdHVz
CiBmcm9tIGhhbmRsZXJzLnVwZGF0ZXN2bnJldmlzaW9uIGltcG9ydCBVcGRhdGVTVk5SZXZpc2lv
bgorZnJvbSBoYW5kbGVycy51cGRhdGV3b3JraXRlbXMgaW1wb3J0IFVwZGF0ZVdvcmtJdGVtcwor
CiAKIHdlYmFwcC50ZW1wbGF0ZS5yZWdpc3Rlcl90ZW1wbGF0ZV9saWJyYXJ5KCdmaWx0ZXJzLndl
YmtpdF9leHRyYXMnKQogCkBAIC01Nyw2ICs1OSw3IEBAIHJvdXRlcyA9IFsKICAgICAocicvc3Zu
LXJldmlzaW9uLyguKiknLCBTVk5SZXZpc2lvbiksCiAgICAgKHInL3F1ZXVlLXN0YXR1cy8oLiop
JywgUmVjZW50U3RhdHVzKSwKICAgICAoJy91cGRhdGUtc3RhdHVzJywgVXBkYXRlU3RhdHVzKSwK
KyAgICAoJy91cGRhdGUtd29yay1pdGVtcycsIFVwZGF0ZVdvcmtJdGVtcyksCiAgICAgKCcvdXBk
YXRlLXN2bi1yZXZpc2lvbicsIFVwZGF0ZVNWTlJldmlzaW9uKSwKIF0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYXR0YWNobWVudC5weSBiL1dlYktp
dFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2F0dGFjaG1lbnQucHkKaW5kZXggNzUxZjc4
ZTdjMTRiOWRkZGQwZjAxNTZlZDMyZDA3OWYyNjQ2NjBhNy4uOWFlNTllOGVkYzE1ZjJkMGE5OGQ4
NzAzZGFjNjBmZDVhNTcxMGViZSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNT
ZXJ2ZXIvbW9kZWwvYXR0YWNobWVudC5weQorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1Nl
cnZlci9tb2RlbC9hdHRhY2htZW50LnB5CkBAIC0zMCw4ICszMCw5IEBAIGltcG9ydCByZQogCiBm
cm9tIGdvb2dsZS5hcHBlbmdpbmUuYXBpIGltcG9ydCBtZW1jYWNoZQogCi1mcm9tIG1vZGVsLnF1
ZXVlcyBpbXBvcnQgcXVldWVzCitmcm9tIG1vZGVsLnF1ZXVlcyBpbXBvcnQgcXVldWVzLCBuYW1l
X3dpdGhfdW5kZXJzY29yZXMKIGZyb20gbW9kZWwucXVldWVzdGF0dXMgaW1wb3J0IFF1ZXVlU3Rh
dHVzCitmcm9tIG1vZGVsLndvcmtpdGVtcyBpbXBvcnQgV29ya0l0ZW1zCiAKIAogY2xhc3MgQXR0
YWNobWVudChvYmplY3QpOgpAQCAtNjAsNiArNjEsNyBAQCBjbGFzcyBBdHRhY2htZW50KG9iamVj
dCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGF0dGFjaG1lbnRfaWQpOgogICAgICAgICBzZWxm
LmlkID0gYXR0YWNobWVudF9pZAogICAgICAgICBzZWxmLl9zdW1tYXJ5ID0gTm9uZQorICAgICAg
ICBzZWxmLl9jYWNoZWRfcXVldWVfcG9zaXRpb25zID0gTm9uZQogCiAgICAgZGVmIHN1bW1hcnko
c2VsZik6CiAgICAgICAgIGlmIHNlbGYuX3N1bW1hcnk6CkBAIC03MSwxMSArNzMsNyBAQCBjbGFz
cyBBdHRhY2htZW50KG9iamVjdCk6CiAgICAgICAgIG1lbWNhY2hlLnNldChzdHIoc2VsZi5pZCks
IHNlbGYuX3N1bW1hcnksIG5hbWVzcGFjZT0iYXR0YWNobWVudC1zdW1tYXJ5IikKICAgICAgICAg
cmV0dXJuIHNlbGYuX3N1bW1hcnkKIAotICAgIGRlZiBfZGFzaF90b191bmRlcnNjb3JlKHNlbGYs
IGRhc2hlZF9uYW1lKToKLSAgICAgICAgcmVnZXhwID0gcmUuY29tcGlsZSgiLSIpCi0gICAgICAg
IHJldHVybiByZWdleHAuc3ViKCJfIiwgZGFzaGVkX25hbWUpCi0KLSAgICBkZWYgX3N0YXRlX2Zy
b21fc3RhdHVzKHNlbGYsIHN0YXR1cyk6CisgICAgZGVmIHN0YXRlX2Zyb21fcXVldWVfc3RhdHVz
KHNlbGYsIHN0YXR1cyk6CiAgICAgICAgIHRhYmxlID0gewogICAgICAgICAgICAgIlBhc3MiIDog
InBhc3MiLAogICAgICAgICAgICAgIkZhaWwiIDogImZhaWwiLApAQCAtODksNiArODcsNDAgQEAg
Y2xhc3MgQXR0YWNobWVudChvYmplY3QpOgogICAgICAgICAgICAgcmV0dXJuICJwZW5kaW5nIgog
ICAgICAgICByZXR1cm4gTm9uZQogCisgICAgZGVmIHBvc2l0aW9uX2luX3F1ZXVlKHNlbGYsIHF1
ZXVlX25hbWUpOgorICAgICAgICByZXR1cm4gc2VsZi5fcXVldWVfcG9zaXRpb25zKCkuZ2V0KHF1
ZXVlX25hbWUpCisKKyAgICBkZWYgc3RhdHVzX2Zvcl9xdWV1ZShzZWxmLCBxdWV1ZV9uYW1lKToK
KyAgICAgICAgdW5kZXJzY29yZV9xdWV1ZV9uYW1lID0gbmFtZV93aXRoX3VuZGVyc2NvcmVzKHF1
ZXVlX25hbWUpCisgICAgICAgICMgc3VtbWFyeSgpIGlzIGEgaG9ycmlibGUgQVBJIGFuZCBzaG91
bGQgYmUga2lsbGVkLgorICAgICAgICBxdWV1ZV9zdW1tYXJ5ID0gc2VsZi5zdW1tYXJ5KCkuZ2V0
KHVuZGVyc2NvcmVfcXVldWVfbmFtZSkKKyAgICAgICAgaWYgbm90IHF1ZXVlX3N1bW1hcnk6Cisg
ICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gcXVldWVfc3VtbWFyeS5nZXQo
InN0YXR1cyIpCisKKyAgICBkZWYgYnVnX2lkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5z
dW1tYXJ5KCkuZ2V0KCJidWdfaWQiKQorCisgICAgZGVmIF9xdWV1ZV9wb3NpdGlvbnMoc2VsZik6
CisgICAgICAgIGlmIHNlbGYuX2NhY2hlZF9xdWV1ZV9wb3NpdGlvbnM6CisgICAgICAgICAgICBy
ZXR1cm4gc2VsZi5fY2FjaGVkX3F1ZXVlX3Bvc2l0aW9ucworICAgICAgICAjIEZJWE1FOiBTaG91
bGQgd2UgYmUgbWVtLWNhY2hpbmcgdGhpcz8KKyAgICAgICAgc2VsZi5fY2FjaGVkX3F1ZXVlX3Bv
c2l0aW9ucyA9IHNlbGYuX2NhbGN1bGF0ZV9xdWV1ZV9wb3NpdGlvbnMoKQorICAgICAgICByZXR1
cm4gc2VsZi5fY2FjaGVkX3F1ZXVlX3Bvc2l0aW9ucworCisgICAgZGVmIF9jYWxjdWxhdGVfcXVl
dWVfcG9zaXRpb25zKHNlbGYpOgorICAgICAgICBxdWV1ZV9wb3NpdGlvbnMgPSB7fQorICAgICAg
ICBmb3Igd29ya19pdGVtcyBpbiBXb3JrSXRlbXMuYWxsKCkuZmV0Y2gobGltaXQ9bGVuKHF1ZXVl
cykpOgorICAgICAgICAgICAgcXVldWVfbmFtZSA9IHN0cih3b3JrX2l0ZW1zLnF1ZXVlX25hbWUp
CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcG9zaXRpb24gPSB3b3JrX2l0ZW1z
Lml0ZW1faWRzLmluZGV4KHNlbGYuaWQpCisgICAgICAgICAgICAgICAgIyBEaXNwbGF5IDEtYmFz
ZWQgaW5kZWNpZXMgdG8gdGhlIHVzZXIuCisgICAgICAgICAgICAgICAgcXVldWVfcG9zaXRpb25z
W3F1ZXVlX25hbWVdID0gcG9zaXRpb24gKyAxCisgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJv
ciwgZToKKyAgICAgICAgICAgICAgICBxdWV1ZV9wb3NpdGlvbnNbcXVldWVfbmFtZV0gPSBOb25l
CisgICAgICAgIHJldHVybiBxdWV1ZV9wb3NpdGlvbnMKKworICAgICMgRklYTUU6IFRoaXMgaXMg
Y29udHJvbGxlci92aWV3IGNvZGUgYW5kIGRvZXMgbm90IGJlbG9uZyBpbiBhIG1vZGVsLgogICAg
IGRlZiBfZmV0Y2hfc3VtbWFyeShzZWxmKToKICAgICAgICAgc3VtbWFyeSA9IHsgImF0dGFjaG1l
bnRfaWQiIDogc2VsZi5pZCB9CiAKQEAgLTEwMiw4ICsxMzQsOCBAQCBjbGFzcyBBdHRhY2htZW50
KG9iamVjdCk6CiAgICAgICAgICAgICBzdW1tYXJ5W3F1ZXVlXSA9IE5vbmUKICAgICAgICAgICAg
IHN0YXR1cyA9IFF1ZXVlU3RhdHVzLmFsbCgpLmZpbHRlcigncXVldWVfbmFtZSA9JywgcXVldWUp
LmZpbHRlcignYWN0aXZlX3BhdGNoX2lkID0nLCBzZWxmLmlkKS5vcmRlcignLWRhdGUnKS5nZXQo
KQogICAgICAgICAgICAgaWYgc3RhdHVzOgotICAgICAgICAgICAgICAgIHN1bW1hcnlbc2VsZi5f
ZGFzaF90b191bmRlcnNjb3JlKHF1ZXVlKV0gPSB7Ci0gICAgICAgICAgICAgICAgICAgICJzdGF0
ZSIgOiBzZWxmLl9zdGF0ZV9mcm9tX3N0YXR1cyhzdGF0dXMpLAotICAgICAgICAgICAgICAgICAg
ICAic3RhdHVzIiA6IHN0YXR1cywKKyAgICAgICAgICAgICAgICBzdW1tYXJ5W25hbWVfd2l0aF91
bmRlcnNjb3JlcyhxdWV1ZSldID0geworICAgICAgICAgICAgICAgICAgICAic3RhdGUiOiBzZWxm
LnN0YXRlX2Zyb21fcXVldWVfc3RhdHVzKHN0YXR1cyksCisgICAgICAgICAgICAgICAgICAgICJz
dGF0dXMiOiBzdGF0dXMsCiAgICAgICAgICAgICAgICAgfQogICAgICAgICByZXR1cm4gc3VtbWFy
eQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvcXVldWVz
LnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvcXVldWVzLnB5CmluZGV4
IDU3NDYzZGU2ZDQzYmE4MTYwMThlNDJhY2JlZGU5NDVlYjI4ZDk5OWIuLjQ2ZjJmMTU4ZjU0OTQ3
ODUxZjIyZWViMzViYjZjNmNmM2E0YWFjYTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1F1ZXVl
U3RhdHVzU2VydmVyL21vZGVsL3F1ZXVlcy5weQorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1
c1NlcnZlci9tb2RlbC9xdWV1ZXMucHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTI2LDYgKzI2LDkgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAKK2ltcG9ydCByZQorCisKIHF1ZXVlcyA9IFsKICAgICAiY29tbWl0LXF1ZXVlIiwKICAg
ICAic3R5bGUtcXVldWUiLApAQCAtMzYsMyArMzksOCBAQCBxdWV1ZXMgPSBbCiAgICAgIm1hYy1l
d3MiLAogICAgICJ3aW4tZXdzIiwKIF0KKworCitkZWYgbmFtZV93aXRoX3VuZGVyc2NvcmVzKGRh
c2hlZF9uYW1lKToKKyAgICByZWdleHAgPSByZS5jb21waWxlKCItIikKKyAgICByZXR1cm4gcmVn
ZXhwLnN1YigiXyIsIGRhc2hlZF9uYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNT
ZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlYTU5Y2JkYzUzYzlhN2M2ZDg5
NmE4ZGM4NjFkNWMyZjUzZTE1MWIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9RdWV1
ZVN0YXR1c1NlcnZlci9tb2RlbC93b3JraXRlbXMucHkKQEAgLTAsMCArMSwzNSBAQAorIyBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
IyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKK2Zyb20gZ29vZ2xlLmFwcGVuZ2luZS5leHQgaW1wb3J0IGRiCisKKworY2xh
c3MgV29ya0l0ZW1zKGRiLk1vZGVsKToKKyAgICBxdWV1ZV9uYW1lID0gZGIuU3RyaW5nUHJvcGVy
dHkoKQorICAgIGl0ZW1faWRzID0gZGIuTGlzdFByb3BlcnR5KGludCkKKyAgICBkYXRlID0gZGIu
RGF0ZVRpbWVQcm9wZXJ0eShhdXRvX25vd19hZGQ9VHJ1ZSkKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL3RlbXBsYXRlcy9kYXNoYm9hcmQuaHRtbCBiL1dlYktpdFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL3RlbXBsYXRlcy9kYXNoYm9hcmQuaHRtbAppbmRleCAxNGI3
ZWRlNDk4M2Y4N2Y4MTM4YzUwMDQ2OTRhYzcxNjY2MWU4ZWU2Li5jNWMyMzU5Y2FmMTYyN2M1MTk3
NDBkYTliMTdlYmNiYmVkZjRkOWY3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1
c1NlcnZlci90ZW1wbGF0ZXMvZGFzaGJvYXJkLmh0bWwKKysrIGIvV2ViS2l0VG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL2Rhc2hib2FyZC5odG1sCkBAIC0xNyw1NyArMTcsMjcgQEAg
ZnVuY3Rpb24gc3RhdHVzRGV0YWlsKHBhdGNoX2lkKSB7CiAgICAgPHRyPgogICAgICAgPHRoPkJ1
ZzwvdGg+CiAgICAgICA8dGg+QXR0YWNobWVudDwvdGg+Ci0gICAgICA8dGg+U3R5bGU8L3RoPgot
ICAgICAgPHRoPkNyLUxpbnV4PC90aD4KLSAgICAgIDx0aD5Dci1XaW48L3RoPgotICAgICAgPHRo
PlF0PC90aD4KLSAgICAgIDx0aD5NYWM8L3RoPgotICAgICAgPHRoPldpbjwvdGg+Ci0gICAgICA8
dGg+R3RrPC90aD4KLSAgICAgIDx0aD5Db21taXQ8L3RoPgorICAgICAgeyUgZm9yIGhlYWRlciBp
biBoZWFkZXJzICV9CisgICAgICA8dGg+e3sgaGVhZGVyIH19PC90aD4KKyAgICAgIHslIGVuZGZv
ciAlfQogICAgIDwvdHI+CiAgIDwvdGhlYWQ+Ci0gIDx0Ym9keT57JSBmb3Igc3VtbWFyeSBpbiBz
dW1tYXJpZXMgJX0KKyAgPHRib2R5PnslIGZvciByb3cgaW4gcm93cyAlfQogICAgIDx0cj4KICAg
ICAgIDx0ZCBjbGFzcz0ic3RhdHVzIj4KLSAgICAgICAge3sgc3VtbWFyeS5idWdfaWR8Zm9yY2Vf
ZXNjYXBlfHdlYmtpdF9idWdfaWR8c2FmZSB9fQorICAgICAgICB7eyByb3cuYnVnX2lkfGZvcmNl
X2VzY2FwZXx3ZWJraXRfYnVnX2lkfHNhZmUgfX0KICAgICAgIDwvdGQ+CiAgICAgICA8dGQgY2xh
c3M9InN0YXR1cyI+Ci0gICAgICAgIHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZHxmb3JjZV9lc2Nh
cGV8d2Via2l0X2F0dGFjaG1lbnRfaWR8c2FmZSB9fQorICAgICAgICB7eyByb3cuYXR0YWNobWVu
dF9pZHxmb3JjZV9lc2NhcGV8d2Via2l0X2F0dGFjaG1lbnRfaWR8c2FmZSB9fQogICAgICAgPC90
ZD4KLSAgICAgIDwhLS0gRklYTUU6IEZpbmQgc29tZSB3YXkgdG8gcmVtb3ZlIHRoaXMgY29weS1h
bmQtcGFzdGUgY29kZSEgLS0+Ci0gICAgICA8dGQgY2xhc3M9InN0YXR1cyB7eyBzdW1tYXJ5LnN0
eWxlX3F1ZXVlLnN0YXRlIH19InslIGlmIHN1bW1hcnkuc3R5bGVfcXVldWUuc3RhdHVzICV9Ci0g
ICAgICAgICAgb25jbGljaz0ic3RhdHVzRGV0YWlsKHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9
fSkiCi0gICAgICAgICAgdGl0bGU9Int7IHN1bW1hcnkuc3R5bGVfcXVldWUuc3RhdHVzLmRhdGV8
dGltZXNpbmNlIH19InslIGVuZGlmICV9PgotICAgICAgPC90ZD4KLSAgICAgIDx0ZCBjbGFzcz0i
c3RhdHVzIHt7IHN1bW1hcnkuY2hyb21pdW1fZXdzLnN0YXRlIH19InslIGlmIHN1bW1hcnkuY2hy
b21pdW1fZXdzLnN0YXR1cyAlfQotICAgICAgICAgIG9uY2xpY2s9InN0YXR1c0RldGFpbCh7eyBz
dW1tYXJ5LmF0dGFjaG1lbnRfaWQgfX0pIgotICAgICAgICAgIHRpdGxlPSJ7eyBzdW1tYXJ5LmNo
cm9taXVtX2V3cy5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlmICV9PgotICAg
ICAgPC90ZD4KLSAgICAgIDx0ZCBjbGFzcz0ic3RhdHVzIHt7IHN1bW1hcnkuY3Jfd2luX2V3cy5z
dGF0ZSB9fSJ7JSBpZiBzdW1tYXJ5LmNyX3dpbl9ld3Muc3RhdHVzICV9Ci0gICAgICAgICAgb25j
bGljaz0ic3RhdHVzRGV0YWlsKHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAgICAg
ICAgdGl0bGU9Int7IHN1bW1hcnkuY3Jfd2luX2V3cy5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0g
YWdvInslIGVuZGlmICV9PgotICAgICAgPC90ZD4KLSAgICAgIDx0ZCBjbGFzcz0ic3RhdHVzIHt7
IHN1bW1hcnkucXRfZXdzLnN0YXRlIH19InslIGlmIHN1bW1hcnkucXRfZXdzLnN0YXR1cyAlfQot
ICAgICAgICAgIG9uY2xpY2s9InN0YXR1c0RldGFpbCh7eyBzdW1tYXJ5LmF0dGFjaG1lbnRfaWQg
fX0pIgotICAgICAgICAgIHRpdGxlPSJ7eyBzdW1tYXJ5LnF0X2V3cy5zdGF0dXMuZGF0ZXx0aW1l
c2luY2UgfX0gYWdvInslIGVuZGlmICV9PgotICAgICAgPC90ZD4KLSAgICAgIDx0ZCBjbGFzcz0i
c3RhdHVzIHt7IHN1bW1hcnkubWFjX2V3cy5zdGF0ZSB9fSJ7JSBpZiBzdW1tYXJ5Lm1hY19ld3Mu
c3RhdHVzICV9Ci0gICAgICAgICAgb25jbGljaz0ic3RhdHVzRGV0YWlsKHt7IHN1bW1hcnkuYXR0
YWNobWVudF9pZCB9fSkiCi0gICAgICAgICAgdGl0bGU9Int7IHN1bW1hcnkubWFjX2V3cy5zdGF0
dXMuZGF0ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlmICV9PgotICAgICAgPC90ZD4KLSAgICAg
IDx0ZCBjbGFzcz0ic3RhdHVzIHt7IHN1bW1hcnkud2luX2V3cy5zdGF0ZSB9fSJ7JSBpZiBzdW1t
YXJ5Lndpbl9ld3Muc3RhdHVzICV9Ci0gICAgICAgICAgb25jbGljaz0ic3RhdHVzRGV0YWlsKHt7
IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAgICAgICAgdGl0bGU9Int7IHN1bW1hcnku
d2luX2V3cy5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlmICV9PgotICAgICAg
PC90ZD4KLSAgICAgIDx0ZCBjbGFzcz0ic3RhdHVzIHt7IHN1bW1hcnkuZ3RrX2V3cy5zdGF0ZSB9
fSJ7JSBpZiBzdW1tYXJ5Lmd0a19ld3Muc3RhdHVzICV9Ci0gICAgICAgICAgb25jbGljaz0ic3Rh
dHVzRGV0YWlsKHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAgICAgICAgdGl0bGU9
Int7IHN1bW1hcnkuZ3RrX2V3cy5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlm
ICV9PgotICAgICAgPC90ZD4KLSAgICAgIDx0ZCBjbGFzcz0ic3RhdHVzIHt7IHN1bW1hcnkuY29t
bWl0X3F1ZXVlLnN0YXRlIH19InslIGlmIHN1bW1hcnkuY29tbWl0X3F1ZXVlLnN0YXR1cyAlfQot
ICAgICAgICAgIG9uY2xpY2s9InN0YXR1c0RldGFpbCh7eyBzdW1tYXJ5LmF0dGFjaG1lbnRfaWQg
fX0pIgotICAgICAgICAgIHRpdGxlPSJ7eyBzdW1tYXJ5LmNvbW1pdF9xdWV1ZS5zdGF0dXMuZGF0
ZXx0aW1lc2luY2UgfX0gYWdvInslIGVuZGlmICV9PgorICAgICAgeyUgZm9yIGJ1YmJsZSBpbiBy
b3cuYnViYmxlcyAlfQorICAgICAgPHRkIGNsYXNzPSJzdGF0dXMge3sgYnViYmxlLnN0YXR1c19j
bGFzcyB9fSIKKyAgICAgICAgeyUgaWYgYnViYmxlLnN0YXR1cyAlfQorICAgICAgICAgIG9uY2xp
Y2s9InN0YXR1c0RldGFpbCh7eyByb3cuYXR0YWNobWVudF9pZCB9fSkiCisgICAgICAgICAgdGl0
bGU9Int7IGJ1YmJsZS5zdGF0dXNfZGF0ZXx0aW1lc2luY2UgfX0iCisgICAgICAgIHslIGVuZGlm
ICV9PgogICAgICAgPC90ZD4KKyAgICAgIHslIGVuZGZvciAlfQogICAgIDwvdHI+eyUgZW5kZm9y
ICV9CiAgIDwvdGJvZHk+CiA8L3RhYmxlPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3N0YXR1c2J1YmJsZS5odG1sIGIvV2ViS2l0VG9vbHMvUXVl
dWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3N0YXR1c2J1YmJsZS5odG1sCmluZGV4IGM2ZTIxMzRl
ZWI3YmJhOGI1NGQyY2Q0MzRkMDQwMWE0ODU3ZGQ1ZDIuLjMxMDI3NDE3YmJmNWNmODU1MWQ5NDY4
NDY3Yjk4ZjJiNzQ3NDM0N2QgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2Vy
dmVyL3RlbXBsYXRlcy9zdGF0dXNidWJibGUuaHRtbAorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0
YXR1c1NlcnZlci90ZW1wbGF0ZXMvc3RhdHVzYnViYmxlLmh0bWwKQEAgLTE4LDI2ICsxOCwyNiBA
QCBib2R5IHsKICAgICBib3JkZXI6IDFweCBzb2xpZCAjQUFBOwogICAgIGJhY2tncm91bmQtY29s
b3I6IHdoaXRlOwogICAgIGZvbnQtc2l6ZTogMTFweDsKKyAgICBjdXJzb3I6IHBvaW50ZXI7Cit9
Cisubm9uZSB7CisgICAgY3Vyc29yOiBhdXRvOwogfQogLnBhc3MgewogICAgIGJhY2tncm91bmQt
Y29sb3I6ICM4RkRGNUY7CiAgICAgYm9yZGVyOiAxcHggc29saWQgIzRGODUzMDsKLSAgICBjdXJz
b3I6IHBvaW50ZXI7CiB9CiAuZmFpbCB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5ODA4MDsK
ICAgICBib3JkZXI6IDFweCBzb2xpZCAjQTc3MjcyOwotICAgIGN1cnNvcjogcG9pbnRlcjsKIH0K
IC5wZW5kaW5nIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQzZDOwogICAgIGJvcmRlcjog
MXB4IHNvbGlkICNDNUM1NkQ7Ci0gICAgY3Vyc29yOiBwb2ludGVyOwogfQogLmVycm9yIHsKICAg
YmFja2dyb3VuZC1jb2xvcjogI0UwQjBGRjsKICAgYm9yZGVyOiAxcHggc29saWQgI0FDQTBCMzsK
LSAgY3Vyc29yOiBwb2ludGVyOwogfQogPC9zdHlsZT4KIDxzY3JpcHQ+CkBAIC00Nyw0MSArNDcs
MTUgQEAgZnVuY3Rpb24gc3RhdHVzRGV0YWlsKHBhdGNoX2lkKSB7CiA8L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgotPCEtLSBGSVhNRTogRmluZCBzb21lIHdheSB0byByZW1vdmUgdGhpcyBjb3B5
LWFuZC1wYXN0ZSBjb2RlISAtLT4KLTxkaXYgY2xhc3M9InN0YXR1cyB7eyBzdW1tYXJ5LnN0eWxl
X3F1ZXVlLnN0YXRlIH19InslIGlmIHN1bW1hcnkuc3R5bGVfcXVldWUuc3RhdHVzICV9Ci0gICAg
b25jbGljaz0ic3RhdHVzRGV0YWlsKHt7IHN1bW1hcnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAg
dGl0bGU9Int7IHN1bW1hcnkuc3R5bGVfcXVldWUuc3RhdHVzLmRhdGV8dGltZXNpbmNlIH19IGFn
byJ7JSBlbmRpZiAlfT4KLSAgc3R5bGUKLTwvZGl2PgotPGRpdiBjbGFzcz0ic3RhdHVzIHt7IHN1
bW1hcnkuY2hyb21pdW1fZXdzLnN0YXRlIH19InslIGlmIHN1bW1hcnkuY2hyb21pdW1fZXdzLnN0
YXR1cyAlfQotICAgIG9uY2xpY2s9InN0YXR1c0RldGFpbCh7eyBzdW1tYXJ5LmF0dGFjaG1lbnRf
aWQgfX0pIgotICAgIHRpdGxlPSJ7eyBzdW1tYXJ5LmNocm9taXVtX2V3cy5zdGF0dXMuZGF0ZXx0
aW1lc2luY2UgfX0gYWdvInslIGVuZGlmICV9PgotICBjci1saW51eAotPC9kaXY+Ci08ZGl2IGNs
YXNzPSJzdGF0dXMge3sgc3VtbWFyeS5jcl93aW5fZXdzLnN0YXRlIH19InslIGlmIHN1bW1hcnku
Y3Jfd2luX2V3cy5zdGF0dXMgJX0KLSAgICBvbmNsaWNrPSJzdGF0dXNEZXRhaWwoe3sgc3VtbWFy
eS5hdHRhY2htZW50X2lkIH19KSIKLSAgICB0aXRsZT0ie3sgc3VtbWFyeS5jcl93aW5fZXdzLnN0
YXR1cy5kYXRlfHRpbWVzaW5jZSB9fSBhZ28ieyUgZW5kaWYgJX0+Ci0gIGNyLXdpbgotPC9kaXY+
Ci08ZGl2IGNsYXNzPSJzdGF0dXMge3sgc3VtbWFyeS5xdF9ld3Muc3RhdGUgfX0ieyUgaWYgc3Vt
bWFyeS5xdF9ld3Muc3RhdHVzICV9Ci0gICAgb25jbGljaz0ic3RhdHVzRGV0YWlsKHt7IHN1bW1h
cnkuYXR0YWNobWVudF9pZCB9fSkiCi0gICAgdGl0bGU9Int7IHN1bW1hcnkucXRfZXdzLnN0YXR1
cy5kYXRlfHRpbWVzaW5jZSB9fSBhZ28ieyUgZW5kaWYgJX0+Ci0gIHF0Ci08L2Rpdj4KLTxkaXYg
Y2xhc3M9InN0YXR1cyB7eyBzdW1tYXJ5Lmd0a19ld3Muc3RhdGUgfX0ieyUgaWYgc3VtbWFyeS5n
dGtfZXdzLnN0YXR1cyAlfQotICAgIG9uY2xpY2s9InN0YXR1c0RldGFpbCh7eyBzdW1tYXJ5LmF0
dGFjaG1lbnRfaWQgfX0pIgotICAgIHRpdGxlPSJ7eyBzdW1tYXJ5Lmd0a19ld3Muc3RhdHVzLmRh
dGV8dGltZXNpbmNlIH19IGFnbyJ7JSBlbmRpZiAlfT4KLSAgZ3RrCi08L2Rpdj4KLTxkaXYgY2xh
c3M9InN0YXR1cyB7eyBzdW1tYXJ5Lm1hY19ld3Muc3RhdGUgfX0ieyUgaWYgc3VtbWFyeS5tYWNf
ZXdzLnN0YXR1cyAlfQotICAgIG9uY2xpY2s9InN0YXR1c0RldGFpbCh7eyBzdW1tYXJ5LmF0dGFj
aG1lbnRfaWQgfX0pIgotICAgIHRpdGxlPSJ7eyBzdW1tYXJ5Lm1hY19ld3Muc3RhdHVzLmRhdGV8
dGltZXNpbmNlIH19IGFnbyJ7JSBlbmRpZiAlfT4KLSAgbWFjCi08L2Rpdj4KLTxkaXYgY2xhc3M9
InN0YXR1cyB7eyBzdW1tYXJ5Lndpbl9ld3Muc3RhdGUgfX0ieyUgaWYgc3VtbWFyeS53aW5fZXdz
LnN0YXR1cyAlfQotICAgIG9uY2xpY2s9InN0YXR1c0RldGFpbCh7eyBzdW1tYXJ5LmF0dGFjaG1l
bnRfaWQgfX0pIgotICAgIHRpdGxlPSJ7eyBzdW1tYXJ5Lndpbl9ld3Muc3RhdHVzLmRhdGV8dGlt
ZXNpbmNlIH19IGFnbyJ7JSBlbmRpZiAlfT4KLSAgd2luCit7JSBmb3IgYnViYmxlIGluIGJ1YmJs
ZXMgJX0KKzxkaXYgY2xhc3M9InN0YXR1cyB7eyBidWJibGUuc3RhdGUgfX0ieyUgaWYgYnViYmxl
LnN0YXR1cyAlfQorICAgIG9uY2xpY2s9InN0YXR1c0RldGFpbCh7eyBidWJibGUuYXR0YWNobWVu
dF9pZCB9fSkiCisgICAgdGl0bGU9Int7IGJ1YmJsZS5zdGF0dXMuZGF0ZXx0aW1lc2luY2UgfX0g
YWdvInslIGVuZGlmICV9PgorICB7eyBidWJibGUubmFtZSB9fQorICB7JSBpZiBidWJibGUucXVl
dWVfcG9zaXRpb24gJX0KKyAgKCN7eyBidWJibGUucXVldWVfcG9zaXRpb24gfX0pCisgIHslIGVu
ZGlmICV9CiA8L2Rpdj4KK3slIGVuZGZvciAlfQogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3VwZGF0ZXdvcmtpdGVt
cy5odG1sIGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3VwZGF0ZXdv
cmtpdGVtcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwODZmYzNjODI2OGY3YzdlMzdlYWY4MDg4OTczOTQ2
Y2NiNzUxMTgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZl
ci90ZW1wbGF0ZXMvdXBkYXRld29ya2l0ZW1zLmh0bWwKQEAgLTAsMCArMSw4IEBACis8Zm9ybSBu
YW1lPSJ1cGRhdGVfd29ya19pdGVtcyIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0
aG9kPSJwb3N0Ij4KK1VwZGF0ZSB3b3JrIGl0ZW1zIGZvciBhIHF1ZXVlOiA8aW5wdXQgbmFtZT0i
cXVldWVfbmFtZSI+CisgPGRpdj4KKyAgICAgV29yayBJdGVtczoKKyAgICA8aW5wdXQgbmFtZT0i
d29ya19pdGVtcyI+CisgPC9kaXY+CisgPGRpdj48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0i
VXBkYXRlIFdvcmsgSXRlbXMiPjwvZGl2PgorPC9mb3JtPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>