<?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>163238</bug_id>
          
          <creation_ts>2016-10-10 14:02:46 -0700</creation_ts>
          <short_desc>[Modern Media Controls] Buttons container</short_desc>
          <delta_ts>2016-10-11 05:55:07 -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>Media</component>
          <version>Safari 10</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1238515</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-10-10 14:02:46 -0700</bug_when>
    <thetext>Media controls need a way to lay a group of buttons out together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238527</commentid>
    <comment_count>1</comment_count>
      <attachid>291160</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-10-10 14:11:58 -0700</bug_when>
    <thetext>Created attachment 291160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238540</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-10-10 14:30:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/28701864&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238812</commentid>
    <comment_count>3</comment_count>
      <attachid>291160</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-10-11 04:31:07 -0700</bug_when>
    <thetext>Comment on attachment 291160
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=291160&amp;action=review

&gt; Source/WebCore/ChangeLog:30
&gt; +        * Modules/modern-media-controls/controls/buttons-container.css: Copied from Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js.
&gt; +        (.buttons-container):
&gt; +        * Modules/modern-media-controls/controls/buttons-container.js: Copied from Source/WebCore/Modules/modern-media-controls/controls/airplay-button.js.

Remove this Copied from junk.

&gt; Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js:64
&gt; +            button.x = x;
&gt; +            x += button.width + this.margin;

I don&apos;t think you should do work like this inside a call to filter, even though it is possible. I think you should treat the parameter as read only. A better way would be to call this.children.forEach after the filter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238816</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-10-11 05:18:06 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 291160 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=291160&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/modern-media-controls/controls/buttons-container.js:64
&gt; &gt; +            button.x = x;
&gt; &gt; +            x += button.width + this.margin;
&gt; 
&gt; I don&apos;t think you should do work like this inside a call to filter, even
&gt; though it is possible. I think you should treat the parameter as read only.
&gt; A better way would be to call this.children.forEach after the filter.

Cool, I&apos;ll have a children array that I&apos;ll populate during a forEach and then assign to the node&apos;s children property, so there&apos;s a single iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238817</commentid>
    <comment_count>5</comment_count>
      <attachid>291248</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-10-11 05:21:40 -0700</bug_when>
    <thetext>Created attachment 291248
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238821</commentid>
    <comment_count>6</comment_count>
      <attachid>291248</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-11 05:55:04 -0700</bug_when>
    <thetext>Comment on attachment 291248
Patch for landing

Clearing flags on attachment: 291248

Committed r207111: &lt;http://trac.webkit.org/changeset/207111&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238822</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-11 05:55:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291160</attachid>
            <date>2016-10-10 14:11:58 -0700</date>
            <delta_ts>2016-10-11 05:21:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163238-20161010230836.patch</filename>
            <type>text/plain</type>
            <size>23165</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3MDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VkMzkyMWIwZDQzMTg5
