<?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>161303</bug_id>
          
          <creation_ts>2016-08-28 15:52:29 -0700</creation_ts>
          <short_desc>[css-align] Initial values are parsed as invalid for some Alignment properties</short_desc>
          <delta_ts>2016-09-12 04:49:08 -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>CSS</component>
          <version>WebKit Nightly Build</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Javier Fernandez">jfernandez</reporter>
          <assigned_to name="Javier Fernandez">jfernandez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>hyatt</cc>
    
    <cc>jfernandez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1224094</commentid>
    <comment_count>0</comment_count>
      <attachid>287241</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-28 15:52:29 -0700</bug_when>
    <thetext>Created attachment 287241
Test case to reproduce the issue.

The CSS Box Alignment specification defines a new syntax for align-self/align-items, justify-self/justify-items and align-content/justify-content CSS properties. This new syntax include new values, some of them not valid following the old syntax defined in the CSS Flexible box specification for some of these properties. 

Due to the patch landed for fixing bug #151591 we are now sure that the parsing logic for the new syntax is only used when the CSS Grid Layout is enabled, since this new layout model defines its alignment procedures based on the mentioned CSS properties.

So, the case is that for some properties, like align-items in the attached test case, the initial value is parsed as invalid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224445</commentid>
    <comment_count>1</comment_count>
      <attachid>287352</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-29 16:59:05 -0700</bug_when>
    <thetext>Created attachment 287352
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224681</commentid>
    <comment_count>2</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-30 13:50:42 -0700</bug_when>
    <thetext>*** Bug 161233 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224702</commentid>
    <comment_count>3</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-08-30 14:15:43 -0700</bug_when>
    <thetext>*** Bug 144444 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228712</commentid>
    <comment_count>4</comment_count>
      <attachid>288561</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2016-09-12 02:32:56 -0700</bug_when>
    <thetext>Created attachment 288561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228724</commentid>
    <comment_count>5</comment_count>
      <attachid>288561</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 04:49:02 -0700</bug_when>
    <thetext>Comment on attachment 288561
Patch

Clearing flags on attachment: 288561

Committed r205807: &lt;http://trac.webkit.org/changeset/205807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228725</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 04:49:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>287241</attachid>
            <date>2016-08-28 15:52:29 -0700</date>
            <delta_ts>2016-08-28 15:52:29 -0700</delta_ts>
            <desc>Test case to reproduce the issue.</desc>
            <filename>invalid-initial.html</filename>
            <type>text/html</type>
            <size>626</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4Ij4KICAgIDxkaXYgaWQ9ImRlbW8iPjxkbD4KICAgICAg
ICA8ZHQ+YWxpZ24taXRlbXM6PC9kZD4KICAgICAgICA8ZGQgaWQ9ImFhIj48L2RkPgogICAgICAg
IDxkdD5hbGlnbi1zZWxmOjwvZGQ+CiAgICAgICAgPGRkIGlkPSJhcyI+PC9kZD4KICAgICAgICA8
ZHQ+YWxpZ24tY29udGVudDo8L2RkPgogICAgICAgIDxkZCBpZD0iYWMiPjwvZGQ+CiAgICA8L2Rs
PjwvZGl2Pgo8L2Rpdj4KPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgp2
YXIgYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW1vIik7CnZhciBzdHlsZXMgPSBhLm93
bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSggYSwgbnVsbCApOwp2YXIg
YWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWEiKSwKICAgIGFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImFzIiksCiAgICBhYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhYyIp
OwphYS5pbm5lckhUTUwgPSBzdHlsZXMuYWxpZ25JdGVtczsKYXMuaW5uZXJIVE1MID0gc3R5bGVz
LmFsaWduU2VsZjsKYWMuaW5uZXJIVE1MID0gc3R5bGVzLmFsaWduQ29udGVudAo8c2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287352</attachid>
            <date>2016-08-29 16:59:05 -0700</date>
            <delta_ts>2016-09-12 02:32:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161303-20160830015653.patch</filename>
            <type>text/plain</type>
            <size>17237</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNjYTcyZTNhNzFjOGFl
NWRlN2QxZGQ3MjVjZjRiOWE0ODlhNzFjMy4uYzFlNDY0MjgzMWVmMDdhNDYxZDEzNzQxYjAzYTQy
OTM5NzY1N2YxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA4LTI5ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtYWxp
Z25dIEluaXRpYWwgdmFsdWVzIGFyZSBwYXJzZWQgYXMgaW52YWxpZCBmb3Igc29tZSBBbGlnbm1l
bnQgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYxMzAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRHVlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgbmV3IENTUyBCb3ggQWxpZ25t
ZW50IHNwZWNpZmljYXRpb24sCisgICAgICAgIHNvbWUgcHJvcGVydGllcyBoYXZlIG5vdyBuZXcg
dmFsdWVzIGFsbG93ZWQsIHdoaWNoIGFyZSBub3QgdmFsaWQKKyAgICAgICAgYWNjb3JkaW5nIHRv
IHRoZSBGbGV4aWJsZSBCb3ggTGF5b3V0IHNwZWNpZmljYXRpb24uCisKKyAgICAgICAgSW4gcjIw
NTEwMiB3ZSBoYXZlIGdldCBiYWNrIHRoZSBrZXl3b3JkSUQgcGFyc2luZywgb3JpZ2luYWxseSBp
bXBsZW1lbnRlZCBmb3IKKyAgICAgICAgdGhlIEZsZXhiaWJsZSBCb3ggTGF5b3V0IHNwZWNpZmlj
YXRpb24uIEV2ZW4gdGhvdWdoIHRoZSBuZXcgdmFsdWVkIHdvdWxkIGJlCisgICAgICAgIHBhcnNl
ZCBhcyBpbnZhbGlkIHdoZW4gdGhleSBhcmUgc2V0LCB0aGUgJ2luaXRpYWwnIHZhbHVlcyB3aWxs
IGJlIGFzc2lnbmVkCisgICAgICAgIGluIGFueSBjYXNlLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
dmVyaWZpZXMgdGhhdCB0aGUgJ2luaXRpYWwnIHZhbHVlcyBkZXBlbmQgb24gd2hldGhlciB0aGUg
R3JpZAorICAgICAgICBMYXlvdXQgaXMgZW5hYmxlZCBvciBub3QgYW5kIHZlcmlmeWluZyBzdWNo
IHZhbHVlcyBhcmUgcGFyc2VkIGFzIHZhbGlkLgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgaXQg
Z2V0cyBiYWNrIGFzIHdlbGwgdGhleSBrZXl3b3JkSUQgcGFyc2luZyBmb3IgdGhlIENvbnRlbnQK
KyAgICAgICAgQWxpZ25tZW50IHByb3BlcnRpZXMgKGFsaWduLWNvbnRlbnQgYW5kIGp1c3RpZnkt
Y29udGVudCkuIFRoaXMgcmVxdWlyZWQgdG8KKyAgICAgICAgdG91Y2ggYSBiaXQgdGhlIFN0eWxl
QnVpbGRlckNvbnZlcnRlciBsb2dpYywgc2luY2Ugd2Ugd2lsbCBoYXZlIHRvIGRlYWwgd2l0aAor
ICAgICAgICBlaXRoZXIgdGhlIGNvbXBsZXggQ1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlIGNv
bXBsZXggb3IgdGhlICBzaW1wbGVyCisgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvY3NzL2Vuc3VyZS1mbGV4Ym94LWNvbXBhdGliaWxpdHktd2l0aC1pbml0
aWFsLXZhbHVlcy5odG1sCisKKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRDb250ZW50
QWxpZ25tZW50RGF0YSk6IEhhbmRsaW5nIGEgcHJpbWl0aXZlIHZhbHVlIGlmIEdyaWQgTGF5b3V0
IGlzIG5vdCBlbmFibGVkLgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmlzVmFsaWRLZXl3b3JkUHJvcGVydHlBbmRWYWx1ZSk6IFNpbXBsZXIg
cGFyc2luZyBvZiBhbGlnbm1lbnQgcHJvcGVydGllcyBpZiBHcmlkIExheW91dCBpcyBub3QgZW5h
YmxlZC4KKyAgICAgICAgKFdlYkNvcmU6OmlzS2V5d29yZFByb3BlcnR5SUQpOiBBbGlnbm1lbnQg
cHJvcGVydGllcyBhcmUgZGVmaW5lZCBhcyBrZXl3b3JkIGlmIEdyaWQgTGF5b3V0IGlzIG5vIGVu
YWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOiBBc3NlcnQg
R3JpZCBMYXlvdXQgaXMgZW5hYmxlZCB3aGVuIHVzaW5nIHRoZSBjb21wbGV4IHBhcnNpbmcuCisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclN0eWxlOjppc0NTU0dyaWRMYXlvdXRFbmFibGVkKTogQ2hlY2tpbmcgb3V0IHRo
ZSBHcmlkIExheW91dCBydW50aW1lIGZsYWdzLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxEZWZh
dWx0QWxpZ25tZW50KTogSW5pdGlhbCB2YWx1ZSB3aWxsIGRlcGVuZCBvbiB3aGV0aGVyIEdyaWQg
TGF5b3V0IGlzIGVuYWJsZWQgb3Igbm90LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6
OmluaXRpYWxDb250ZW50QWxpZ25tZW50KTogSW5pdGlhbCB2YWx1ZSB3aWxsIGRlcGVuZCBvbiB3
aGV0aGVyIEdyaWQgTGF5b3V0IGlzIGVuYWJsZWQgb3Igbm90LgorCiAyMDE2LTA4LTI5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgV2Ugc2hvdWxkIHRocm93IGEg
U2VjdXJpdHlFcnJvciB3aGVuIGRlbnlpbmcgc2V0dGluZyBhIGNyb3NzLW9yaWdpbiBXaW5kb3cg
cHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252
ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAppbmRl
eCA1MDE1ZWEwYzg2ZTgxMzdhZTJlOGZkYjY0MjNjMjk1MzRhZWQzZTU2Li44Nzg5OTkyZjgyMjU0
NGMxNDZhZDIxZmIxZjIyNDIzODE2MDc5ZWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
QnVpbGRlckNvbnZlcnRlci5oCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSAiTGVuZ3RoUmVw
ZWF0LmgiCiAjaW5jbHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIKKyNpbmNs
dWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCkBA
IC0xMjUzLDYgKzEyNTQsMjQgQEAgaW5saW5lIFN0eWxlU2VsZkFsaWdubWVudERhdGEgU3R5bGVC
dWlsZGVyQ29udmVydGVyOjpjb252ZXJ0U2VsZk9yRGVmYXVsdEFsaWdubWUKIGlubGluZSBTdHls
ZUNvbnRlbnRBbGlnbm1lbnREYXRhIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydENvbnRl
bnRBbGlnbm1lbnREYXRhKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAg
U3R5bGVDb250ZW50QWxpZ25tZW50RGF0YSBhbGlnbm1lbnREYXRhID0gUmVuZGVyU3R5bGU6Omlu
aXRpYWxDb250ZW50QWxpZ25tZW50KCk7CisgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSkgeworICAgICAgICBh
dXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSk7
CisgICAgICAgIHN3aXRjaCAocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpKSB7CisgICAgICAg
IGNhc2UgQ1NTVmFsdWVTdHJldGNoOgorICAgICAgICBjYXNlIENTU1ZhbHVlU3BhY2VCZXR3ZWVu
OgorICAgICAgICBjYXNlIENTU1ZhbHVlU3BhY2VBcm91bmQ6CisgICAgICAgICAgICBhbGlnbm1l
bnREYXRhLnNldERpc3RyaWJ1dGlvbihwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZUZsZXhTdGFydDoKKyAgICAgICAgY2FzZSBDU1NWYWx1
ZUZsZXhFbmQ6CisgICAgICAgIGNhc2UgQ1NTVmFsdWVDZW50ZXI6CisgICAgICAgICAgICBhbGln
bm1lbnREYXRhLnNldFBvc2l0aW9uKHByaW1pdGl2ZVZhbHVlKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGFsaWdubWVudERhdGE7CisgICAgfQogICAgIGF1dG8m
IGNvbnRlbnRWYWx1ZSA9IGRvd25jYXN0PENTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZT4odmFs
dWUpOwogICAgIGlmIChjb250ZW50VmFsdWUuZGlzdHJpYnV0aW9uKCktPmdldFZhbHVlSUQoKSAh
PSBDU1NWYWx1ZUludmFsaWQpCiAgICAgICAgIGFsaWdubWVudERhdGEuc2V0RGlzdHJpYnV0aW9u
KGNvbnRlbnRWYWx1ZS5kaXN0cmlidXRpb24oKS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlci5jcHAKaW5kZXggMWM0NDkwYzI4ZTFhNTI4YjM3MjVmZTFmZmIxNWI1NzJj
YTEyMDVmMC4uNzAwZDFjNmFkYWJlYzUwOGJhZmIyM2E4MTQzMjlhMTNjMmQ0NWNjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcApAQCAtODE5LDYgKzgxOSwxMCBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZEtleXdvcmRQcm9wZXJ0eUFuZFZhbHVlKENTU1Byb3Bl
cnR5SUQgcHJvcGVydHlJZCwgaW50CiAgICAgICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlQXV0
byB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQmFsYW5jZSkKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25Db250ZW50OgorICAg
ICAgICAvLyBGSVhNRTogUGVyIENTUyBhbGlnbm1lbnQsIHRoaXMgcHJvcGVydHkgc2hvdWxkIGFj
Y2VwdCBhbiBvcHRpb25hbCA8b3ZlcmZsb3ctcG9zaXRpb24+LiBXZSBzaG91bGQgc2hhcmUgdGhp
cyBwYXJzaW5nIGNvZGUgd2l0aCAnanVzdGlmeS1zZWxmJy4KKyAgICAgICAgLy8gRklYTUU6IEZv
ciBub3csIHdlIHdpbGwgZG8gaXQgYmVoaW5kIHRoZSBHUklEX0xBWU9VVCBjb21waWxlIGZsYWcu
CisgICAgICAgIHJldHVybiB2YWx1ZUlEID09IENTU1ZhbHVlRmxleFN0YXJ0IHx8IHZhbHVlSUQg
PT0gQ1NTVmFsdWVGbGV4RW5kIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVDZW50ZXIgfHwgdmFsdWVJ
RCA9PSBDU1NWYWx1ZVNwYWNlQmV0d2VlbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU3BhY2VBcm91
bmQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVN0cmV0Y2g7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFs
aWduSXRlbXM6CiAgICAgICAgIC8vIEZJWE1FOiBQZXIgQ1NTIGFsaWdubWVudCwgdGhpcyBwcm9w
ZXJ0eSBzaG91bGQgYWNjZXB0IHRoZSBzYW1lIGFyZ3VtZW50cyBhcyAnanVzdGlmeS1zZWxmJyBz
byB3ZSBzaG91bGQgc2hhcmUgaXRzIHBhcnNpbmcgY29kZS4KICAgICAgICAgLy8gRklYTUU6IEZv
ciBub3csIHdlIHdpbGwgZG8gaXQgYmVoaW5kIHRoZSBHUklEX0xBWU9VVCBjb21waWxlIGZsYWcu
CkBAIC04MzksNiArODQzLDEwIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkS2V5d29yZFBy
b3BlcnR5QW5kVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkLCBpbnQKICAgICAgICAgaWYg
KHZhbHVlSUQgPT0gQ1NTVmFsdWVOb3dyYXAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVdyYXAgfHwg
dmFsdWVJRCA9PSBDU1NWYWx1ZVdyYXBSZXZlcnNlKQogICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5SnVzdGlmeUNvbnRlbnQ6Cisg
ICAgICAgIC8vIEZJWE1FOiBQZXIgQ1NTIGFsaWdubWVudCwgdGhpcyBwcm9wZXJ0eSBzaG91bGQg
YWNjZXB0IGFuIG9wdGlvbmFsIDxvdmVyZmxvdy1wb3NpdGlvbj4uIFdlIHNob3VsZCBzaGFyZSB0
aGlzIHBhcnNpbmcgY29kZSB3aXRoICdqdXN0aWZ5LXNlbGYnLgorICAgICAgICAvLyBGSVhNRTog
Rm9yIG5vdywgd2Ugd2lsbCBkbyBpdCBiZWhpbmQgdGhlIEdSSURfTEFZT1VUIGNvbXBpbGUgZmxh
Zy4KKyAgICAgICAgcmV0dXJuIHZhbHVlSUQgPT0gQ1NTVmFsdWVGbGV4U3RhcnQgfHwgdmFsdWVJ
RCA9PSBDU1NWYWx1ZUZsZXhFbmQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNlbnRlciB8fCB2YWx1
ZUlEID09IENTU1ZhbHVlU3BhY2VCZXR3ZWVuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTcGFjZUFy
b3VuZDsKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udEtlcm5pbmc6CiAgICAgICAgIGlm
ICh2YWx1ZUlEID09IENTU1ZhbHVlQXV0byB8fCB2YWx1ZUlEID09IENTU1ZhbHVlTm9ybWFsIHx8
IHZhbHVlSUQgPT0gQ1NTVmFsdWVOb25lKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0x
MTU1LDYgKzExNjMsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNLZXl3b3JkUHJvcGVydHlJRChD
U1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50
Q2FwczoKICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFZhcmlhbnRBbHRlcm5hdGVzOgogICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICBjYXNlIENTU1Byb3BlcnR5SnVzdGlmeUNvbnRlbnQ6CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eUFsaWduQ29udGVudDoKICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25J
dGVtczoKICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25TZWxmOgogICAgICAgICByZXR1cm4gIVJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5h
YmxlZCgpOwpAQCAtMjczNSw2ICsyNzQ1LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUo
Q1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlKdXN0aWZ5Q29udGVudDoKKyAgICAgICAg
QVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlk
TGF5b3V0RW5hYmxlZCgpKTsKICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZUNvbnRlbnREaXN0
cmlidXRpb25PdmVyZmxvd1Bvc2l0aW9uKCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NT
UHJvcGVydHlKdXN0aWZ5U2VsZjoKQEAgLTMxNTcsNiArMzE2OCw3IEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAg
ICAgYnJlYWs7CiAjZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25Db250ZW50OgorICAg
ICAgICBBU1NFUlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5pc0NT
U0dyaWRMYXlvdXRFbmFibGVkKCkpOwogICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlQ29udGVu
dERpc3RyaWJ1dGlvbk92ZXJmbG93UG9zaXRpb24oKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUFsaWduU2VsZjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGM3ZjMxMDU1MjYzYTYwMzViZjYxNzA5ODQyNzk3M2M3
N2RhMWEzYWEuLjM1NDA5YTFmY2M3YWFhMDBmZWVjZjhjZjA4NmYxMzk3YmVhY2FjNGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMzcs
NiArMzcsNyBAQAogI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIKICNpbmNsdWRlICJSZW5kZXJPYmpl
Y3QuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgorI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIlNoYWRvd0RhdGEuaCIKICNpbmNsdWRlICJTdHlsZUltYWdlLmgiCkBAIC0xOTAsNiArMTkx
LDE1IEBAIFJlbmRlclN0eWxlOjp+UmVuZGVyU3R5bGUoKQogI2VuZGlmCiB9CiAKK2Jvb2wgUmVu
ZGVyU3R5bGU6OmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKQoreworI2lmIEVOQUJMRShDU1NfR1JJ
RF9MQVlPVVQpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKK30KKwogc3RhdGljIFN0eWxlU2VsZkFsaWdubWVudERhdGEgcmVzb2x2ZWRTZWxm
QWxpZ25tZW50KGNvbnN0IFN0eWxlU2VsZkFsaWdubWVudERhdGEmIHZhbHVlLCBJdGVtUG9zaXRp
b24gbm9ybWFsVmFsdWVCZWhhdmlvcikKIHsKICAgICBBU1NFUlQodmFsdWUucG9zaXRpb24oKSAh
PSBJdGVtUG9zaXRpb25BdXRvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgKaW5kZXggOTYwYzkzZDQ2MTU4OTJiMmE4NDkwMGExNjY3OWYxZjMxYTIzYWU5
Ni4uM2MwNWE3Y2QwYWU0MmFjZDRhZTExM2I4ODZkYThlMmZhNDY2OWFlZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTIwMDEsOCArMjAwMSw4
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxGbGV4QmFzaXMoKSB7IHJldHVy
biBMZW5ndGgoQXV0byk7IH0KICAgICBzdGF0aWMgaW50IGluaXRpYWxPcmRlcigpIHsgcmV0dXJu
IDA7IH0KICAgICBzdGF0aWMgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBpbml0aWFsU2VsZkFsaWdu
bWVudCgpIHsgcmV0dXJuIFN0eWxlU2VsZkFsaWdubWVudERhdGEoSXRlbVBvc2l0aW9uQXV0bywg
T3ZlcmZsb3dBbGlnbm1lbnREZWZhdWx0KTsgfQotICAgIHN0YXRpYyBTdHlsZVNlbGZBbGlnbm1l
bnREYXRhIGluaXRpYWxEZWZhdWx0QWxpZ25tZW50KCkgeyByZXR1cm4gU3R5bGVTZWxmQWxpZ25t
ZW50RGF0YShJdGVtUG9zaXRpb25Ob3JtYWwsIE92ZXJmbG93QWxpZ25tZW50RGVmYXVsdCk7IH0K
LSAgICBzdGF0aWMgU3R5bGVDb250ZW50QWxpZ25tZW50RGF0YSBpbml0aWFsQ29udGVudEFsaWdu
bWVudCgpIHsgcmV0dXJuIFN0eWxlQ29udGVudEFsaWdubWVudERhdGEoQ29udGVudFBvc2l0aW9u
Tm9ybWFsLCBDb250ZW50RGlzdHJpYnV0aW9uRGVmYXVsdCwgT3ZlcmZsb3dBbGlnbm1lbnREZWZh
dWx0KTsgfQorICAgIHN0YXRpYyBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIGluaXRpYWxEZWZhdWx0
QWxpZ25tZW50KCkgeyByZXR1cm4gU3R5bGVTZWxmQWxpZ25tZW50RGF0YShpc0NTU0dyaWRMYXlv
dXRFbmFibGVkKCkgPyBJdGVtUG9zaXRpb25Ob3JtYWwgOiBJdGVtUG9zaXRpb25TdHJldGNoLCBP
dmVyZmxvd0FsaWdubWVudERlZmF1bHQpOyB9CisgICAgc3RhdGljIFN0eWxlQ29udGVudEFsaWdu
bWVudERhdGEgaW5pdGlhbENvbnRlbnRBbGlnbm1lbnQoKSB7IHJldHVybiBTdHlsZUNvbnRlbnRB
bGlnbm1lbnREYXRhKGlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSA/IENvbnRlbnRQb3NpdGlvbk5v
cm1hbCA6IENvbnRlbnRQb3NpdGlvbkZsZXhTdGFydCwgQ29udGVudERpc3RyaWJ1dGlvbkRlZmF1
bHQsIE92ZXJmbG93QWxpZ25tZW50RGVmYXVsdCk7IH0KICAgICBzdGF0aWMgRUZsZXhEaXJlY3Rp
b24gaW5pdGlhbEZsZXhEaXJlY3Rpb24oKSB7IHJldHVybiBGbG93Um93OyB9CiAgICAgc3RhdGlj
IEVGbGV4V3JhcCBpbml0aWFsRmxleFdyYXAoKSB7IHJldHVybiBGbGV4Tm9XcmFwOyB9CiAgICAg
c3RhdGljIGludCBpbml0aWFsTWFycXVlZUxvb3BDb3VudCgpIHsgcmV0dXJuIC0xOyB9CkBAIC0y
MDY2LDYgKzIwNjYsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFF1b3Rlc0RhdGEqIGluaXRpYWxR
dW90ZXMoKSB7IHJldHVybiBudWxscHRyOyB9CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW5pdGlhbENvbnRlbnRBbHRUZXh0KCkgeyByZXR1cm4gZW1wdHlBdG9tOyB9CiAKKyAgICBz
dGF0aWMgYm9vbCBpc0NTU0dyaWRMYXlvdXRFbmFibGVkKCk7CisKICAgICBzdGF0aWMgV2lsbENo
YW5nZURhdGEqIGluaXRpYWxXaWxsQ2hhbmdlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCiAjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMGE5OWMzYTU3NjI2N2QwYzNiNDQ3ZDY2Njcx
YmJjN2JkMDIwYjAxLi40ZjYzOTFjYTcxNDViNzM2NmE4ZGVmOWE4YTFmMTA0NjY5M2E2ZTZjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDgtMjkgIEphdmllciBGZXJuYW5kZXogIDxqZmVy
bmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1hbGlnbl0gSW5pdGlhbCB2YWx1ZXMg
YXJlIHBhcnNlZCBhcyBpbnZhbGlkIGZvciBzb21lIEFsaWdubWVudCBwcm9wZXJ0aWVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEzMDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRvIHZlcmlm
eSB0aGUgImluaXRpYWwiIHZhbHVlcyBvZiB0aGUgQ1NTIEJveCBBbGlnbm1lbnQgcHJvcGVydGll
cworICAgICAgICBhcmUgcGFyc2VkIGFzIHZhbGlkIGluZGVwZW5kZW50bHkgb2Ygd2hldGhlciBH
cmlkIExheW91dCBpcyBlbmFibGVkIG9yIG5vdC4KKworICAgICAgICAqIGZhc3QvY3NzL2Vuc3Vy
ZS1mbGV4Ym94LWNvbXBhdGliaWxpdHktd2l0aC1pbml0aWFsLXZhbHVlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2Vuc3VyZS1mbGV4Ym94LWNvbXBhdGliaWxpdHkt
d2l0aC1pbml0aWFsLXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9yZXNv
dXJjZXMvYWxpZ25tZW50LXBhcnNpbmctdXRpbHMuanM6CisgICAgICAgIChjaGVja1N1cHBvcnRl
ZFZhbHVlcyk6CisKIDIwMTYtMDgtMjkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBXZSBzaG91bGQgdGhyb3cgYSBTZWN1cml0eUVycm9yIHdoZW4gZGVueWluZyBz
ZXR0aW5nIGEgY3Jvc3Mtb3JpZ2luIFdpbmRvdyBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZW5zdXJlLWZsZXhib3gtY29tcGF0aWJpbGl0eS13aXRoLWluaXRpYWwt
dmFsdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Vuc3VyZS1mbGV4Ym94
LWNvbXBhdGliaWxpdHktd2l0aC1pbml0aWFsLXZhbHVlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzRlOWZkOGFkMGJjZDZjOGFhNGQzODcwYjY4M2M1OGI4MzY3ODk4NAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Vuc3VyZS1mbGV4Ym94LWNvbXBhdGliaWxpdHkt
d2l0aC1pbml0aWFsLXZhbHVlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NSBAQAorVGVzdCB0
byB2ZXJpZnkgaW5pdGlhbCB2YWx1ZXMgb2YgYWxpZ25tZW50IHByb3BlcnRpZXMgYXJlIGJhY2t3
YXJkLWNvbWFwdGlibGUgd2l0aCBmbGV4Ym94IGltcGxlbWVudGF0aW9uLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworCitWZXJpZnlpbmcgaW5pdGlhbCB2YWx1ZXMgYXJlIHN1cHBv
cnRlZCB3aGVuIGdyaWQgaXMgRU5BQkxFRC4KK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1pdGVt
cycsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdu
b3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tY29udGVudCcsICdub3Jt
YWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnanVzdGlmeS1jb250ZW50JywgJ25vcm1h
bCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1pdGVtcycsICdub3JtYWwnKSBp
cyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdub3JtYWwnKSBpcyB0cnVl
CitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tY29udGVudCcsICdub3JtYWwnKSBpcyB0cnVlCitQ
QVNTIENTUy5zdXBwb3J0cygnanVzdGlmeS1jb250ZW50JywgJ25vcm1hbCcpIGlzIHRydWUKK1BB
U1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1pdGVtcycsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENT
Uy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBw
b3J0cygnYWxpZ24tY29udGVudCcsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0
cygnanVzdGlmeS1jb250ZW50JywgJ25vcm1hbCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRz
KCdhbGlnbi1pdGVtcycsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxp
Z24tc2VsZicsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tY29u
dGVudCcsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnanVzdGlmeS1jb250
ZW50JywgJ25vcm1hbCcpIGlzIHRydWUKKworVmVyaWZ5aW5nIGluaXRpYWwgdmFsdWVzIGFyZSBz
dXBwb3J0ZWQgd2hlbiBncmlkIGlzIERJU0FCTEVELgorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWdu
LWl0ZW1zJywgJ3N0cmV0Y2gnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tc2Vs
ZicsICdzdHJldGNoJykgaXMgdHJ1ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWduLWNvbnRlbnQn
LCAnZmxleC1zdGFydCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdqdXN0aWZ5LWNvbnRl
bnQnLCAnZmxleC1zdGFydCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1pdGVt
cycsICdzdHJldGNoJykgaXMgdHJ1ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWduLXNlbGYnLCAn
c3RyZXRjaCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1jb250ZW50JywgJ2Zs
ZXgtc3RhcnQnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnanVzdGlmeS1jb250ZW50Jywg
J2ZsZXgtc3RhcnQnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24taXRlbXMnLCAn
c3RyZXRjaCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1zZWxmJywgJ3N0cmV0
Y2gnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tY29udGVudCcsICdmbGV4LXN0
YXJ0JykgaXMgdHJ1ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2p1c3RpZnktY29udGVudCcsICdmbGV4
LXN0YXJ0JykgaXMgdHJ1ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWduLWl0ZW1zJywgJ3N0cmV0
Y2gnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdzdHJldGNoJykg
aXMgdHJ1ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWduLWNvbnRlbnQnLCAnZmxleC1zdGFydCcp
IGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdqdXN0aWZ5LWNvbnRlbnQnLCAnZmxleC1zdGFy
dCcpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9lbnN1cmUtZmxleGJveC1j
b21wYXRpYmlsaXR5LXdpdGgtaW5pdGlhbC12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2Vuc3VyZS1mbGV4Ym94LWNvbXBhdGliaWxpdHktd2l0aC1pbml0aWFsLXZhbHVlcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI1MGNhMzZhZjM0ZDU4MWVlNDU5OTMyMmRjNjMyNTJlY2FhNDI4Y2QKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9lbnN1cmUtZmxleGJveC1jb21w
YXRpYmlsaXR5LXdpdGgtaW5pdGlhbC12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDY2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2FsaWdubWVudC1wYXJzaW5nLXV0aWxzLmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRvIHZlcmlm
eSBpbml0aWFsIHZhbHVlcyBvZiBhbGlnbm1lbnQgcHJvcGVydGllcyBhcmUgYmFja3dhcmQtY29t
YXB0aWJsZSB3aXRoIGZsZXhib3ggaW1wbGVtZW50YXRpb24uJyk7CisKK2Z1bmN0aW9uIHNldElu
aXRpYWxWYWx1ZXMoZWxlbWVudCkKK3sKKyAgICBlbGVtZW50LnN0eWxlLmFsaWduSXRlbXMgPSAi
aW5pdGlhbCI7CisgICAgZWxlbWVudC5zdHlsZS5hbGlnbkNvbnRlbnQgPSAiaW5pdGlhbCI7Cisg
ICAgZWxlbWVudC5zdHlsZS5qdXN0aWZ5Q29udGVudCA9ICJpbml0aWFsIjsKK30KKworZnVuY3Rp
b24gY2hlY2tTdXBwb3J0ZWRJbml0aWFsVmFsdWVzKGVsZW1lbnQpCit7CisgICAgY2hlY2tTdXBw
b3J0ZWRWYWx1ZXMoZWxlbWVudC5pZCwgImFsaWduLWl0ZW1zIik7CisgICAgY2hlY2tTdXBwb3J0
ZWRWYWx1ZXMoZWxlbWVudC5pZCwgImFsaWduLXNlbGYiKTsKKyAgICBjaGVja1N1cHBvcnRlZFZh
bHVlcyhlbGVtZW50LmlkLCAiYWxpZ24tY29udGVudCIpOworICAgIGNoZWNrU3VwcG9ydGVkVmFs
dWVzKGVsZW1lbnQuaWQsICJqdXN0aWZ5LWNvbnRlbnQiKTsKK30KKworZnVuY3Rpb24gY2hlY2tJ
bml0aWFsVmFsdWVzKGdyaWRFbmFibGVkKQoreworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldENTU0dyaWRMYXlvdXRFbmFibGVkKGdyaWRFbmFi
bGVkKTsKKworICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworICAgIHZhciBjb250YWluZXIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBjb250YWluZXIuaWQgPSAiY29u
dGFpbmVyIjsKKyAgICByb290LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CisgICAgdmFyIGl0ZW0g
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBpdGVtLmlkID0gIml0ZW0iOwor
ICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChpdGVtKTsKKworICAgIHZhciBmbGV4Q29udGFpbmVy
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZmxleENvbnRhaW5lci5pZCA9
ICJmbGV4Q29udGFpbmVyIjsKKyAgICBmbGV4Q29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAiZmxl
eCI7CisgICAgcm9vdC5hcHBlbmRDaGlsZChmbGV4Q29udGFpbmVyKTsKKyAgICB2YXIgZmxleEl0
ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBmbGV4SXRlbS5pZCA9ICJm
bGV4SXRlbSI7CisgICAgZmxleENvbnRhaW5lci5hcHBlbmRDaGlsZChmbGV4SXRlbSk7CisKKyAg
ICBzZXRJbml0aWFsVmFsdWVzKHJvb3QpOworICAgIHNldEluaXRpYWxWYWx1ZXMoY29udGFpbmVy
KTsKKyAgICBzZXRJbml0aWFsVmFsdWVzKGl0ZW0pOworICAgIHNldEluaXRpYWxWYWx1ZXMoZmxl
eENvbnRhaW5lcik7CisgICAgc2V0SW5pdGlhbFZhbHVlcyhmbGV4SXRlbSk7CisKKyAgICBjaGVj
a1N1cHBvcnRlZEluaXRpYWxWYWx1ZXMoY29udGFpbmVyKTsKKyAgICBjaGVja1N1cHBvcnRlZElu
aXRpYWxWYWx1ZXMoaXRlbSk7CisgICAgY2hlY2tTdXBwb3J0ZWRJbml0aWFsVmFsdWVzKGZsZXhD
b250YWluZXIpOworICAgIGNoZWNrU3VwcG9ydGVkSW5pdGlhbFZhbHVlcyhmbGV4SXRlbSk7CisK
KyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHJvb3QpOworfQorCitkZWJ1ZygnPGJyPlZl
cmlmeWluZyBpbml0aWFsIHZhbHVlcyBhcmUgc3VwcG9ydGVkIHdoZW4gZ3JpZCBpcyBFTkFCTEVE
LicpOworY2hlY2tJbml0aWFsVmFsdWVzKHRydWUpOworCitkZWJ1ZygnPGJyPlZlcmlmeWluZyBp
bml0aWFsIHZhbHVlcyBhcmUgc3VwcG9ydGVkIHdoZW4gZ3JpZCBpcyBESVNBQkxFRC4nKTsKK2No
ZWNrSW5pdGlhbFZhbHVlcyhmYWxzZSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL3Jlc291cmNlcy9hbGlnbm1lbnQtcGFyc2luZy11dGlscy5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Jlc291cmNlcy9hbGlnbm1lbnQtcGFyc2luZy11dGls
cy5qcwppbmRleCBjOGQ2YjI3ODIyMTZkMTQyMzYwMGQ0MTIyOGExMGI4YTkyZTJlYzM5Li5jODg2
NmIwNGM3MGQ0ZTgwMDVmYmIzODc3MDg4M2FhYTZmZTk2ZmViIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9yZXNvdXJjZXMvYWxpZ25tZW50LXBhcnNpbmctdXRpbHMuanMKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvcmVzb3VyY2VzL2FsaWdubWVudC1wYXJzaW5nLXV0aWxzLmpz
CkBAIC00NiwzICs0Niw5IEBAIGZ1bmN0aW9uIGNoZWNrTGVnYWN5VmFsdWVzKHByb3BlcnR5LCBw
cm9wZXJ0eUlELCB2YWx1ZSkKICAgICBwYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnQp
OwogICAgIGNoZWNrVmFsdWVzKGVsZW1lbnQsIHByb3BlcnR5LCBwcm9wZXJ0eUlELCAiIiwgdmFs
dWUpOwogfQorCitmdW5jdGlvbiBjaGVja1N1cHBvcnRlZFZhbHVlcyhlbGVtZW50SUQsIHByb3Bl
cnR5KQoreworICAgIHZhciB2YWx1ZSA9IGV2YWwoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCIg
KyBlbGVtZW50SUQgKyAiICwgJycpLmdldFByb3BlcnR5VmFsdWUoJyIgKyBwcm9wZXJ0eSArICIn
KSIpOworICAgIHNob3VsZEJlVHJ1ZSgiQ1NTLnN1cHBvcnRzKCciICsgcHJvcGVydHkgKyAiJywg
JyIgKyB2YWx1ZSArICInKSIpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288561</attachid>
            <date>2016-09-12 02:32:56 -0700</date>
            <delta_ts>2016-09-12 04:49:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161303-20160912113023.patch</filename>
            <type>text/plain</type>
            <size>19790</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDVhMjRmMWRmNTFiZjk0
NTY1Zjk4OGMwOTAyNWU2Nzg0MGNiMTQ5Ni4uMTE5ODY0YzJlZWQ5ZjcyMTIxMGEwY2YwZWM3ZTY2
Nzg0ZGQ1MjM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA4LTI5ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtYWxp
Z25dIEluaXRpYWwgdmFsdWVzIGFyZSBwYXJzZWQgYXMgaW52YWxpZCBmb3Igc29tZSBBbGlnbm1l
bnQgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYxMzAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgRHVlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgbmV3IENTUyBCb3ggQWxpZ25tZW50
IHNwZWNpZmljYXRpb24sCisgICAgICAgIHNvbWUgcHJvcGVydGllcyBoYXZlIG5vdyBuZXcgdmFs
dWVzIGFsbG93ZWQsIHdoaWNoIGFyZSBub3QgdmFsaWQKKyAgICAgICAgYWNjb3JkaW5nIHRvIHRo
ZSBGbGV4aWJsZSBCb3ggTGF5b3V0IHNwZWNpZmljYXRpb24uCisKKyAgICAgICAgSW4gcjIwNTEw
MiB3ZSBoYXZlIGdldCBiYWNrIHRoZSBrZXl3b3JkSUQgcGFyc2luZywgb3JpZ2luYWxseSBpbXBs
ZW1lbnRlZCBmb3IKKyAgICAgICAgdGhlIEZsZXhiaWJsZSBCb3ggTGF5b3V0IHNwZWNpZmljYXRp
b24uIEV2ZW4gdGhvdWdoIHRoZSBuZXcgdmFsdWVkIHdvdWxkIGJlCisgICAgICAgIHBhcnNlZCBh
cyBpbnZhbGlkIHdoZW4gdGhleSBhcmUgc2V0LCB0aGUgJ2luaXRpYWwnIHZhbHVlcyB3aWxsIGJl
IGFzc2lnbmVkCisgICAgICAgIGluIGFueSBjYXNlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggdmVy
aWZpZXMgdGhhdCB0aGUgJ2luaXRpYWwnIHZhbHVlcyBkZXBlbmQgb24gd2hldGhlciB0aGUgR3Jp
ZAorICAgICAgICBMYXlvdXQgaXMgZW5hYmxlZCBvciBub3QgYW5kIHZlcmlmeWluZyBzdWNoIHZh
bHVlcyBhcmUgcGFyc2VkIGFzIHZhbGlkLgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgaXQgZ2V0
cyBiYWNrIGFzIHdlbGwgdGhleSBrZXl3b3JkSUQgcGFyc2luZyBmb3IgdGhlIENvbnRlbnQKKyAg
ICAgICAgQWxpZ25tZW50IHByb3BlcnRpZXMgKGFsaWduLWNvbnRlbnQgYW5kIGp1c3RpZnktY29u
dGVudCkuIFRoaXMgcmVxdWlyZWQgdG8KKyAgICAgICAgdG91Y2ggYSBiaXQgdGhlIFN0eWxlQnVp
bGRlckNvbnZlcnRlciBsb2dpYywgc2luY2Ugd2Ugd2lsbCBoYXZlIHRvIGRlYWwgd2l0aAorICAg
ICAgICBlaXRoZXIgdGhlIGNvbXBsZXggQ1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlIGNvbXBs
ZXggb3IgdGhlICBzaW1wbGVyCisgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlLgorCisgICAgICAg
IFRlc3Q6IGZhc3QvY3NzL2Vuc3VyZS1mbGV4Ym94LWNvbXBhdGliaWxpdHktd2l0aC1pbml0aWFs
LXZhbHVlcy5odG1sCisKKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRDb250ZW50QWxp
Z25tZW50RGF0YSk6IEhhbmRsaW5nIGEgcHJpbWl0aXZlIHZhbHVlIGlmIEdyaWQgTGF5b3V0IGlz
IG5vdCBlbmFibGVkLgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmlzVmFsaWRLZXl3b3JkUHJvcGVydHlBbmRWYWx1ZSk6IFNpbXBsZXIgcGFy
c2luZyBvZiBhbGlnbm1lbnQgcHJvcGVydGllcyBpZiBHcmlkIExheW91dCBpcyBub3QgZW5hYmxl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OmlzS2V5d29yZFByb3BlcnR5SUQpOiBBbGlnbm1lbnQgcHJv
cGVydGllcyBhcmUgZGVmaW5lZCBhcyBrZXl3b3JkIGlmIEdyaWQgTGF5b3V0IGlzIG5vIGVuYWJs
ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOiBBc3NlcnQgR3Jp
ZCBMYXlvdXQgaXMgZW5hYmxlZCB3aGVuIHVzaW5nIHRoZSBjb21wbGV4IHBhcnNpbmcuCisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN0eWxlOjppc0NTU0dyaWRMYXlvdXRFbmFibGVkKTogQ2hlY2tpbmcgb3V0IHRoZSBH
cmlkIExheW91dCBydW50aW1lIGZsYWdzLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxEZWZhdWx0
QWxpZ25tZW50KTogSW5pdGlhbCB2YWx1ZSB3aWxsIGRlcGVuZCBvbiB3aGV0aGVyIEdyaWQgTGF5
b3V0IGlzIGVuYWJsZWQgb3Igbm90LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Omlu
aXRpYWxDb250ZW50QWxpZ25tZW50KTogSW5pdGlhbCB2YWx1ZSB3aWxsIGRlcGVuZCBvbiB3aGV0
aGVyIEdyaWQgTGF5b3V0IGlzIGVuYWJsZWQgb3Igbm90LgorCiAyMDE2LTA5LTExICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSFRNTFRyYWNrRWxlbWVudC5raW5k
J3MgaW52YWxpZCB2YWx1ZSBkZWZhdWx0IHNob3VsZCBiZSB0aGUgbWV0YWRhdGEgc3RhdGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAppbmRleCBjZjRmZDcyMjU2
NDU2MmE0Mjk1NDMzYzExNmUyODYyMmZlYjFiYjNjLi5hNWE2MDk2MWU4NzFkZjJmOWNhOTI4NTZi
ZWIwYTY0MzNmOGJkNzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWls
ZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZl
cnRlci5oCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSAiTGVuZ3RoUmVwZWF0LmgiCiAjaW5j
bHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIKKyNpbmNsdWRlICJSdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCkBAIC0xMjUzLDEzICsx
MjU0LDMzIEBAIGlubGluZSBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFN0eWxlQnVpbGRlckNvbnZl
cnRlcjo6Y29udmVydFNlbGZPckRlZmF1bHRBbGlnbm1lCiBpbmxpbmUgU3R5bGVDb250ZW50QWxp
Z25tZW50RGF0YSBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRDb250ZW50QWxpZ25tZW50
RGF0YShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmIHZhbHVlKQogewogICAgIFN0eWxlQ29udGVu
dEFsaWdubWVudERhdGEgYWxpZ25tZW50RGF0YSA9IFJlbmRlclN0eWxlOjppbml0aWFsQ29udGVu
dEFsaWdubWVudCgpOwotICAgIGF1dG8mIGNvbnRlbnRWYWx1ZSA9IGRvd25jYXN0PENTU0NvbnRl
bnREaXN0cmlidXRpb25WYWx1ZT4odmFsdWUpOwotICAgIGlmIChjb250ZW50VmFsdWUuZGlzdHJp
YnV0aW9uKCktPmdldFZhbHVlSUQoKSAhPSBDU1NWYWx1ZUludmFsaWQpCi0gICAgICAgIGFsaWdu
bWVudERhdGEuc2V0RGlzdHJpYnV0aW9uKGNvbnRlbnRWYWx1ZS5kaXN0cmlidXRpb24oKS5nZXQo
KSk7Ci0gICAgaWYgKGNvbnRlbnRWYWx1ZS5wb3NpdGlvbigpLT5nZXRWYWx1ZUlEKCkgIT0gQ1NT
VmFsdWVJbnZhbGlkKQotICAgICAgICBhbGlnbm1lbnREYXRhLnNldFBvc2l0aW9uKGNvbnRlbnRW
YWx1ZS5wb3NpdGlvbigpLmdldCgpKTsKLSAgICBpZiAoY29udGVudFZhbHVlLm92ZXJmbG93KCkt
PmdldFZhbHVlSUQoKSAhPSBDU1NWYWx1ZUludmFsaWQpCi0gICAgICAgIGFsaWdubWVudERhdGEu
c2V0T3ZlcmZsb3coY29udGVudFZhbHVlLm92ZXJmbG93KCkuZ2V0KCkpOworI2lmIEVOQUJMRShD
U1NfR1JJRF9MQVlPVVQpCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKSB7CisgICAgICAgIGF1dG8mIGNvbnRl
bnRWYWx1ZSA9IGRvd25jYXN0PENTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZT4odmFsdWUpOwor
ICAgICAgICBpZiAoY29udGVudFZhbHVlLmRpc3RyaWJ1dGlvbigpLT5nZXRWYWx1ZUlEKCkgIT0g
Q1NTVmFsdWVJbnZhbGlkKQorICAgICAgICAgICAgYWxpZ25tZW50RGF0YS5zZXREaXN0cmlidXRp
b24oY29udGVudFZhbHVlLmRpc3RyaWJ1dGlvbigpLmdldCgpKTsKKyAgICAgICAgaWYgKGNvbnRl
bnRWYWx1ZS5wb3NpdGlvbigpLT5nZXRWYWx1ZUlEKCkgIT0gQ1NTVmFsdWVJbnZhbGlkKQorICAg
ICAgICAgICAgYWxpZ25tZW50RGF0YS5zZXRQb3NpdGlvbihjb250ZW50VmFsdWUucG9zaXRpb24o
KS5nZXQoKSk7CisgICAgICAgIGlmIChjb250ZW50VmFsdWUub3ZlcmZsb3coKS0+Z2V0VmFsdWVJ
RCgpICE9IENTU1ZhbHVlSW52YWxpZCkKKyAgICAgICAgICAgIGFsaWdubWVudERhdGEuc2V0T3Zl
cmZsb3coY29udGVudFZhbHVlLm92ZXJmbG93KCkuZ2V0KCkpOworICAgICAgICByZXR1cm4gYWxp
Z25tZW50RGF0YTsKKyAgICB9CisjZW5kaWYKKyAgICBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRv
d25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSk7CisgICAgc3dpdGNoIChwcmltaXRpdmVW
YWx1ZS5nZXRWYWx1ZUlEKCkpIHsKKyAgICBjYXNlIENTU1ZhbHVlU3RyZXRjaDoKKyAgICBjYXNl
IENTU1ZhbHVlU3BhY2VCZXR3ZWVuOgorICAgIGNhc2UgQ1NTVmFsdWVTcGFjZUFyb3VuZDoKKyAg
ICAgICAgYWxpZ25tZW50RGF0YS5zZXREaXN0cmlidXRpb24ocHJpbWl0aXZlVmFsdWUpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIENTU1ZhbHVlRmxleFN0YXJ0OgorICAgIGNhc2UgQ1NTVmFs
dWVGbGV4RW5kOgorICAgIGNhc2UgQ1NTVmFsdWVDZW50ZXI6CisgICAgICAgIGFsaWdubWVudERh
dGEuc2V0UG9zaXRpb24ocHJpbWl0aXZlVmFsdWUpOworICAgICAgICBicmVhazsKKyAgICBkZWZh
dWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CiAgICAgcmV0dXJuIGFs
aWdubWVudERhdGE7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcApp
bmRleCA2ZGZhZjQ4YmNiNTFlZWU1NTMxMDJiMWQ1YzgxZGU5ZmY1MmM5ZDRjLi5iYzBkZDU0ZGQx
MjQwZWZmNGMyOTljZmRjNDFmN2UxMjEzZTg3MDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXIuY3BwCkBAIC04MTksNiArODE5LDEwIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c1ZhbGlkS2V5d29yZFByb3BlcnR5QW5kVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkLCBp
bnQKICAgICAgICAgaWYgKHZhbHVlSUQgPT0gQ1NTVmFsdWVBdXRvIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVCYWxhbmNlKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlBbGlnbkNvbnRlbnQ6CisgICAgICAgIC8vIEZJWE1FOiBQZXIg
Q1NTIGFsaWdubWVudCwgdGhpcyBwcm9wZXJ0eSBzaG91bGQgYWNjZXB0IGFuIG9wdGlvbmFsIDxv
dmVyZmxvdy1wb3NpdGlvbj4uIFdlIHNob3VsZCBzaGFyZSB0aGlzIHBhcnNpbmcgY29kZSB3aXRo
ICdqdXN0aWZ5LXNlbGYnLgorICAgICAgICAvLyBGSVhNRTogRm9yIG5vdywgd2Ugd2lsbCBkbyBp
dCBiZWhpbmQgdGhlIEdSSURfTEFZT1VUIGNvbXBpbGUgZmxhZy4KKyAgICAgICAgcmV0dXJuIHZh
bHVlSUQgPT0gQ1NTVmFsdWVGbGV4U3RhcnQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUZsZXhFbmQg
fHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNlbnRlciB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU3BhY2VC
ZXR3ZWVuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTcGFjZUFyb3VuZCB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlU3RyZXRjaDsKICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25JdGVtczoKICAgICAgICAg
Ly8gRklYTUU6IFBlciBDU1MgYWxpZ25tZW50LCB0aGlzIHByb3BlcnR5IHNob3VsZCBhY2NlcHQg
dGhlIHNhbWUgYXJndW1lbnRzIGFzICdqdXN0aWZ5LXNlbGYnIHNvIHdlIHNob3VsZCBzaGFyZSBp
dHMgcGFyc2luZyBjb2RlLgogICAgICAgICAvLyBGSVhNRTogRm9yIG5vdywgd2Ugd2lsbCBkbyBp
dCBiZWhpbmQgdGhlIEdSSURfTEFZT1VUIGNvbXBpbGUgZmxhZy4KQEAgLTgzOSw2ICs4NDMsMTAg
QEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRLZXl3b3JkUHJvcGVydHlBbmRWYWx1ZShDU1NQ
cm9wZXJ0eUlEIHByb3BlcnR5SWQsIGludAogICAgICAgICBpZiAodmFsdWVJRCA9PSBDU1NWYWx1
ZU5vd3JhcCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlV3JhcCB8fCB2YWx1ZUlEID09IENTU1ZhbHVl
V3JhcFJldmVyc2UpCiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlKdXN0aWZ5Q29udGVudDoKKyAgICAgICAgLy8gRklYTUU6IFBl
ciBDU1MgYWxpZ25tZW50LCB0aGlzIHByb3BlcnR5IHNob3VsZCBhY2NlcHQgYW4gb3B0aW9uYWwg
PG92ZXJmbG93LXBvc2l0aW9uPi4gV2Ugc2hvdWxkIHNoYXJlIHRoaXMgcGFyc2luZyBjb2RlIHdp
dGggJ2p1c3RpZnktc2VsZicuCisgICAgICAgIC8vIEZJWE1FOiBGb3Igbm93LCB3ZSB3aWxsIGRv
IGl0IGJlaGluZCB0aGUgR1JJRF9MQVlPVVQgY29tcGlsZSBmbGFnLgorICAgICAgICByZXR1cm4g
dmFsdWVJRCA9PSBDU1NWYWx1ZUZsZXhTdGFydCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRmxleEVu
ZCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ2VudGVyIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTcGFj
ZUJldHdlZW4gfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVNwYWNlQXJvdW5kOwogICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRGb250S2VybmluZzoKICAgICAgICAgaWYgKHZhbHVlSUQgPT0gQ1NTVmFs
dWVBdXRvIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVOb3JtYWwgfHwgdmFsdWVJRCA9PSBDU1NWYWx1
ZU5vbmUpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTExNTUsNiArMTE2Myw4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc0tleXdvcmRQcm9wZXJ0eUlEKENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJZCkKICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFZhcmlhbnRDYXBzOgogICAgIGNhc2UgQ1NT
UHJvcGVydHlGb250VmFyaWFudEFsdGVybmF0ZXM6CiAgICAgICAgIHJldHVybiB0cnVlOworICAg
IGNhc2UgQ1NTUHJvcGVydHlKdXN0aWZ5Q29udGVudDoKKyAgICBjYXNlIENTU1Byb3BlcnR5QWxp
Z25Db250ZW50OgogICAgIGNhc2UgQ1NTUHJvcGVydHlBbGlnbkl0ZW1zOgogICAgIGNhc2UgQ1NT
UHJvcGVydHlBbGlnblNlbGY6CiAjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKQEAgLTI3Mzgs
MTAgKzI3NDgsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBw
cm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKICAgICBjYXNlIENTU1Byb3BlcnR5
SnVzdGlmeUNvbnRlbnQ6CisgICAgICAgIEFTU0VSVChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSk7CiAgICAgICAgIHBhcnNl
ZFZhbHVlID0gcGFyc2VDb250ZW50RGlzdHJpYnV0aW9uT3ZlcmZsb3dQb3NpdGlvbigpOwogICAg
ICAgICBicmVhazsKLSNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQogICAgIGNhc2UgQ1NTUHJv
cGVydHlKdXN0aWZ5U2VsZjoKICAgICAgICAgaWYgKCFpc0NTU0dyaWRMYXlvdXRFbmFibGVkKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zMTYyLDEwICszMTczLDExIEBAIGJvb2wg
Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFu
dCkKICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZUltYWdlUmVzb2x1dGlvbigpOwogICAgICAg
ICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCiAgICAgY2FzZSBD
U1NQcm9wZXJ0eUFsaWduQ29udGVudDoKKyAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKTsKICAgICAg
ICAgcGFyc2VkVmFsdWUgPSBwYXJzZUNvbnRlbnREaXN0cmlidXRpb25PdmVyZmxvd1Bvc2l0aW9u
KCk7CiAgICAgICAgIGJyZWFrOwotI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUFsaWduU2VsZjoKICAgICAgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpKTsKICAgICAg
ICAgcmV0dXJuIHBhcnNlSXRlbVBvc2l0aW9uT3ZlcmZsb3dQb3NpdGlvbihwcm9wSWQsIGltcG9y
dGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cAppbmRleCBhYjE4YzI2ODE2ZTc1ZWFjNzNiZTY4MjgxYjU4NTE4MTU2YWI3NThjLi40OWNhMmFj
ZDI4NGFmMWNkMWYyYTc5ZWMwMmI3NmEwMzg5NDMzZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTEzOTgsNyArMTM5OCwxMSBAQCB2
b2lkIFJlbmRlckZsZXhpYmxlQm94OjphbGlnbkNoaWxkcmVuKGNvbnN0IFZlY3RvcjxMaW5lQ29u
dGV4dD4mIGxpbmVDb250ZXh0cykKICAgICAgICAgICAgICAgICAvLyB5ZXQgZm9yIEZsZXhpYmxl
Qm94LgogICAgICAgICAgICAgICAgIC8vIERlZmF1bHRpbmcgdG8gU3RyZXRjaCBmb3Igbm93LCBh
cyBpdCB3aGF0IG1vc3Qgb2YgRmxleEJveCBiYXNlZCByZW5kZXJzCiAgICAgICAgICAgICAgICAg
Ly8gZXhwZWN0IGFzIGRlZmF1bHQuCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKICAgICAg
ICAgICAgICAgICBBU1NFUlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkKCkpOworI2Vsc2UKKyAgICAgICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgogICAgICAgICAgICAgICAgIEZBTExUSFJPVUdIOwog
ICAgICAgICAgICAgY2FzZSBJdGVtUG9zaXRpb25TdHJldGNoOiB7CiAgICAgICAgICAgICAgICAg
YXBwbHlTdHJldGNoQWxpZ25tZW50VG9DaGlsZCgqY2hpbGQsIGxpbmVDcm9zc0F4aXNFeHRlbnQp
OwpAQCAtMTQzNCw3ICsxNDM4LDExIEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmFsaWduQ2hp
bGRyZW4oY29uc3QgVmVjdG9yPExpbmVDb250ZXh0PiYgbGluZUNvbnRleHRzKQogICAgICAgICAg
ICAgY2FzZSBJdGVtUG9zaXRpb25SaWdodDoKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogaHR0
cHM6Ly93ZWJraXQub3JnL2IvMTM1NDYwIC0gVGhlIGV4dGVuZGVkIGdyYW1tYXIgaXMgbm90IHN1
cHBvcnRlZAogICAgICAgICAgICAgICAgIC8vIHlldCBmb3IgRmxleGlibGVCb3guCisjaWYgRU5B
QkxFKENTU19HUklEX0xBWU9VVCkKICAgICAgICAgICAgICAgICBBU1NFUlQoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkKCkpOwor
I2Vsc2UKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGM3ZjMxMDU1MjYzYTYwMzViZjYxNzA5ODQyNzk3M2M3
N2RhMWEzYWEuLjM1NDA5YTFmY2M3YWFhMDBmZWVjZjhjZjA4NmYxMzk3YmVhY2FjNGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMzcs
NiArMzcsNyBAQAogI2luY2x1ZGUgIlF1b3Rlc0RhdGEuaCIKICNpbmNsdWRlICJSZW5kZXJPYmpl
Y3QuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgorI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIlNoYWRvd0RhdGEuaCIKICNpbmNsdWRlICJTdHlsZUltYWdlLmgiCkBAIC0xOTAsNiArMTkx
LDE1IEBAIFJlbmRlclN0eWxlOjp+UmVuZGVyU3R5bGUoKQogI2VuZGlmCiB9CiAKK2Jvb2wgUmVu
ZGVyU3R5bGU6OmlzQ1NTR3JpZExheW91dEVuYWJsZWQoKQoreworI2lmIEVOQUJMRShDU1NfR1JJ
RF9MQVlPVVQpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKK30KKwogc3RhdGljIFN0eWxlU2VsZkFsaWdubWVudERhdGEgcmVzb2x2ZWRTZWxm
QWxpZ25tZW50KGNvbnN0IFN0eWxlU2VsZkFsaWdubWVudERhdGEmIHZhbHVlLCBJdGVtUG9zaXRp
b24gbm9ybWFsVmFsdWVCZWhhdmlvcikKIHsKICAgICBBU1NFUlQodmFsdWUucG9zaXRpb24oKSAh
PSBJdGVtUG9zaXRpb25BdXRvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgKaW5kZXggOTYwYzkzZDQ2MTU4OTJiMmE4NDkwMGExNjY3OWYxZjMxYTIzYWU5
Ni4uM2MwNWE3Y2QwYWU0MmFjZDRhZTExM2I4ODZkYThlMmZhNDY2OWFlZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTIwMDEsOCArMjAwMSw4
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxGbGV4QmFzaXMoKSB7IHJldHVy
biBMZW5ndGgoQXV0byk7IH0KICAgICBzdGF0aWMgaW50IGluaXRpYWxPcmRlcigpIHsgcmV0dXJu
IDA7IH0KICAgICBzdGF0aWMgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBpbml0aWFsU2VsZkFsaWdu
bWVudCgpIHsgcmV0dXJuIFN0eWxlU2VsZkFsaWdubWVudERhdGEoSXRlbVBvc2l0aW9uQXV0bywg
T3ZlcmZsb3dBbGlnbm1lbnREZWZhdWx0KTsgfQotICAgIHN0YXRpYyBTdHlsZVNlbGZBbGlnbm1l
bnREYXRhIGluaXRpYWxEZWZhdWx0QWxpZ25tZW50KCkgeyByZXR1cm4gU3R5bGVTZWxmQWxpZ25t
ZW50RGF0YShJdGVtUG9zaXRpb25Ob3JtYWwsIE92ZXJmbG93QWxpZ25tZW50RGVmYXVsdCk7IH0K
LSAgICBzdGF0aWMgU3R5bGVDb250ZW50QWxpZ25tZW50RGF0YSBpbml0aWFsQ29udGVudEFsaWdu
bWVudCgpIHsgcmV0dXJuIFN0eWxlQ29udGVudEFsaWdubWVudERhdGEoQ29udGVudFBvc2l0aW9u
Tm9ybWFsLCBDb250ZW50RGlzdHJpYnV0aW9uRGVmYXVsdCwgT3ZlcmZsb3dBbGlnbm1lbnREZWZh
dWx0KTsgfQorICAgIHN0YXRpYyBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIGluaXRpYWxEZWZhdWx0
QWxpZ25tZW50KCkgeyByZXR1cm4gU3R5bGVTZWxmQWxpZ25tZW50RGF0YShpc0NTU0dyaWRMYXlv
dXRFbmFibGVkKCkgPyBJdGVtUG9zaXRpb25Ob3JtYWwgOiBJdGVtUG9zaXRpb25TdHJldGNoLCBP
dmVyZmxvd0FsaWdubWVudERlZmF1bHQpOyB9CisgICAgc3RhdGljIFN0eWxlQ29udGVudEFsaWdu
bWVudERhdGEgaW5pdGlhbENvbnRlbnRBbGlnbm1lbnQoKSB7IHJldHVybiBTdHlsZUNvbnRlbnRB
bGlnbm1lbnREYXRhKGlzQ1NTR3JpZExheW91dEVuYWJsZWQoKSA/IENvbnRlbnRQb3NpdGlvbk5v
cm1hbCA6IENvbnRlbnRQb3NpdGlvbkZsZXhTdGFydCwgQ29udGVudERpc3RyaWJ1dGlvbkRlZmF1
bHQsIE92ZXJmbG93QWxpZ25tZW50RGVmYXVsdCk7IH0KICAgICBzdGF0aWMgRUZsZXhEaXJlY3Rp
b24gaW5pdGlhbEZsZXhEaXJlY3Rpb24oKSB7IHJldHVybiBGbG93Um93OyB9CiAgICAgc3RhdGlj
IEVGbGV4V3JhcCBpbml0aWFsRmxleFdyYXAoKSB7IHJldHVybiBGbGV4Tm9XcmFwOyB9CiAgICAg
c3RhdGljIGludCBpbml0aWFsTWFycXVlZUxvb3BDb3VudCgpIHsgcmV0dXJuIC0xOyB9CkBAIC0y
MDY2LDYgKzIwNjYsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFF1b3Rlc0RhdGEqIGluaXRpYWxR
dW90ZXMoKSB7IHJldHVybiBudWxscHRyOyB9CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW5pdGlhbENvbnRlbnRBbHRUZXh0KCkgeyByZXR1cm4gZW1wdHlBdG9tOyB9CiAKKyAgICBz
dGF0aWMgYm9vbCBpc0NTU0dyaWRMYXlvdXRFbmFibGVkKCk7CisKICAgICBzdGF0aWMgV2lsbENo
YW5nZURhdGEqIGluaXRpYWxXaWxsQ2hhbmdlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCiAjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NGVmNzU0ZTFjNzI0MTAxYWU2ZjI5Y2M4ODZk
NzlmZjQ5NWM4OTYzLi5lOTNlYjIyNjZjNzM3YjY2YzA3ODM3YTkyNTk0ZjYxNDYzZjE0MWVkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDgtMjkgIEphdmllciBGZXJuYW5kZXogIDxqZmVy
bmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1hbGlnbl0gSW5pdGlhbCB2YWx1ZXMg
YXJlIHBhcnNlZCBhcyBpbnZhbGlkIGZvciBzb21lIEFsaWdubWVudCBwcm9wZXJ0aWVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEzMDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUZXN0IHRvIHZlcmlmeSB0
aGUgImluaXRpYWwiIHZhbHVlcyBvZiB0aGUgQ1NTIEJveCBBbGlnbm1lbnQgcHJvcGVydGllcwor
ICAgICAgICBhcmUgcGFyc2VkIGFzIHZhbGlkIGluZGVwZW5kZW50bHkgb2Ygd2hldGhlciBHcmlk
IExheW91dCBpcyBlbmFibGVkIG9yIG5vdC4KKworICAgICAgICAqIGZhc3QvY3NzL2Vuc3VyZS1m
bGV4Ym94LWNvbXBhdGliaWxpdHktd2l0aC1pbml0aWFsLXZhbHVlcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2Vuc3VyZS1mbGV4Ym94LWNvbXBhdGliaWxpdHktd2l0
aC1pbml0aWFsLXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9yZXNvdXJj
ZXMvYWxpZ25tZW50LXBhcnNpbmctdXRpbHMuanM6CisgICAgICAgIChjaGVja1N1cHBvcnRlZFZh
bHVlcyk6CisKIDIwMTYtMDktMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBIVE1MVHJhY2tFbGVtZW50LmtpbmQncyBpbnZhbGlkIHZhbHVlIGRlZmF1bHQgc2hv
dWxkIGJlIHRoZSBtZXRhZGF0YSBzdGF0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZW5zdXJlLWZsZXhib3gtY29tcGF0aWJpbGl0eS13aXRoLWluaXRpYWwtdmFsdWVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Vuc3VyZS1mbGV4Ym94LWNvbXBhdGliaWxp
dHktd2l0aC1pbml0aWFsLXZhbHVlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRlOWZkOGFk
MGJjZDZjOGFhNGQzODcwYjY4M2M1OGI4MzY3ODk4NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2Vuc3VyZS1mbGV4Ym94LWNvbXBhdGliaWxpdHktd2l0aC1pbml0aWFs
LXZhbHVlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NSBAQAorVGVzdCB0byB2ZXJpZnkgaW5p
dGlhbCB2YWx1ZXMgb2YgYWxpZ25tZW50IHByb3BlcnRpZXMgYXJlIGJhY2t3YXJkLWNvbWFwdGli
bGUgd2l0aCBmbGV4Ym94IGltcGxlbWVudGF0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworCitWZXJpZnlpbmcgaW5pdGlhbCB2YWx1ZXMgYXJlIHN1cHBvcnRlZCB3aGVuIGdy
aWQgaXMgRU5BQkxFRC4KK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1pdGVtcycsICdub3JtYWwn
KSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdub3JtYWwnKSBpcyB0
cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tY29udGVudCcsICdub3JtYWwnKSBpcyB0cnVl
CitQQVNTIENTUy5zdXBwb3J0cygnanVzdGlmeS1jb250ZW50JywgJ25vcm1hbCcpIGlzIHRydWUK
K1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1pdGVtcycsICdub3JtYWwnKSBpcyB0cnVlCitQQVNT
IENTUy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5z
dXBwb3J0cygnYWxpZ24tY29udGVudCcsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBw
b3J0cygnanVzdGlmeS1jb250ZW50JywgJ25vcm1hbCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBv
cnRzKCdhbGlnbi1pdGVtcycsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygn
YWxpZ24tc2VsZicsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24t
Y29udGVudCcsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnanVzdGlmeS1j
b250ZW50JywgJ25vcm1hbCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1pdGVt
cycsICdub3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdu
b3JtYWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tY29udGVudCcsICdub3Jt
YWwnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnanVzdGlmeS1jb250ZW50JywgJ25vcm1h
bCcpIGlzIHRydWUKKworVmVyaWZ5aW5nIGluaXRpYWwgdmFsdWVzIGFyZSBzdXBwb3J0ZWQgd2hl
biBncmlkIGlzIERJU0FCTEVELgorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWduLWl0ZW1zJywgJ3N0
cmV0Y2gnKSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdzdHJldGNo
JykgaXMgdHJ1ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWduLWNvbnRlbnQnLCAnZmxleC1zdGFy
dCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdqdXN0aWZ5LWNvbnRlbnQnLCAnZmxleC1z
dGFydCcpIGlzIHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1pdGVtcycsICdzdHJldGNo
JykgaXMgdHJ1ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWduLXNlbGYnLCAnc3RyZXRjaCcpIGlz
IHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1jb250ZW50JywgJ2ZsZXgtc3RhcnQnKSBp
cyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnanVzdGlmeS1jb250ZW50JywgJ2ZsZXgtc3RhcnQn
KSBpcyB0cnVlCitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24taXRlbXMnLCAnc3RyZXRjaCcpIGlz
IHRydWUKK1BBU1MgQ1NTLnN1cHBvcnRzKCdhbGlnbi1zZWxmJywgJ3N0cmV0Y2gnKSBpcyB0cnVl
CitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tY29udGVudCcsICdmbGV4LXN0YXJ0JykgaXMgdHJ1
ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2p1c3RpZnktY29udGVudCcsICdmbGV4LXN0YXJ0JykgaXMg
dHJ1ZQorUEFTUyBDU1Muc3VwcG9ydHMoJ2FsaWduLWl0ZW1zJywgJ3N0cmV0Y2gnKSBpcyB0cnVl
CitQQVNTIENTUy5zdXBwb3J0cygnYWxpZ24tc2VsZicsICdzdHJldGNoJykgaXMgdHJ1ZQorUEFT
UyBDU1Muc3VwcG9ydHMoJ2FsaWduLWNvbnRlbnQnLCAnZmxleC1zdGFydCcpIGlzIHRydWUKK1BB
U1MgQ1NTLnN1cHBvcnRzKCdqdXN0aWZ5LWNvbnRlbnQnLCAnZmxleC1zdGFydCcpIGlzIHRydWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9lbnN1cmUtZmxleGJveC1jb21wYXRpYmlsaXR5
LXdpdGgtaW5pdGlhbC12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Vuc3VyZS1m
bGV4Ym94LWNvbXBhdGliaWxpdHktd2l0aC1pbml0aWFsLXZhbHVlcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI1MGNhMzZhZjM0ZDU4MWVlNDU5OTMyMmRjNjMyNTJlY2FhNDI4Y2QKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9lbnN1cmUtZmxleGJveC1jb21wYXRpYmlsaXR5LXdp
dGgtaW5pdGlhbC12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDY2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2FsaWdubWVudC1wYXJzaW5nLXV0aWxzLmpzIj48L3NjcmlwdD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRvIHZlcmlmeSBpbml0aWFsIHZh
bHVlcyBvZiBhbGlnbm1lbnQgcHJvcGVydGllcyBhcmUgYmFja3dhcmQtY29tYXB0aWJsZSB3aXRo
IGZsZXhib3ggaW1wbGVtZW50YXRpb24uJyk7CisKK2Z1bmN0aW9uIHNldEluaXRpYWxWYWx1ZXMo
ZWxlbWVudCkKK3sKKyAgICBlbGVtZW50LnN0eWxlLmFsaWduSXRlbXMgPSAiaW5pdGlhbCI7Cisg
ICAgZWxlbWVudC5zdHlsZS5hbGlnbkNvbnRlbnQgPSAiaW5pdGlhbCI7CisgICAgZWxlbWVudC5z
dHlsZS5qdXN0aWZ5Q29udGVudCA9ICJpbml0aWFsIjsKK30KKworZnVuY3Rpb24gY2hlY2tTdXBw
b3J0ZWRJbml0aWFsVmFsdWVzKGVsZW1lbnQpCit7CisgICAgY2hlY2tTdXBwb3J0ZWRWYWx1ZXMo
ZWxlbWVudC5pZCwgImFsaWduLWl0ZW1zIik7CisgICAgY2hlY2tTdXBwb3J0ZWRWYWx1ZXMoZWxl
bWVudC5pZCwgImFsaWduLXNlbGYiKTsKKyAgICBjaGVja1N1cHBvcnRlZFZhbHVlcyhlbGVtZW50
LmlkLCAiYWxpZ24tY29udGVudCIpOworICAgIGNoZWNrU3VwcG9ydGVkVmFsdWVzKGVsZW1lbnQu
aWQsICJqdXN0aWZ5LWNvbnRlbnQiKTsKK30KKworZnVuY3Rpb24gY2hlY2tJbml0aWFsVmFsdWVz
KGdyaWRFbmFibGVkKQoreworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldENTU0dyaWRMYXlvdXRFbmFibGVkKGdyaWRFbmFibGVkKTsKKworICAg
IHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBjb250YWluZXIuaWQgPSAiY29udGFpbmVyIjsKKyAg
ICByb290LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CisgICAgdmFyIGl0ZW0gPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBpdGVtLmlkID0gIml0ZW0iOworICAgIGNvbnRhaW5l
ci5hcHBlbmRDaGlsZChpdGVtKTsKKworICAgIHZhciBmbGV4Q29udGFpbmVyID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZmxleENvbnRhaW5lci5pZCA9ICJmbGV4Q29udGFp
bmVyIjsKKyAgICBmbGV4Q29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAiZmxleCI7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChmbGV4Q29udGFpbmVyKTsKKyAgICB2YXIgZmxleEl0ZW0gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBmbGV4SXRlbS5pZCA9ICJmbGV4SXRlbSI7Cisg
ICAgZmxleENvbnRhaW5lci5hcHBlbmRDaGlsZChmbGV4SXRlbSk7CisKKyAgICBzZXRJbml0aWFs
VmFsdWVzKHJvb3QpOworICAgIHNldEluaXRpYWxWYWx1ZXMoY29udGFpbmVyKTsKKyAgICBzZXRJ
bml0aWFsVmFsdWVzKGl0ZW0pOworICAgIHNldEluaXRpYWxWYWx1ZXMoZmxleENvbnRhaW5lcik7
CisgICAgc2V0SW5pdGlhbFZhbHVlcyhmbGV4SXRlbSk7CisKKyAgICBjaGVja1N1cHBvcnRlZElu
aXRpYWxWYWx1ZXMoY29udGFpbmVyKTsKKyAgICBjaGVja1N1cHBvcnRlZEluaXRpYWxWYWx1ZXMo
aXRlbSk7CisgICAgY2hlY2tTdXBwb3J0ZWRJbml0aWFsVmFsdWVzKGZsZXhDb250YWluZXIpOwor
ICAgIGNoZWNrU3VwcG9ydGVkSW5pdGlhbFZhbHVlcyhmbGV4SXRlbSk7CisKKyAgICBkb2N1bWVu
dC5ib2R5LnJlbW92ZUNoaWxkKHJvb3QpOworfQorCitkZWJ1ZygnPGJyPlZlcmlmeWluZyBpbml0
aWFsIHZhbHVlcyBhcmUgc3VwcG9ydGVkIHdoZW4gZ3JpZCBpcyBFTkFCTEVELicpOworY2hlY2tJ
bml0aWFsVmFsdWVzKHRydWUpOworCitkZWJ1ZygnPGJyPlZlcmlmeWluZyBpbml0aWFsIHZhbHVl
cyBhcmUgc3VwcG9ydGVkIHdoZW4gZ3JpZCBpcyBESVNBQkxFRC4nKTsKK2NoZWNrSW5pdGlhbFZh
bHVlcyhmYWxzZSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3Jlc291cmNlcy9hbGlnbm1lbnQtcGFyc2luZy11dGlscy5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3Jlc291cmNlcy9hbGlnbm1lbnQtcGFyc2luZy11dGlscy5qcwppbmRleCBj
OGQ2YjI3ODIyMTZkMTQyMzYwMGQ0MTIyOGExMGI4YTkyZTJlYzM5Li5jODg2NmIwNGM3MGQ0ZTgw
MDVmYmIzODc3MDg4M2FhYTZmZTk2ZmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9yZXNvdXJjZXMvYWxpZ25tZW50LXBhcnNpbmctdXRpbHMuanMKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvcmVzb3VyY2VzL2FsaWdubWVudC1wYXJzaW5nLXV0aWxzLmpzCkBAIC00NiwzICs0
Niw5IEBAIGZ1bmN0aW9uIGNoZWNrTGVnYWN5VmFsdWVzKHByb3BlcnR5LCBwcm9wZXJ0eUlELCB2
YWx1ZSkKICAgICBwYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnQpOwogICAgIGNoZWNr
VmFsdWVzKGVsZW1lbnQsIHByb3BlcnR5LCBwcm9wZXJ0eUlELCAiIiwgdmFsdWUpOwogfQorCitm
dW5jdGlvbiBjaGVja1N1cHBvcnRlZFZhbHVlcyhlbGVtZW50SUQsIHByb3BlcnR5KQoreworICAg
IHZhciB2YWx1ZSA9IGV2YWwoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCIgKyBlbGVtZW50SUQg
KyAiICwgJycpLmdldFByb3BlcnR5VmFsdWUoJyIgKyBwcm9wZXJ0eSArICInKSIpOworICAgIHNo
b3VsZEJlVHJ1ZSgiQ1NTLnN1cHBvcnRzKCciICsgcHJvcGVydHkgKyAiJywgJyIgKyB2YWx1ZSAr
ICInKSIpOworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>