MWMxMDQ4MjUxZjQ5NjU3Zjk4YjY2YzAzOS4uNjM3MTE2YWE0MzRkOGJlNjE0NWEyZDRhYjVjMzhm
MzJiZTFlYzgzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE2LTEwLTEwICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW01vZGVybiBNZWRpYSBD
b250cm9sc10gQnV0dG9ucyBjb250YWluZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MzIzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlIGFkZCBhIG5ldyBCdXR0b25zQ29udGFpbmVyIGNsYXNzIHdo
aWNoIGNvbnRhaW5zIGEgZ3JvdXAgb2YgQnV0dG9uIG9iamVjdHMKKyAgICAgICAgYW5kIHBvc2l0
aW9ucyB0aGVtIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYWRkaW5nIGFuZCBtYXJnaW4gYmV0d2Vl
biBidXR0b25zLgorICAgICAgICBCdXR0b25zIHRoYXQgYXJlbid0IGVuYWJsZWQgb3IgbWFya2Vk
IGFzIGRyb3BwZWQgYXJlIG5vdCBhZGRlZCB0byB0aGUgdHJlZSBvZgorICAgICAgICBMYXlvdXRO
b2RlcywgYW5kIHRodXMgdGhlIERPTS4KKworICAgICAgICBBZGRpdGlvbmFsbHksIHdlIGZpeCBh
IGZldyBpc3N1ZXMgd2UgZm91bmQgd2hpbGUgd29ya2luZyBvbiB0ZXN0cyBmb3IgQnV0dG9uc0Nv
bnRhaW5lcgorICAgICAgICB3aGVyZSBMYXlvdXROb2RlcyB3b3VsZCBzY2hlZHVsZSBsYXlvdXQg
Y2FsbGJhY2tzIGV2ZW4gd2hlbiB0aGV5IHdvdWxkIG5vdCBkbyBhbnkgd29yaworICAgICAgICBk
dXJpbmcgdGhlIGxheW91dCBjYWxsYmFjayBkdWUgdG8gbm90IHJlc2V0dGluZyB0aGUgYG5lZWRz
TGF5b3V0YCBmbGFnIHRvIGZhbHNlIGFuZAorICAgICAgICByZW1vdmluZyBhbnkgc2NoZWR1bGVk
IHRhc2tzIHdoZW4gYSBsYXlvdXQgd2FzIGNvbXBsZXRlZC4KKworICAgICAgICBGaW5hbGx5LCB3
ZSBmaXggYSBmZXcgc3R5bGUgaXNzdWVzIHRoYXQgaGFkIG5vdCBiZWVuIGNhdWdodCBzbyBmYXIg
YW5kIGFuIHVudXNlZAorICAgICAgICBgc2l6ZWAgcHJvcGVydHkgb24gSWNvbkJ1dHRvbi4KKwor
ICAgICAgICBUZXN0czogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFp
bmVyL2J1dHRvbnMtY29udGFpbmVyLWJ1dHRvbnMtcHJvcGVydHkuaHRtbAorICAgICAgICAgICAg
ICAgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMt
Y29udGFpbmVyLWNvbnN0cnVjdG9yLmh0bWwKKyAgICAgICAgICAgICAgIG1lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1sYXlvdXQu
aHRtbAorCisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
YWlycGxheS1idXR0b24uanM6CisgICAgICAgIChBaXJwbGF5QnV0dG9uLnByb3RvdHlwZS5zZXQg
b24pOgorICAgICAgICAoQWlycGxheUJ1dHRvbik6CisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIuY3NzOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9h
aXJwbGF5LWJ1dHRvbi5qcy4KKyAgICAgICAgKC5idXR0b25zLWNvbnRhaW5lcik6CisgICAgICAg
ICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9ucy1jb250YWlu
ZXIuanM6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL2FpcnBsYXktYnV0dG9uLmpzLgorICAgICAgICAoQnV0dG9uc0NvbnRh
aW5lci5wcm90b3R5cGUuZ2V0IGJ1dHRvbnMpOgorICAgICAgICAoQnV0dG9uc0NvbnRhaW5lci5w
cm90b3R5cGUuc2V0IGJ1dHRvbnMpOgorICAgICAgICAoQnV0dG9uc0NvbnRhaW5lci5wcm90b3R5
cGUubGF5b3V0KToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9pY29uLWJ1dHRvbi5qczoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qczoKKyAgICAgICAgKExheW91dE5vZGUucHJvdG90
eXBlLnNldCBuZWVkc0xheW91dCk6CisgICAgICAgIChMYXlvdXROb2RlLnByb3RvdHlwZS5tYXJr
RGlydHlQcm9wZXJ0eSk6CisgICAgICAgIChMYXlvdXROb2RlLnByb3RvdHlwZS5fbWFya05vZGVN
YW5pcHVsYXRpb24pOgorICAgICAgICAoTGF5b3V0Tm9kZS5wcm90b3R5cGUuX3VwZGF0ZURpcnR5
U3RhdGUpOgorICAgICAgICAocGVyZm9ybVNjaGVkdWxlZExheW91dCk6CisgICAgICAgIChlbGVt
ZW50RnJvbVN0cmluZyk6CisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvc2NoZWR1bGVyLmpzOgorICAgICAgICAoY29uc3Quc2NoZWR1bGVyLm5ldy5wcm90
b3R5cGUudW5zY2hlZHVsZUxheW91dCk6CisKIDIwMTYtMTAtMTAgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTWVzc2FnZUV2ZW50IHRvIHN0b3AgdXNp
bmcgbGVnYWN5IFtDb25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50XQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYWlycGxheS1i
dXR0b24uanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9haXJwbGF5LWJ1dHRvbi5qcwppbmRleCBiZWMyNzA1Y2Y3N2JjZDMzNGU2MzQxNjdk
OWUzY2IxOGEwNjY3ZDlmLi5hMzczNDRiMzM5YWIxOWRmMDM3NGYxNDU2MGJiYWExN2VlZmEzYmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5qcwpAQCAtMzcs
NyArMzcsOCBAQCBjbGFzcyBBaXJwbGF5QnV0dG9uIGV4dGVuZHMgSWNvbkJ1dHRvbgogCiAgICAg
Ly8gUHVibGljCiAKLSAgICBzZXQgb24oZmxhZykgeworICAgIHNldCBvbihmbGFnKQorICAgIHsK
ICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoIm9uIiwgZmxhZyk7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5jc3MK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjM0NjliOGYzNTNjODQwOTZiMmExNTkwYTQ3ZjhiM2VjYmQwMTExMwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL2NvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyLmNzcwpAQCAtMCwwICsxLDI5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLmJ1dHRvbnMtY29udGFp
bmVyIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgaGVpZ2h0OiAxMDAlOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvYnV0dG9ucy1jb250YWluZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jMWUyZTE3Y2EyMDgzYjkzMzRlZTIzY2I1NzQ0MjFkMDM0MTA0MzNkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvYnV0dG9ucy1jb250YWluZXIuanMKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2NsYXNzIEJ1dHRvbnNDb250YWluZXIgZXh0
ZW5kcyBMYXlvdXROb2RlCit7CisKKyAgICBjb25zdHJ1Y3Rvcih7IGJ1dHRvbnMgPSBbXSwgcGFk
ZGluZyA9IDAsIG1hcmdpbiA9IDAsIGNzc0NsYXNzTmFtZSA9ICIiIH0gPSB7fSkKKyAgICB7Cisg
ICAgICAgIHN1cGVyKGA8ZGl2IGNsYXNzPSJidXR0b25zLWNvbnRhaW5lciAke2Nzc0NsYXNzTmFt
ZX0iPmApOworCisgICAgICAgIHRoaXMubWFyZ2luID0gbWFyZ2luOworICAgICAgICB0aGlzLnBh
ZGRpbmcgPSBwYWRkaW5nOworICAgICAgICB0aGlzLmJ1dHRvbnMgPSBidXR0b25zOworICAgIH0K
KworICAgIC8vIFB1YmxpYworCisgICAgZ2V0IGJ1dHRvbnMoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHRoaXMuX2J1dHRvbnM7CisgICAgfQorCisgICAgc2V0IGJ1dHRvbnMoYnV0dG9ucykKKyAg
ICB7CisgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShidXR0b25zKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICB0aGlzLl9idXR0b25zID0gYnV0dG9uczsKKyAgICAgICAgdGhpcy5u
ZWVkc0xheW91dCA9IHRydWU7CisgICAgfQorCisgICAgbGF5b3V0KCkKKyAgICB7CisgICAgICAg
IHN1cGVyLmxheW91dCgpOworCisgICAgICAgIGxldCB4ID0gdGhpcy5wYWRkaW5nOworCisgICAg
ICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl9idXR0b25zLmZpbHRlcihidXR0b24gPT4geworICAg
ICAgICAgICAgaWYgKCFidXR0b24uZW5hYmxlZCB8fCBidXR0b24uZHJvcHBlZCkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBidXR0b24ueCA9IHg7CisgICAgICAg
ICAgICB4ICs9IGJ1dHRvbi53aWR0aCArIHRoaXMubWFyZ2luOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIH0pOworCisgICAgICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCkK
KyAgICAgICAgICAgIHRoaXMud2lkdGggPSB4IC0gdGhpcy5tYXJnaW4gKyB0aGlzLnBhZGRpbmc7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMud2lkdGggPSB0aGlzLnBhZGRpbmcgKiAy
OworICAgIH0KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvaWNvbi1idXR0b24uanMgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pY29uLWJ1dHRvbi5qcwppbmRl
eCBiOTM0YmUxMTBhZDU1NGFiNGMzOWNmMGQwZGI4NmNmMTUzZmFmMzNkLi4wYjQwMzI3NmY2NGVk
OWI4OTAxMGQxNmViOGI5MjNmZTc3MzM4ODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pY29uLWJ1dHRvbi5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9p
Y29uLWJ1dHRvbi5qcwpAQCAtMzksOCArMzksNiBAQCBjbGFzcyBJY29uQnV0dG9uIGV4dGVuZHMg
QnV0dG9uCiAKICAgICAgICAgaWYgKCEhaWNvbk5hbWUpCiAgICAgICAgICAgICB0aGlzLmljb25O
YW1lID0gaWNvbk5hbWU7Ci0KLSAgICAgICAgdGhpcy5zaXplID0geyB3aWR0aDogMCwgaGVpZ2h0
OiAwIH07CiAgICAgfQogCiAgICAgLy8gUHVibGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qcyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xh
eW91dC1ub2RlLmpzCmluZGV4IDUwNDA0MWI5ZTU5ZDRlNTE2Mjc2NzgwODQ4ZmY5MzExODk1NDdl
MGYuLjg1ZmI4MzlkNTE1MDYyYmZmMDhjNWYyYWIyYTg0YzA3ZGNiYTZhMGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xh
eW91dC1ub2RlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL2xheW91dC1ub2RlLmpzCkBAIC05NSw3ICs5NSw3IEBAIGNsYXNzIExh
eW91dE5vZGUKICAgICAgICAgaWYgKHRoaXMubmVlZHNMYXlvdXQgPT09IGZsYWcpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQgPSB0cnVlOworICAgICAg
ICB0aGlzLl9uZWVkc0xheW91dCA9IGZsYWc7CiAgICAgICAgIHRoaXMuX3VwZGF0ZURpcnR5U3Rh
dGUoKTsKICAgICB9CiAKQEAgLTE2Nyw3ICsxNjcsOCBAQCBjbGFzcyBMYXlvdXROb2RlCiAgICAg
ICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50LnJlbW92ZUNoaWxkKHRoaXMpOwogICAgIH0KIAot
ICAgIG1hcmtEaXJ0eVByb3BlcnR5KHByb3BlcnR5TmFtZSkgeworICAgIG1hcmtEaXJ0eVByb3Bl
cnR5KHByb3BlcnR5TmFtZSkKKyAgICB7CiAgICAgICAgIGNvbnN0IGhhZFByb3BlcnR5ID0gdGhp
cy5fZGlydHlQcm9wZXJ0aWVzLmhhcyhwcm9wZXJ0eU5hbWUpOwogICAgICAgICB0aGlzLl9kaXJ0
eVByb3BlcnRpZXMuYWRkKHByb3BlcnR5TmFtZSk7CiAKQEAgLTIxNywxNyArMjE4LDIyIEBAIGNs
YXNzIExheW91dE5vZGUKIAogICAgIC8vIFByaXZhdGUKIAotICAgIF9tYXJrTm9kZU1hbmlwdWxh
dGlvbihtYW5pcHVsYXRpb24pIHsKKyAgICBfbWFya05vZGVNYW5pcHVsYXRpb24obWFuaXB1bGF0
aW9uKQorICAgIHsKICAgICAgICAgdGhpcy5fcGVuZGluZ0RPTU1hbmlwdWxhdGlvbiA9IG1hbmlw
dWxhdGlvbjsKICAgICAgICAgdGhpcy5fdXBkYXRlRGlydHlTdGF0ZSgpOwogICAgIH0KIAotICAg
IF91cGRhdGVEaXJ0eVN0YXRlKCkgeworICAgIF91cGRhdGVEaXJ0eVN0YXRlKCkKKyAgICB7CiAg
ICAgICAgIGlmICh0aGlzLm5lZWRzTGF5b3V0KSB7CiAgICAgICAgICAgICBkaXJ0eU5vZGVzLmFk
ZCh0aGlzKTsKICAgICAgICAgICAgIHNjaGVkdWxlci5zY2hlZHVsZUxheW91dChwZXJmb3JtU2No
ZWR1bGVkTGF5b3V0KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBkaXJ0eU5vZGVzLmRl
bGV0ZShub2RlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGRpcnR5Tm9kZXMuZGVs
ZXRlKHRoaXMpOworICAgICAgICAgICAgaWYgKGRpcnR5Tm9kZXMuc2l6ZSA9PT0gMCkKKyAgICAg
ICAgICAgICAgICBzY2hlZHVsZXIudW5zY2hlZHVsZUxheW91dChwZXJmb3JtU2NoZWR1bGVkTGF5
b3V0KTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIF91cGRhdGVDaGlsZHJlbigpCkBAIC0yNTUs
MTUgKzI2MSwyMSBAQCBMYXlvdXROb2RlLkRPTU1hbmlwdWxhdGlvbiA9IHsKICAgICBBZGRpdGlv
bjogMgogfTsKIAotZnVuY3Rpb24gcGVyZm9ybVNjaGVkdWxlZExheW91dCgpIHsKLSAgICBkaXJ0
eU5vZGVzLmZvckVhY2gobm9kZSA9PiBub2RlLmxheW91dCgpKTsKK2Z1bmN0aW9uIHBlcmZvcm1T
Y2hlZHVsZWRMYXlvdXQoKQoreworICAgIGRpcnR5Tm9kZXMuZm9yRWFjaChub2RlID0+IHsKKyAg
ICAgICAgbm9kZS5uZWVkc0xheW91dCA9IGZhbHNlOworICAgICAgICBub2RlLmxheW91dCgpCisg
ICAgfSk7CiAgICAgZGlydHlOb2Rlcy5jbGVhcigpOworICAgIHNjaGVkdWxlci51bnNjaGVkdWxl
TGF5b3V0KHBlcmZvcm1TY2hlZHVsZWRMYXlvdXQpOwogCiAgICAgbm9kZXNSZXF1aXJpbmdDaGls
ZHJlblVwZGF0ZS5mb3JFYWNoKG5vZGUgPT4gbm9kZS5fdXBkYXRlQ2hpbGRyZW4oKSk7CiAgICAg
bm9kZXNSZXF1aXJpbmdDaGlsZHJlblVwZGF0ZS5jbGVhcigpOwogfQogCi1mdW5jdGlvbiBlbGVt
ZW50RnJvbVN0cmluZyhlbGVtZW50U3RyaW5nKSB7CitmdW5jdGlvbiBlbGVtZW50RnJvbVN0cmlu
ZyhlbGVtZW50U3RyaW5nKQorewogICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKICAgICBlbGVtZW50LmlubmVySFRNTCA9IGVsZW1lbnRTdHJpbmc7CiAg
ICAgcmV0dXJuIGVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9zY2hlZHVsZXIu
anMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy9zY2hlZHVsZXIuanMKaW5kZXggOTdkMjAwZGU1M2NmN2U2NGIyYjM0MTZmZTM5MmM4MThlNGFh
OTY4Ny4uNDc1YzA5NWRkZmMzYzJiZTBiNDFhNGIxZGJkY2JkOTY5NzcxMjU1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
c2NoZWR1bGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3NjaGVkdWxlci5qcwpAQCAtMTksNiArMTksMTQgQEAgY29uc3Qgc2No
ZWR1bGVyID0gbmV3IGNsYXNzCiAgICAgICAgIHRoaXMuX3JlcXVlc3RGcmFtZUlmTmVlZGVkKCk7
CiAgICAgfQogCisgICAgdW5zY2hlZHVsZUxheW91dChjYWxsYmFjaykKKyAgICB7CisgICAgICAg
IGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICJmdW5jdGlvbiIpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgdGhpcy5fbGF5b3V0Q2FsbGJhY2tzLmRlbGV0ZShjYWxsYmFjayk7CisgICAg
fQorCiAgICAgLy8gUHJpdmF0ZQogCiAgICAgX3JlcXVlc3RGcmFtZUlmTmVlZGVkKCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBiOWIzNmE2YzdmNzFmOGRmNDA0ZWQ2MmRiNGRiYmZjMGI3OWUzYmM0Li45NTc1MjY4MjVlNmFh
ZmM5YzA0NGU4Nzg3MDNmNjVlYjEzZGQ0MDAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYt
MTAtMTAgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9k
ZXJuIE1lZGlhIENvbnRyb2xzXSBCdXR0b25zIGNvbnRhaW5lcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzMjM4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIHRlc3RzIGZvciB0aGUgbmV3IEJ1
dHRvbnNDb250YWluZXIgY2xhc3MuCisKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWluZXItYnV0dG9ucy1wcm9wZXJ0
eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1idXR0b25zLXByb3BlcnR5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0
b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNv
bnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9u
cy1jb250YWluZXItbGF5b3V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFpbmVy
LWxheW91dC5odG1sOiBBZGRlZC4KKwogMjAxNi0xMC0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBNZXNzYWdlRXZlbnQgdG8gc3RvcCB1c2luZyBs
ZWdhY3kgW0NvbnN0cnVjdG9yVGVtcGxhdGU9RXZlbnRdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1j
b250YWluZXItYnV0dG9ucy1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWlu
ZXItYnV0dG9ucy1wcm9wZXJ0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE5M2U2MzVmZjEy
MmYyY2ZkNDYxYzA3MDQ0MzY5MjlmMDgzOGYzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25z
LWNvbnRhaW5lci1idXR0b25zLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBA
CitUZXN0aW5nIEJ1dHRvbnNDb250YWluZXIgYnV0dG9ucyBwcm9wZXJ0eS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGFpbmVyLmJ1dHRvbnMubGVuZ3RoIGlzIDMK
K1BBU1MgY29udGFpbmVyLmNoaWxkcmVuLmxlbmd0aCBpcyAzCitQQVNTIGNvbnRhaW5lci5idXR0
b25zIGlzIGNvbnRhaW5lci5jaGlsZHJlbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1idXR0
b25zLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWluZXItYnV0dG9ucy1wcm9wZXJ0eS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJhYTY0N2JmN2U2NDY3OGU0NzRjODMzODY2MmZiYzRkYzk5Y2VkNzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWluZXItYnV0dG9ucy1wcm9wZXJ0eS5o
dG1sCkBAIC0wLDAgKzEsMzMgQEAKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vLi4vU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvYnV0dG9uLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5jc3MiIHR5cGU9
InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3NjaGVk
dWxlci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9sYXlvdXQtbm9kZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtaXRlbS5qcyIgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b24uanMiIHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9ucy1j
b250YWluZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZGVzY3JpcHRpb24oIlRlc3RpbmcgPGNv
ZGU+QnV0dG9uc0NvbnRhaW5lcjwvY29kZT4gYnV0dG9ucyBwcm9wZXJ0eS4iKTsKKword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitjb25zdCBjb250YWluZXIgPSBuZXcgQnV0dG9uc0Nv
bnRhaW5lcih7CisgICAgbWFyZ2luOiAxMCwKKyAgICBwYWRkaW5nOiAyMAorfSk7CisKK2NvbnRh
aW5lci5idXR0b25zID0gW25ldyBCdXR0b24sIG5ldyBCdXR0b24sIG5ldyBCdXR0b25dOworCitz
Y2hlZHVsZXIuZnJhbWVEaWRGaXJlID0gZnVuY3Rpb24oKQoreworICAgIHNob3VsZEJlKCJjb250
YWluZXIuYnV0dG9ucy5sZW5ndGgiLCAiMyIpOworICAgIHNob3VsZEJlKCJjb250YWluZXIuY2hp
bGRyZW4ubGVuZ3RoIiwgIjMiKTsKKyAgICBzaG91bGRCZSgiY29udGFpbmVyLmJ1dHRvbnMiLCAi
Y29udGFpbmVyLmNoaWxkcmVuIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1jb25zdHJ1Y3Rv
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
YnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWluZXItY29uc3RydWN0b3ItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ1YTQwMjJlMWRkNDE3OTgzZDliNDIxMjk0ZjAwYzg1NTA2OTE0NDYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWluZXItY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3RpbmcgdGhlIEJ1dHRvbnNDb250YWluZXIgY29u
c3RydWN0b3IuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRlZmF1bHRD
b250YWluZXIuZWxlbWVudC5sb2NhbE5hbWUgaXMgImRpdiIKK1BBU1MgZGVmYXVsdENvbnRhaW5l
ci5lbGVtZW50LmNsYXNzTmFtZS50cmltKCkgaXMgImJ1dHRvbnMtY29udGFpbmVyIgorUEFTUyBk
ZWZhdWx0Q29udGFpbmVyLm1hcmdpbiBpcyAwCitQQVNTIGRlZmF1bHRDb250YWluZXIucGFkZGlu
ZyBpcyAwCitQQVNTIGRlZmF1bHRDb250YWluZXIuYnV0dG9ucyBpcyBbXQorUEFTUyBjb250YWlu
ZXJXaXRoUGFyYW1ldGVycy5lbGVtZW50LmxvY2FsTmFtZSBpcyAiZGl2IgorUEFTUyBjb250YWlu
ZXJXaXRoUGFyYW1ldGVycy5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYnV0dG9ucy1jb250
YWluZXInKSBpcyB0cnVlCitQQVNTIGNvbnRhaW5lcldpdGhQYXJhbWV0ZXJzLmVsZW1lbnQuY2xh
c3NMaXN0LmNvbnRhaW5zKCdmb28nKSBpcyB0cnVlCitQQVNTIGNvbnRhaW5lcldpdGhQYXJhbWV0
ZXJzLm1hcmdpbiBpcyAxMAorUEFTUyBjb250YWluZXJXaXRoUGFyYW1ldGVycy5wYWRkaW5nIGlz
IDIwCitQQVNTIGNvbnRhaW5lcldpdGhQYXJhbWV0ZXJzLmJ1dHRvbnMgaXMgYnV0dG9ucworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRh
aW5lci9idXR0b25zLWNvbnRhaW5lci1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFp
bmVyLWNvbnN0cnVjdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ5ZmNlYTMxOWUwNmU1OGRjZjU5MDhj
YWVlMjgxYmY4M2ZhMjEyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1j
b25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvYnV0dG9uLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4i
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNvbnRhaW5l
ci5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL3NjaGVkdWxlci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtaXRlbS5qcyIgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b24u
anMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvYnV0dG9ucy1jb250YWluZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+
Cis8Ym9keT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZGVzY3JpcHRpb24o
IlRlc3RpbmcgdGhlIDxjb2RlPkJ1dHRvbnNDb250YWluZXI8L2NvZGU+IGNvbnN0cnVjdG9yLiIp
OworCitjb25zdCBkZWZhdWx0Q29udGFpbmVyID0gbmV3IEJ1dHRvbnNDb250YWluZXI7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRlZmF1bHRDb250YWluZXIuZWxlbWVudC5sb2NhbE5hbWUiLCAi
ZGl2Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRlZmF1bHRDb250YWluZXIuZWxlbWVudC5j
bGFzc05hbWUudHJpbSgpIiwgImJ1dHRvbnMtY29udGFpbmVyIik7CitzaG91bGRCZSgiZGVmYXVs
dENvbnRhaW5lci5tYXJnaW4iLCAiMCIpOworc2hvdWxkQmUoImRlZmF1bHRDb250YWluZXIucGFk
ZGluZyIsICIwIik7CitzaG91bGRCZSgiZGVmYXVsdENvbnRhaW5lci5idXR0b25zIiwgIltdIik7
CisKK2NvbnN0IGJ1dHRvbnMgPSBbbmV3IEJ1dHRvbiwgbmV3IEJ1dHRvbl07Citjb25zdCBjb250
YWluZXJXaXRoUGFyYW1ldGVycyA9IG5ldyBCdXR0b25zQ29udGFpbmVyKHsKKyAgICBtYXJnaW46
IDEwLAorICAgIHBhZGRpbmc6IDIwLAorICAgIGJ1dHRvbnM6IGJ1dHRvbnMsCisgICAgY3NzQ2xh
c3NOYW1lOiAiZm9vIgorfSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRhaW5lcldpdGhQ
YXJhbWV0ZXJzLmVsZW1lbnQubG9jYWxOYW1lIiwgImRpdiIpOworc2hvdWxkQmVUcnVlKCJjb250
YWluZXJXaXRoUGFyYW1ldGVycy5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYnV0dG9ucy1j
b250YWluZXInKSIpOworc2hvdWxkQmVUcnVlKCJjb250YWluZXJXaXRoUGFyYW1ldGVycy5lbGVt
ZW50LmNsYXNzTGlzdC5jb250YWlucygnZm9vJykiKTsKK3Nob3VsZEJlKCJjb250YWluZXJXaXRo
UGFyYW1ldGVycy5tYXJnaW4iLCAiMTAiKTsKK3Nob3VsZEJlKCJjb250YWluZXJXaXRoUGFyYW1l
dGVycy5wYWRkaW5nIiwgIjIwIik7CitzaG91bGRCZSgiY29udGFpbmVyV2l0aFBhcmFtZXRlcnMu
YnV0dG9ucyIsICJidXR0b25zIik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFp
bmVyL2J1dHRvbnMtY29udGFpbmVyLWxheW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250
YWluZXItbGF5b3V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTNjNDZlMTE5NjlkN2QyYmEy
MDJiM2Y2NTJlMzNjYzA5OThjMTE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFp
bmVyLWxheW91dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdGluZyBCdXR0b25z
Q29udGFpbmVyIGxheW91dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
Y29udGFpbmVyLmNoaWxkcmVuLmxlbmd0aCBpcyAzCitQQVNTIGNvbnRhaW5lci5jaGlsZHJlblsw
XSBpcyB0ZW5QdFdpZGVCdXR0b24KK1BBU1MgY29udGFpbmVyLmNoaWxkcmVuWzFdIGlzIHR3ZW50
eVB0V2lkZUJ1dHRvbgorUEFTUyBjb250YWluZXIuY2hpbGRyZW5bMl0gaXMgdGhpcnR5UHRXaWRl
QnV0dG9uCitQQVNTIHRlblB0V2lkZUJ1dHRvbi54IGlzIDIwCitQQVNTIHR3ZW50eVB0V2lkZUJ1
dHRvbi54IGlzIDQwCitQQVNTIHRoaXJ0eVB0V2lkZUJ1dHRvbi54IGlzIDcwCitQQVNTIGNvbnRh
aW5lci53aWR0aCBpcyAxMjAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWluZXItbGF5b3V0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYnV0dG9ucy1jb250YWlu
ZXIvYnV0dG9ucy1jb250YWluZXItbGF5b3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNhOWJhYzVhZjNh
MWZlYzA4ZDUyMzM4YTdiOWNjYjY4MTcxZTBlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25z
LWNvbnRhaW5lci1sYXlvdXQuaHRtbApAQCAtMCwwICsxLDUxIEBACis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbi5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0i
c2NyZWVuIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9ucy1j
b250YWluZXIuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9zY2hlZHVsZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMiIHR5cGU9InRleHQvamF2
YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LWl0ZW0uanMi
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
YnV0dG9uLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L2NvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwv
c2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2Rlc2Ny
aXB0aW9uKCJUZXN0aW5nIDxjb2RlPkJ1dHRvbnNDb250YWluZXI8L2NvZGU+IGxheW91dC4iKTsK
KworY29uc3QgdGVuUHRXaWRlQnV0dG9uID0gbmV3IEJ1dHRvbjsKK3RlblB0V2lkZUJ1dHRvbi53
aWR0aCA9IDEwOworCitjb25zdCB0d2VudHlQdFdpZGVCdXR0b24gPSBuZXcgQnV0dG9uOwordHdl
bnR5UHRXaWRlQnV0dG9uLndpZHRoID0gMjA7CisKK2NvbnN0IHRoaXJ0eVB0V2lkZUJ1dHRvbiA9
IG5ldyBCdXR0b247Cit0aGlydHlQdFdpZGVCdXR0b24ud2lkdGggPSAzMDsKKworLy8gU2hvdWxk
IGJlIGRpc3JlZ2FyZGVkIGJ5IHRoZSBjb250YWluZXIuCitjb25zdCBkaXNhYmxlZEJ1dHRvbiA9
IG5ldyBCdXR0b247CitkaXNhYmxlZEJ1dHRvbi53aWR0aCA9IDE1OworZGlzYWJsZWRCdXR0b24u
ZW5hYmxlZCA9IGZhbHNlOworCisvLyBTaG91bGQgYmUgZGlzcmVnYXJkZWQgYnkgdGhlIGNvbnRh
aW5lci4KK2NvbnN0IGRyb3BwZWRCdXR0b24gPSBuZXcgQnV0dG9uOworZHJvcHBlZEJ1dHRvbi53
aWR0aCA9IDI1OworZHJvcHBlZEJ1dHRvbi5kcm9wcGVkID0gdHJ1ZTsKKworY29uc3QgY29udGFp
bmVyID0gbmV3IEJ1dHRvbnNDb250YWluZXIoeworICAgIG1hcmdpbjogMTAsCisgICAgcGFkZGlu
ZzogMjAsCisgICAgYnV0dG9uczogW3RlblB0V2lkZUJ1dHRvbiwgZGlzYWJsZWRCdXR0b24sIHR3
ZW50eVB0V2lkZUJ1dHRvbiwgZHJvcHBlZEJ1dHRvbiwgdGhpcnR5UHRXaWRlQnV0dG9uXQorfSk7
CisKK2NvbnRhaW5lci5sYXlvdXQoKTsKK3Nob3VsZEJlKCJjb250YWluZXIuY2hpbGRyZW4ubGVu
Z3RoIiwgIjMiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuY2hpbGRyZW5bMF0iLCAidGVuUHRXaWRl
QnV0dG9uIik7CitzaG91bGRCZSgiY29udGFpbmVyLmNoaWxkcmVuWzFdIiwgInR3ZW50eVB0V2lk
ZUJ1dHRvbiIpOworc2hvdWxkQmUoImNvbnRhaW5lci5jaGlsZHJlblsyXSIsICJ0aGlydHlQdFdp
ZGVCdXR0b24iKTsKK3Nob3VsZEJlKCJ0ZW5QdFdpZGVCdXR0b24ueCIsICIyMCIpOworc2hvdWxk
QmUoInR3ZW50eVB0V2lkZUJ1dHRvbi54IiwgIjQwIik7CitzaG91bGRCZSgidGhpcnR5UHRXaWRl
QnV0dG9uLngiLCAiNzAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIud2lkdGgiLCAiMTIwIik7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291248</attachid>
            <date>2016-10-11 05:21:40 -0700</date>
            <delta_ts>2016-10-11 05:55:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-163238-20161011141817.patch</filename>
            <type>text/plain</type>
            <size>22537</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRjZWRlMWQ5MjMyM2U5
MDk3NmIxZTg1NGFmNmMxMGExYTRkMTg1YS4uZTc4ODMwZDU3MmY5NzgxMWE4ZjYzNDUyZDk4ZjQ0
YThmNGY2MDA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE2LTEwLTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW01vZGVybiBNZWRpYSBD
b250cm9sc10gQnV0dG9ucyBjb250YWluZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MzIzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg3MDE4
NjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIFdlIGFk
ZCBhIG5ldyBCdXR0b25zQ29udGFpbmVyIGNsYXNzIHdoaWNoIGNvbnRhaW5zIGEgZ3JvdXAgb2Yg
QnV0dG9uIG9iamVjdHMKKyAgICAgICAgYW5kIHBvc2l0aW9ucyB0aGVtIGJhc2VkIG9uIHRoZSBw
cm92aWRlZCBwYWRkaW5nIGFuZCBtYXJnaW4gYmV0d2VlbiBidXR0b25zLgorICAgICAgICBCdXR0
b25zIHRoYXQgYXJlbid0IGVuYWJsZWQgb3IgbWFya2VkIGFzIGRyb3BwZWQgYXJlIG5vdCBhZGRl
ZCB0byB0aGUgdHJlZSBvZgorICAgICAgICBMYXlvdXROb2RlcywgYW5kIHRodXMgdGhlIERPTS4K
KworICAgICAgICBBZGRpdGlvbmFsbHksIHdlIGZpeCBhIGZldyBpc3N1ZXMgd2UgZm91bmQgd2hp
bGUgd29ya2luZyBvbiB0ZXN0cyBmb3IgQnV0dG9uc0NvbnRhaW5lcgorICAgICAgICB3aGVyZSBM
YXlvdXROb2RlcyB3b3VsZCBzY2hlZHVsZSBsYXlvdXQgY2FsbGJhY2tzIGV2ZW4gd2hlbiB0aGV5
IHdvdWxkIG5vdCBkbyBhbnkgd29yaworICAgICAgICBkdXJpbmcgdGhlIGxheW91dCBjYWxsYmFj
ayBkdWUgdG8gbm90IHJlc2V0dGluZyB0aGUgYG5lZWRzTGF5b3V0YCBmbGFnIHRvIGZhbHNlIGFu
ZAorICAgICAgICByZW1vdmluZyBhbnkgc2NoZWR1bGVkIHRhc2tzIHdoZW4gYSBsYXlvdXQgd2Fz
IGNvbXBsZXRlZC4KKworICAgICAgICBGaW5hbGx5LCB3ZSBmaXggYSBmZXcgc3R5bGUgaXNzdWVz
IHRoYXQgaGFkIG5vdCBiZWVuIGNhdWdodCBzbyBmYXIgYW5kIGFuIHVudXNlZAorICAgICAgICBg
c2l6ZWAgcHJvcGVydHkgb24gSWNvbkJ1dHRvbi4KKworICAgICAgICBUZXN0czogbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFpbmVyLWJ1
dHRvbnMtcHJvcGVydHkuaHRtbAorICAgICAgICAgICAgICAgbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFpbmVyLWNvbnN0cnVjdG9yLmh0
bWwKKyAgICAgICAgICAgICAgIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNv
bnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1sYXlvdXQuaHRtbAorCisgICAgICAgICogTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYWlycGxheS1idXR0b24uanM6CisgICAg
ICAgIChBaXJwbGF5QnV0dG9uLnByb3RvdHlwZS5zZXQgb24pOgorICAgICAgICAoQWlycGxheUJ1
dHRvbik6CisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
YnV0dG9ucy1jb250YWluZXIuY3NzOgorICAgICAgICAoLmJ1dHRvbnMtY29udGFpbmVyKToKKyAg
ICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNv
bnRhaW5lci5qczoKKyAgICAgICAgKEJ1dHRvbnNDb250YWluZXIucHJvdG90eXBlLmdldCBidXR0
b25zKToKKyAgICAgICAgKEJ1dHRvbnNDb250YWluZXIucHJvdG90eXBlLnNldCBidXR0b25zKToK
KyAgICAgICAgKEJ1dHRvbnNDb250YWluZXIucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICog
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaWNvbi1idXR0b24uanM6Cisg
ICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5v
ZGUuanM6CisgICAgICAgIChMYXlvdXROb2RlLnByb3RvdHlwZS5zZXQgbmVlZHNMYXlvdXQpOgor
ICAgICAgICAoTGF5b3V0Tm9kZS5wcm90b3R5cGUubWFya0RpcnR5UHJvcGVydHkpOgorICAgICAg
ICAoTGF5b3V0Tm9kZS5wcm90b3R5cGUuX21hcmtOb2RlTWFuaXB1bGF0aW9uKToKKyAgICAgICAg
KExheW91dE5vZGUucHJvdG90eXBlLl91cGRhdGVEaXJ0eVN0YXRlKToKKyAgICAgICAgKHBlcmZv
cm1TY2hlZHVsZWRMYXlvdXQpOgorICAgICAgICAoZWxlbWVudEZyb21TdHJpbmcpOgorICAgICAg
ICAqIE1vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3NjaGVkdWxlci5qczoK
KyAgICAgICAgKGNvbnN0LnNjaGVkdWxlci5uZXcucHJvdG90eXBlLnVuc2NoZWR1bGVMYXlvdXQp
OgorCiAyMDE2LTEwLTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgVXBkYXRlIElEQlZlcnNpb25DaGFuZ2VFdmVudCB0byBzdG9wIHVzaW5nIGxlZ2FjeSBbQ29u
c3RydWN0b3JUZW1wbGF0ZT1FdmVudF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyLmNzcyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1
dHRvbnMtY29udGFpbmVyLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzQ2OWI4ZjM1M2M4NDA5NmIyYTE1OTBh
NDdmOGIzZWNiZDAxMTEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIuY3NzCkBA
IC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
UmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisuYnV0dG9ucy1jb250YWluZXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBo
ZWlnaHQ6IDEwMCU7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbnMtY29u
dGFpbmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4YzYzZDdjYWFkN2M2MGViYjE1ZDM2NDU0NTkxYzU5MDA1
MzBmZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNvbnRhaW5lci5qcwpAQCAtMCwwICsxLDc3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworY2xhc3Mg
QnV0dG9uc0NvbnRhaW5lciBleHRlbmRzIExheW91dE5vZGUKK3sKKworICAgIGNvbnN0cnVjdG9y
KHsgYnV0dG9ucyA9IFtdLCBwYWRkaW5nID0gMCwgbWFyZ2luID0gMCwgY3NzQ2xhc3NOYW1lID0g
IiIgfSA9IHt9KQorICAgIHsKKyAgICAgICAgc3VwZXIoYDxkaXYgY2xhc3M9ImJ1dHRvbnMtY29u
dGFpbmVyICR7Y3NzQ2xhc3NOYW1lfSI+YCk7CisKKyAgICAgICAgdGhpcy5tYXJnaW4gPSBtYXJn
aW47CisgICAgICAgIHRoaXMucGFkZGluZyA9IHBhZGRpbmc7CisgICAgICAgIHRoaXMuYnV0dG9u
cyA9IGJ1dHRvbnM7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgYnV0dG9ucygp
CisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fYnV0dG9uczsKKyAgICB9CisKKyAgICBzZXQg
YnV0dG9ucyhidXR0b25zKQorICAgIHsKKyAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGJ1dHRv
bnMpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2J1dHRvbnMgPSBidXR0
b25zOworICAgICAgICB0aGlzLm5lZWRzTGF5b3V0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICBsYXlv
dXQoKQorICAgIHsKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisKKyAgICAgICAgY29uc3QgY2hp
bGRyZW4gPSBbXTsKKyAgICAgICAgbGV0IHggPSB0aGlzLnBhZGRpbmc7CisKKyAgICAgICAgdGhp
cy5fYnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7CisgICAgICAgICAgICBpZiAoIWJ1dHRvbi5l
bmFibGVkIHx8IGJ1dHRvbi5kcm9wcGVkKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIGJ1dHRvbi54ID0geDsKKyAgICAgICAgICAgIHggKz0gYnV0dG9uLndpZHRoICsgdGhp
cy5tYXJnaW47CisgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGJ1dHRvbik7CisgICAgICAgIH0p
OworCisgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGgpCisgICAgICAgICAgICB0aGlzLndpZHRo
ID0geCAtIHRoaXMubWFyZ2luICsgdGhpcy5wYWRkaW5nOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICB0aGlzLndpZHRoID0gdGhpcy5wYWRkaW5nICogMjsKKworICAgICAgICB0aGlzLmNoaWxk
cmVuID0gY2hpbGRyZW47CisgICAgfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pY29uLWJ1dHRvbi5qcyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ljb24t
YnV0dG9uLmpzCmluZGV4IGI5MzRiZTExMGFkNTU0YWI0YzM5Y2YwZDBkYjg2Y2YxNTNmYWYzM2Qu
LjBiNDAzMjc2ZjY0ZWQ5Yjg5MDEwZDE2ZWI4YjkyM2ZlNzczMzg4N2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ljb24t
YnV0dG9uLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL2NvbnRyb2xzL2ljb24tYnV0dG9uLmpzCkBAIC0zOSw4ICszOSw2IEBAIGNsYXNzIEljb25C
dXR0b24gZXh0ZW5kcyBCdXR0b24KIAogICAgICAgICBpZiAoISFpY29uTmFtZSkKICAgICAgICAg
ICAgIHRoaXMuaWNvbk5hbWUgPSBpY29uTmFtZTsKLQotICAgICAgICB0aGlzLnNpemUgPSB7IHdp
ZHRoOiAwLCBoZWlnaHQ6IDAgfTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xh
eW91dC1ub2RlLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMKaW5kZXggNTA0MDQxYjllNTlkNGU1MTYyNzY3ODA4
NDhmZjkzMTE4OTU0N2UwZi4uODVmYjgzOWQ1MTUwNjJiZmYwOGM1ZjJhYjJhODRjMDdkY2JhNmEw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMKQEAgLTk1LDcgKzk1
LDcgQEAgY2xhc3MgTGF5b3V0Tm9kZQogICAgICAgICBpZiAodGhpcy5uZWVkc0xheW91dCA9PT0g
ZmxhZykKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9uZWVkc0xheW91dCA9
IHRydWU7CisgICAgICAgIHRoaXMuX25lZWRzTGF5b3V0ID0gZmxhZzsKICAgICAgICAgdGhpcy5f
dXBkYXRlRGlydHlTdGF0ZSgpOwogICAgIH0KIApAQCAtMTY3LDcgKzE2Nyw4IEBAIGNsYXNzIExh
eW91dE5vZGUKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnQucmVtb3ZlQ2hpbGQodGhp
cyk7CiAgICAgfQogCi0gICAgbWFya0RpcnR5UHJvcGVydHkocHJvcGVydHlOYW1lKSB7CisgICAg
bWFya0RpcnR5UHJvcGVydHkocHJvcGVydHlOYW1lKQorICAgIHsKICAgICAgICAgY29uc3QgaGFk
UHJvcGVydHkgPSB0aGlzLl9kaXJ0eVByb3BlcnRpZXMuaGFzKHByb3BlcnR5TmFtZSk7CiAgICAg
ICAgIHRoaXMuX2RpcnR5UHJvcGVydGllcy5hZGQocHJvcGVydHlOYW1lKTsKIApAQCAtMjE3LDE3
ICsyMTgsMjIgQEAgY2xhc3MgTGF5b3V0Tm9kZQogCiAgICAgLy8gUHJpdmF0ZQogCi0gICAgX21h
cmtOb2RlTWFuaXB1bGF0aW9uKG1hbmlwdWxhdGlvbikgeworICAgIF9tYXJrTm9kZU1hbmlwdWxh
dGlvbihtYW5pcHVsYXRpb24pCisgICAgewogICAgICAgICB0aGlzLl9wZW5kaW5nRE9NTWFuaXB1
bGF0aW9uID0gbWFuaXB1bGF0aW9uOwogICAgICAgICB0aGlzLl91cGRhdGVEaXJ0eVN0YXRlKCk7
CiAgICAgfQogCi0gICAgX3VwZGF0ZURpcnR5U3RhdGUoKSB7CisgICAgX3VwZGF0ZURpcnR5U3Rh
dGUoKQorICAgIHsKICAgICAgICAgaWYgKHRoaXMubmVlZHNMYXlvdXQpIHsKICAgICAgICAgICAg
IGRpcnR5Tm9kZXMuYWRkKHRoaXMpOwogICAgICAgICAgICAgc2NoZWR1bGVyLnNjaGVkdWxlTGF5
b3V0KHBlcmZvcm1TY2hlZHVsZWRMYXlvdXQpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGRpcnR5Tm9kZXMuZGVsZXRlKG5vZGUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ZGlydHlOb2Rlcy5kZWxldGUodGhpcyk7CisgICAgICAgICAgICBpZiAoZGlydHlOb2Rlcy5zaXpl
ID09PSAwKQorICAgICAgICAgICAgICAgIHNjaGVkdWxlci51bnNjaGVkdWxlTGF5b3V0KHBlcmZv
cm1TY2hlZHVsZWRMYXlvdXQpOworICAgICAgICB9CiAgICAgfQogCiAgICAgX3VwZGF0ZUNoaWxk
cmVuKCkKQEAgLTI1NSwxNSArMjYxLDIxIEBAIExheW91dE5vZGUuRE9NTWFuaXB1bGF0aW9uID0g
ewogICAgIEFkZGl0aW9uOiAyCiB9OwogCi1mdW5jdGlvbiBwZXJmb3JtU2NoZWR1bGVkTGF5b3V0
KCkgewotICAgIGRpcnR5Tm9kZXMuZm9yRWFjaChub2RlID0+IG5vZGUubGF5b3V0KCkpOworZnVu
Y3Rpb24gcGVyZm9ybVNjaGVkdWxlZExheW91dCgpCit7CisgICAgZGlydHlOb2Rlcy5mb3JFYWNo
KG5vZGUgPT4geworICAgICAgICBub2RlLm5lZWRzTGF5b3V0ID0gZmFsc2U7CisgICAgICAgIG5v
ZGUubGF5b3V0KCkKKyAgICB9KTsKICAgICBkaXJ0eU5vZGVzLmNsZWFyKCk7CisgICAgc2NoZWR1
bGVyLnVuc2NoZWR1bGVMYXlvdXQocGVyZm9ybVNjaGVkdWxlZExheW91dCk7CiAKICAgICBub2Rl
c1JlcXVpcmluZ0NoaWxkcmVuVXBkYXRlLmZvckVhY2gobm9kZSA9PiBub2RlLl91cGRhdGVDaGls
ZHJlbigpKTsKICAgICBub2Rlc1JlcXVpcmluZ0NoaWxkcmVuVXBkYXRlLmNsZWFyKCk7CiB9CiAK
LWZ1bmN0aW9uIGVsZW1lbnRGcm9tU3RyaW5nKGVsZW1lbnRTdHJpbmcpIHsKK2Z1bmN0aW9uIGVs
ZW1lbnRGcm9tU3RyaW5nKGVsZW1lbnRTdHJpbmcpCit7CiAgICAgY29uc3QgZWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gZWxl
bWVudFN0cmluZzsKICAgICByZXR1cm4gZWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL3NjaGVkdWxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3NjaGVkdWxlci5qcwppbmRleCA5N2QyMDBkZTUzY2Y3ZTY0YjJiMzQx
NmZlMzkyYzgxOGU0YWE5Njg3Li40NzVjMDk1ZGRmYzNjMmJlMGI0MWE0YjFkYmRjYmQ5Njk3NzEy
NTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9zY2hlZHVsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvc2NoZWR1bGVyLmpzCkBAIC0xOSw2ICsxOSwx
NCBAQCBjb25zdCBzY2hlZHVsZXIgPSBuZXcgY2xhc3MKICAgICAgICAgdGhpcy5fcmVxdWVzdEZy
YW1lSWZOZWVkZWQoKTsKICAgICB9CiAKKyAgICB1bnNjaGVkdWxlTGF5b3V0KGNhbGxiYWNrKQor
ICAgIHsKKyAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gImZ1bmN0aW9uIikKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9sYXlvdXRDYWxsYmFja3MuZGVsZXRlKGNh
bGxiYWNrKTsKKyAgICB9CisKICAgICAvLyBQcml2YXRlCiAKICAgICBfcmVxdWVzdEZyYW1lSWZO
ZWVkZWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDU3MTIzYWE1NDk1ZGYxYWFjMTBhZGUyNmQ2NzdjMTkxZjE2NTZhYjIu
LjE5MmQzOTdkODc2OTg3N2YzMDQ3MDA1MzUyMGE0MjJlZTJhYzc2ZDYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxNi0xMC0xMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgor
CisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIEJ1dHRvbnMgY29udGFpbmVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMyMzgKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzI4NzAxODY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4g
SmFja3Nvbi4KKworICAgICAgICBBZGRpbmcgdGVzdHMgZm9yIHRoZSBuZXcgQnV0dG9uc0NvbnRh
aW5lciBjbGFzcy4KKworICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0
b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1idXR0b25zLXByb3BlcnR5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRv
bnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFpbmVyLWJ1dHRvbnMtcHJvcGVydHkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFp
bmVyL2J1dHRvbnMtY29udGFpbmVyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1
dHRvbnMtY29udGFpbmVyLWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5l
ci1sYXlvdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWluZXItbGF5b3V0Lmh0
bWw6IEFkZGVkLgorCiAyMDE2LTEwLTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgVXBkYXRlIElEQlZlcnNpb25DaGFuZ2VFdmVudCB0byBzdG9wIHVzaW5nIGxl
Z2FjeSBbQ29uc3RydWN0b3JUZW1wbGF0ZT1FdmVudF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNv
bnRhaW5lci1idXR0b25zLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5l
ci1idXR0b25zLXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTkzZTYzNWZmMTIy
ZjJjZmQ0NjFjMDcwNDQzNjkyOWYwODM4ZjNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMt
Y29udGFpbmVyLWJ1dHRvbnMtcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAK
K1Rlc3RpbmcgQnV0dG9uc0NvbnRhaW5lciBidXR0b25zIHByb3BlcnR5LgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjb250YWluZXIuYnV0dG9ucy5sZW5ndGggaXMgMwor
UEFTUyBjb250YWluZXIuY2hpbGRyZW4ubGVuZ3RoIGlzIDMKK1BBU1MgY29udGFpbmVyLmJ1dHRv
bnMgaXMgY29udGFpbmVyLmNoaWxkcmVuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFpbmVyLWJ1dHRv
bnMtcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9s
cy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1idXR0b25zLXByb3BlcnR5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmFhNjQ3YmY3ZTY0Njc4ZTQ3NGM4MzM4NjYyZmJjNGRjOTljZWQ3Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9s
cy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1idXR0b25zLXByb3BlcnR5Lmh0
bWwKQEAgLTAsMCArMSwzMyBAQAorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8u
Li8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy9idXR0b24uY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyLmNzcyIgdHlwZT0i
dGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvc2NoZWR1
bGVyLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL2xheW91dC1ub2RlLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1pdGVtLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbi5qcyIgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNv
bnRhaW5lci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxib2R5PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitkZXNjcmlwdGlvbigiVGVzdGluZyA8Y29k
ZT5CdXR0b25zQ29udGFpbmVyPC9jb2RlPiBidXR0b25zIHByb3BlcnR5LiIpOworCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisKK2NvbnN0IGNvbnRhaW5lciA9IG5ldyBCdXR0b25zQ29u
dGFpbmVyKHsKKyAgICBtYXJnaW46IDEwLAorICAgIHBhZGRpbmc6IDIwCit9KTsKKworY29udGFp
bmVyLmJ1dHRvbnMgPSBbbmV3IEJ1dHRvbiwgbmV3IEJ1dHRvbiwgbmV3IEJ1dHRvbl07CisKK3Nj
aGVkdWxlci5mcmFtZURpZEZpcmUgPSBmdW5jdGlvbigpCit7CisgICAgc2hvdWxkQmUoImNvbnRh
aW5lci5idXR0b25zLmxlbmd0aCIsICIzIik7CisgICAgc2hvdWxkQmUoImNvbnRhaW5lci5jaGls
ZHJlbi5sZW5ndGgiLCAiMyIpOworICAgIHNob3VsZEJlKCJjb250YWluZXIuYnV0dG9ucyIsICJj
b250YWluZXIuY2hpbGRyZW4iKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFpbmVyLWNvbnN0cnVjdG9y
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9i
dXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDVhNDAyMmUxZGQ0MTc5ODNkOWI0MjEyOTRmMDBjODU1MDY5MTQ0Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9s
cy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyMCBAQAorVGVzdGluZyB0aGUgQnV0dG9uc0NvbnRhaW5lciBjb25z
dHJ1Y3Rvci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZGVmYXVsdENv
bnRhaW5lci5lbGVtZW50LmxvY2FsTmFtZSBpcyAiZGl2IgorUEFTUyBkZWZhdWx0Q29udGFpbmVy
LmVsZW1lbnQuY2xhc3NOYW1lLnRyaW0oKSBpcyAiYnV0dG9ucy1jb250YWluZXIiCitQQVNTIGRl
ZmF1bHRDb250YWluZXIubWFyZ2luIGlzIDAKK1BBU1MgZGVmYXVsdENvbnRhaW5lci5wYWRkaW5n
IGlzIDAKK1BBU1MgZGVmYXVsdENvbnRhaW5lci5idXR0b25zIGlzIFtdCitQQVNTIGNvbnRhaW5l
cldpdGhQYXJhbWV0ZXJzLmVsZW1lbnQubG9jYWxOYW1lIGlzICJkaXYiCitQQVNTIGNvbnRhaW5l
cldpdGhQYXJhbWV0ZXJzLmVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdidXR0b25zLWNvbnRh
aW5lcicpIGlzIHRydWUKK1BBU1MgY29udGFpbmVyV2l0aFBhcmFtZXRlcnMuZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJ2ZvbycpIGlzIHRydWUKK1BBU1MgY29udGFpbmVyV2l0aFBhcmFtZXRl
cnMubWFyZ2luIGlzIDEwCitQQVNTIGNvbnRhaW5lcldpdGhQYXJhbWV0ZXJzLnBhZGRpbmcgaXMg
MjAKK1BBU1MgY29udGFpbmVyV2l0aFBhcmFtZXRlcnMuYnV0dG9ucyBpcyBidXR0b25zCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFp
bmVyL2J1dHRvbnMtY29udGFpbmVyLWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWlu
ZXItY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDlmY2VhMzE5ZTA2ZTU4ZGNmNTkwOGNh
ZWUyODFiZjgzZmEyMTI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMtY29udGFpbmVyLWNv
bnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9idXR0b24uY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVy
LmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvc2NoZWR1bGVyLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1ub2RlLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1pdGVtLmpzIiB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2J1dHRvbi5q
cyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy9idXR0b25zLWNvbnRhaW5lci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4K
Kzxib2R5PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitkZXNjcmlwdGlvbigi
VGVzdGluZyB0aGUgPGNvZGU+QnV0dG9uc0NvbnRhaW5lcjwvY29kZT4gY29uc3RydWN0b3IuIik7
CisKK2NvbnN0IGRlZmF1bHRDb250YWluZXIgPSBuZXcgQnV0dG9uc0NvbnRhaW5lcjsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZGVmYXVsdENvbnRhaW5lci5lbGVtZW50LmxvY2FsTmFtZSIsICJk
aXYiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZGVmYXVsdENvbnRhaW5lci5lbGVtZW50LmNs
YXNzTmFtZS50cmltKCkiLCAiYnV0dG9ucy1jb250YWluZXIiKTsKK3Nob3VsZEJlKCJkZWZhdWx0
Q29udGFpbmVyLm1hcmdpbiIsICIwIik7CitzaG91bGRCZSgiZGVmYXVsdENvbnRhaW5lci5wYWRk
aW5nIiwgIjAiKTsKK3Nob3VsZEJlKCJkZWZhdWx0Q29udGFpbmVyLmJ1dHRvbnMiLCAiW10iKTsK
KworY29uc3QgYnV0dG9ucyA9IFtuZXcgQnV0dG9uLCBuZXcgQnV0dG9uXTsKK2NvbnN0IGNvbnRh
aW5lcldpdGhQYXJhbWV0ZXJzID0gbmV3IEJ1dHRvbnNDb250YWluZXIoeworICAgIG1hcmdpbjog
MTAsCisgICAgcGFkZGluZzogMjAsCisgICAgYnV0dG9uczogYnV0dG9ucywKKyAgICBjc3NDbGFz
c05hbWU6ICJmb28iCit9KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGFpbmVyV2l0aFBh
cmFtZXRlcnMuZWxlbWVudC5sb2NhbE5hbWUiLCAiZGl2Iik7CitzaG91bGRCZVRydWUoImNvbnRh
aW5lcldpdGhQYXJhbWV0ZXJzLmVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdidXR0b25zLWNv
bnRhaW5lcicpIik7CitzaG91bGRCZVRydWUoImNvbnRhaW5lcldpdGhQYXJhbWV0ZXJzLmVsZW1l
bnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmb28nKSIpOworc2hvdWxkQmUoImNvbnRhaW5lcldpdGhQ
YXJhbWV0ZXJzLm1hcmdpbiIsICIxMCIpOworc2hvdWxkQmUoImNvbnRhaW5lcldpdGhQYXJhbWV0
ZXJzLnBhZGRpbmciLCAiMjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXJXaXRoUGFyYW1ldGVycy5i
dXR0b25zIiwgImJ1dHRvbnMiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYnV0dG9ucy1jb250YWlu
ZXIvYnV0dG9ucy1jb250YWluZXItbGF5b3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRh
aW5lci1sYXlvdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxM2M0NmUxMTk2OWQ3ZDJiYTIw
MmIzZjY1MmUzM2NjMDk5OGMxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYnV0dG9ucy1jb250YWluZXIvYnV0dG9ucy1jb250YWlu
ZXItbGF5b3V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUZXN0aW5nIEJ1dHRvbnND
b250YWluZXIgbGF5b3V0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBj
b250YWluZXIuY2hpbGRyZW4ubGVuZ3RoIGlzIDMKK1BBU1MgY29udGFpbmVyLmNoaWxkcmVuWzBd
IGlzIHRlblB0V2lkZUJ1dHRvbgorUEFTUyBjb250YWluZXIuY2hpbGRyZW5bMV0gaXMgdHdlbnR5
UHRXaWRlQnV0dG9uCitQQVNTIGNvbnRhaW5lci5jaGlsZHJlblsyXSBpcyB0aGlydHlQdFdpZGVC
dXR0b24KK1BBU1MgdGVuUHRXaWRlQnV0dG9uLnggaXMgMjAKK1BBU1MgdHdlbnR5UHRXaWRlQnV0
dG9uLnggaXMgNDAKK1BBU1MgdGhpcnR5UHRXaWRlQnV0dG9uLnggaXMgNzAKK1BBU1MgY29udGFp
bmVyLndpZHRoIGlzIDEyMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1sYXlvdXQuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9idXR0b25zLWNvbnRhaW5l
ci9idXR0b25zLWNvbnRhaW5lci1sYXlvdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2E5YmFjNWFmM2Ex
ZmVjMDhkNTIzMzhhN2I5Y2NiNjgxNzFlMGU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2J1dHRvbnMtY29udGFpbmVyL2J1dHRvbnMt
Y29udGFpbmVyLWxheW91dC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvYnV0dG9uLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJz
Y3JlZW4iPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9idXR0b25zLWNv
bnRhaW5lci5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL2NvbnRyb2xzL3NjaGVkdWxlci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qcyIgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtaXRlbS5qcyIg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9i
dXR0b24uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvYnV0dG9ucy1jb250YWluZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9z
Y3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZGVzY3Jp
cHRpb24oIlRlc3RpbmcgPGNvZGU+QnV0dG9uc0NvbnRhaW5lcjwvY29kZT4gbGF5b3V0LiIpOwor
Citjb25zdCB0ZW5QdFdpZGVCdXR0b24gPSBuZXcgQnV0dG9uOwordGVuUHRXaWRlQnV0dG9uLndp
ZHRoID0gMTA7CisKK2NvbnN0IHR3ZW50eVB0V2lkZUJ1dHRvbiA9IG5ldyBCdXR0b247Cit0d2Vu
dHlQdFdpZGVCdXR0b24ud2lkdGggPSAyMDsKKworY29uc3QgdGhpcnR5UHRXaWRlQnV0dG9uID0g
bmV3IEJ1dHRvbjsKK3RoaXJ0eVB0V2lkZUJ1dHRvbi53aWR0aCA9IDMwOworCisvLyBTaG91bGQg
YmUgZGlzcmVnYXJkZWQgYnkgdGhlIGNvbnRhaW5lci4KK2NvbnN0IGRpc2FibGVkQnV0dG9uID0g
bmV3IEJ1dHRvbjsKK2Rpc2FibGVkQnV0dG9uLndpZHRoID0gMTU7CitkaXNhYmxlZEJ1dHRvbi5l
bmFibGVkID0gZmFsc2U7CisKKy8vIFNob3VsZCBiZSBkaXNyZWdhcmRlZCBieSB0aGUgY29udGFp
bmVyLgorY29uc3QgZHJvcHBlZEJ1dHRvbiA9IG5ldyBCdXR0b247Citkcm9wcGVkQnV0dG9uLndp
ZHRoID0gMjU7Citkcm9wcGVkQnV0dG9uLmRyb3BwZWQgPSB0cnVlOworCitjb25zdCBjb250YWlu
ZXIgPSBuZXcgQnV0dG9uc0NvbnRhaW5lcih7CisgICAgbWFyZ2luOiAxMCwKKyAgICBwYWRkaW5n
OiAyMCwKKyAgICBidXR0b25zOiBbdGVuUHRXaWRlQnV0dG9uLCBkaXNhYmxlZEJ1dHRvbiwgdHdl
bnR5UHRXaWRlQnV0dG9uLCBkcm9wcGVkQnV0dG9uLCB0aGlydHlQdFdpZGVCdXR0b25dCit9KTsK
KworY29udGFpbmVyLmxheW91dCgpOworc2hvdWxkQmUoImNvbnRhaW5lci5jaGlsZHJlbi5sZW5n
dGgiLCAiMyIpOworc2hvdWxkQmUoImNvbnRhaW5lci5jaGlsZHJlblswXSIsICJ0ZW5QdFdpZGVC
dXR0b24iKTsKK3Nob3VsZEJlKCJjb250YWluZXIuY2hpbGRyZW5bMV0iLCAidHdlbnR5UHRXaWRl
QnV0dG9uIik7CitzaG91bGRCZSgiY29udGFpbmVyLmNoaWxkcmVuWzJdIiwgInRoaXJ0eVB0V2lk
ZUJ1dHRvbiIpOworc2hvdWxkQmUoInRlblB0V2lkZUJ1dHRvbi54IiwgIjIwIik7CitzaG91bGRC
ZSgidHdlbnR5UHRXaWRlQnV0dG9uLngiLCAiNDAiKTsKK3Nob3VsZEJlKCJ0aGlydHlQdFdpZGVC
dXR0b24ueCIsICI3MCIpOworc2hvdWxkQmUoImNvbnRhaW5lci53aWR0aCIsICIxMjAiKTsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>