<?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>186256</bug_id>
          
          <creation_ts>2018-06-03 21:25:03 -0700</creation_ts>
          <short_desc>Remove unneeded data processing in MotionMark</short_desc>
          <delta_ts>2018-06-06 16:47:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>186255</dependson>
          <blocked>186257</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1429761</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2018-06-03 21:25:03 -0700</bug_when>
    <thetext>Remove unneeded data processing in MotionMark</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429762</commentid>
    <comment_count>1</comment_count>
      <attachid>341887</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2018-06-03 21:42:56 -0700</bug_when>
    <thetext>Created attachment 341887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430585</commentid>
    <comment_count>2</comment_count>
      <attachid>342083</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2018-06-06 15:03:34 -0700</bug_when>
    <thetext>Created attachment 342083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430586</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2018-06-06 15:04:46 -0700</bug_when>
    <thetext>Just rebaselined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430624</commentid>
    <comment_count>4</comment_count>
      <attachid>342083</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-06 16:46:48 -0700</bug_when>
    <thetext>Comment on attachment 342083
Patch

Clearing flags on attachment: 342083

Committed r232561: &lt;https://trac.webkit.org/changeset/232561&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430625</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-06 16:46:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430628</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-06 16:47:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/40873438&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341887</attachid>
            <date>2018-06-03 21:42:56 -0700</date>
            <delta_ts>2018-06-06 16:19:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186256-20180603214255.patch</filename>
            <type>text/plain</type>
            <size>24401</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNDU2CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJhZmE1MGYxN2Vk
ZDgxNDBkMTZlNGU0MDc2MzNmYzY2YzllMDk2MmIuLjAxYmY3YzFjNTJjYjEyMmY0MzhmY2Y2Mzg1
YjNmN2UxMTU3MDQ1ZTIgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTgtMDYt
MDMgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lZWRl
ZCBkYXRhIHByb2Nlc3NpbmcgaW4gTW90aW9uTWFyaworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGNhbGN1bGF0aW9uIG9mIGF2ZXJhZ2UgZnJh
bWUgcmF0ZSBiYXNlZCBvbiBtdWx0aXBsZSBzYW1wbGVzIGF0IGEgZ2l2ZW4gY29tcGxleGl0eS4K
KyAgICAgICAgSXQgaXMgbm90IHVzZWQgaW4gdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBzY29yZSwg
YW5kIGlzIGp1c3QgZXh0cmEgd29yayB0byBkbyBhdCB0aGUgZW5kCisgICAgICAgIG9mIGEgdGVz
dC4KKworICAgICAgICAqIE1vdGlvbk1hcmsvZGV2ZWxvcGVyLmh0bWw6IFJlbW92ZSBvcHRpb25z
IHRvIHNob3cgYXZlcmFnZSBkYXRhIGFuZCByZWdyZXNzaW9uIGJhc2VkIG9uCisgICAgICAgIHRo
YXQgZGF0YS4KKyAgICAgICAgKiBNb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvZ3Jh
cGguanM6IFJlbW92ZSBkYXRhLiBVcGRhdGUgdGhlIHRpbWUgZ3JhcGggdGhhdAorICAgICAgICBz
aG93cyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGJyZWFrIHBvaW50IGluIHRoZSByZWdy
ZXNzaW9uIGFnYWluc3QgdGhlIGNvbXBsZXhpdHkKKyAgICAgICAgZ3JhcGguCisgICAgICAgICog
TW90aW9uTWFyay9yZXNvdXJjZXMvZGVidWctcnVubmVyL21vdGlvbm1hcmsuY3NzOiBNYWtlIHRo
ZSBjb25maWRlbmNlIGludGVydmFscyBlYXNpZXIKKyAgICAgICAgdG8gc2VlLgorICAgICAgICAq
IE1vdGlvbk1hcmsvcmVzb3VyY2VzL3J1bm5lci9tb3Rpb25tYXJrLmpzOiBTaW1wbGlmeSBzY29y
ZSBjYWxjdWxhdGlvbiBub3cgdGhhdCB3ZSBhcmUKKyAgICAgICAgb25seSBjYWxjdWxhdGluZyBy
ZWdyZXNzaW9ucyBvbiB0aGUgcmF3IGRhdGEuIFdlIHdlcmUgY2FsY3VsYXRpbmcgaXQgYmFzZWQg
b24gdGhlIGF2ZXJhZ2VzLAorICAgICAgICBidXQgdGhhdCB3YXMganVzdCBmb3IgYW5hbHlzaXMs
IGFuZCBub3QgdXNlZCBpbiB0aGUgYWN0dWFsIHNjb3JlLiBHZXQgcmlkIG9mIHRoZQorICAgICAg
ICB8Y29tcGxleGl0eVNhbXBsZXN8IGxvY2FsIHZhcmlhYmxlLgorICAgICAgICAqIE1vdGlvbk1h
cmsvcmVzb3VyY2VzL3N0cmluZ3MuanM6IFJlbW92ZSB1bm5lZWRlZCBzdHJpbmcgY29uc3RhbnQu
CisgICAgICAgICogTW90aW9uTWFyay90ZXN0cy9yZXNvdXJjZXMvbWFpbi5qczoKKyAgICAgICAg
KHByb2Nlc3NTYW1wbGVzKTogUmVmYWN0b3Igc28gdGhhdCBtb3JlIG9mIGl0IGNhbiBiZSBzaGFy
ZWQgYmV0d2VlbiBDb250cm9sbGVyIGFuZAorICAgICAgICBSYW1wQ29udHJvbGxlci4gSXQgYWxz
byBhdm9pZHMgcHJvY2Vzc2luZyB0aGUgcmF3IHNhbXBsZXMgKGNvbnRyb2xsZXJTYW1wbGVzKSB0
d2ljZSBmb3IKKyAgICAgICAgdGhlIHJhbXAgY29udHJvbGxlci4KKyAgICAgICAgKF9wcm9jZXNz
Q29tcGxleGl0eVNhbXBsZXMpOiBSZW1vdmUgbG9naWMgdG8gY2FsY3VsYXRlIGF2ZXJhZ2VzIGJh
c2VkIG9uIGNvbXBsZXhpdHkuCisgICAgICAgIChfcHJvY2Vzc01hcmtzKTogU3BsaXQgdGhpcyBv
dXQgZnJvbSB0aGUgb2xkIHByb2Nlc3NTYW1wbGVzLgorICAgICAgICAoX3Byb2Nlc3NDb250cm9s
bGVyU2FtcGxlcyk6IFNwbGl0IHRoaXMgb3V0IGZyb20gdGhlIG9sZCBwcm9jZXNzU2FtcGxlcy4K
KwogMjAxOC0wNi0wMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHVubmVjZXNzYXJ5IE1vdGlvbk1hcmsgY29udHJvbGxlcnMKZGlmZiAtLWdpdCBhL1BlcmZv
cm1hbmNlVGVzdHMvTW90aW9uTWFyay9kZXZlbG9wZXIuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMv
TW90aW9uTWFyay9kZXZlbG9wZXIuaHRtbAppbmRleCBlYjM5NTFkNDAxNzU0Yzg3Y2IyY2I5MGJl
N2NjY2RiM2NkMWUyYzVjLi4yOWI5MTQ0Njg5M2ZhODViYmVhMjYyYTUzMjVkMmY1ODhiZjRlMzMz
IDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvZGV2ZWxvcGVyLmh0bWwK
KysrIGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL2RldmVsb3Blci5odG1sCkBAIC0xNzks
MTMgKzE3OSwxMSBAQAogICAgICAgICAgICAgICAgICAgICA8Zm9ybSBuYW1lPSJjb21wbGV4aXR5
LWdyYXBoLW9wdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzZXJp
ZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48bGFiZWw+PGlucHV0IHR5cGU9
ImNoZWNrYm94IiBuYW1lPSJzZXJpZXMtcmF3IiBjaGVja2VkPiBTZXJpZXMgcmF3PC9sYWJlbD48
L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48bGFiZWw+PGlucHV0IHR5cGU9
ImNoZWNrYm94IiBuYW1lPSJzZXJpZXMtYXZlcmFnZSI+IFNlcmllcyBhdmVyYWdlPC9sYWJlbD48
L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAg
ICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGxhYmVsPjxpbnB1dCB0
eXBlPSJjaGVja2JveCIgbmFtZT0icmVncmVzc2lvbi10aW1lLXNjb3JlIj4gQ29udHJvbGxlciBz
Y29yZTwvbGFiZWw+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGxhYmVs
PjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iYm9vdHN0cmFwLXNjb3JlIiBjaGVja2VkPiBC
b290c3RyYXAgc2NvcmUgYW5kIGhpc3RvZ3JhbTwvbGFiZWw+PC9saT4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8bGk+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iY29t
cGxleGl0eS1yZWdyZXNzaW9uLWFnZ3JlZ2F0ZS1yYXciIGNoZWNrZWQ+IFJlZ3Jlc3Npb24sIHNl
cmllcyByYXc8L2xhYmVsPjxzcGFuIGlkPSJjb21wbGV4aXR5LXJlZ3Jlc3Npb24tYWdncmVnYXRl
LXJhdyI+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxsYWJl
bD48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImNvbXBsZXhpdHktcmVncmVzc2lvbi1hZ2dy
ZWdhdGUtYXZlcmFnZSI+IFJlZ3Jlc3Npb24sIHNlcmllcyBhdmVyYWdlPC9sYWJlbD48c3BhbiBp
ZD0iY29tcGxleGl0eS1yZWdyZXNzaW9uLWFnZ3JlZ2F0ZS1hdmVyYWdlIj48L3NwYW4+PC9saT4K
ICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgIDwvZm9y
bT4KICAgICAgICAgICAgICAgICA8L25hdj4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMv
TW90aW9uTWFyay9yZXNvdXJjZXMvZGVidWctcnVubmVyL2dyYXBoLmpzIGIvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvZ3JhcGguanMKaW5kZXggOWE1
MWI3ZTc3NWQ5M2I2ZmQ3ODk0ZWViZTgyMmU0ZDJiM2Q4ODk5Ny4uMzA3MzEzNGYyYTdiMGZhMmM4
YmUwODMwNjllODU2MTVlZmVkOGJjMCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rp
b25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvZ3JhcGguanMKKysrIGIvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvZ3JhcGguanMKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNyw3
ICszNyw3IEBAIFV0aWxpdGllcy5leHRlbmRPYmplY3Qod2luZG93LmJlbmNobWFya0NvbnRyb2xs
ZXIsIHsKIAogICAgICAgICAvLyBDb252ZXJ0IGZyb20gY29tcGFjdCBKU09OIG91dHB1dCB0byBw
cm9wZXJ0aWVkIGRhdGEKICAgICAgICAgdmFyIHNhbXBsZXNXaXRoUHJvcGVydGllcyA9IHt9Owot
ICAgICAgICBbU3RyaW5ncy5qc29uLmNvbnRyb2xsZXIsIFN0cmluZ3MuanNvbi5jb21wbGV4aXR5
LCBTdHJpbmdzLmpzb24uY29tcGxleGl0eUF2ZXJhZ2VdLmZvckVhY2goZnVuY3Rpb24oc2VyaWVz
TmFtZSkgeworICAgICAgICBbU3RyaW5ncy5qc29uLmNvbnRyb2xsZXIsIFN0cmluZ3MuanNvbi5j
b21wbGV4aXR5XS5mb3JFYWNoKGZ1bmN0aW9uKHNlcmllc05hbWUpIHsKICAgICAgICAgICAgIHZh
ciBzZXJpZXMgPSB0ZXN0RGF0YVtTdHJpbmdzLmpzb24uc2FtcGxlc11bc2VyaWVzTmFtZV07CiAg
ICAgICAgICAgICBzYW1wbGVzV2l0aFByb3BlcnRpZXNbc2VyaWVzTmFtZV0gPSBzZXJpZXMudG9B
cnJheSgpOwogICAgICAgICB9KQpAQCAtOTIsNyArOTIsNyBAQCBVdGlsaXRpZXMuZXh0ZW5kT2Jq
ZWN0KHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLCB7CiAgICAgICAgIHN2Zy5hcHBlbmQoImNp
cmNsZSIpCiAgICAgICAgICAgICAuYXR0cigiY3giLCB4U2NhbGUoZGF0YS5zZWdtZW50MVsxXVsw
XSkpCiAgICAgICAgICAgICAuYXR0cigiY3kiLCB5U2NhbGUoZGF0YS5zZWdtZW50MVsxXVsxXSkp
Ci0gICAgICAgICAgICAuYXR0cigiciIsIDUpOworICAgICAgICAgICAgLmF0dHIoInIiLCAzKTsK
ICAgICAgICAgdGhpcy5fYWRkUmVncmVzc2lvbkxpbmUoc3ZnLCB4U2NhbGUsIHlTY2FsZSwgZGF0
YS5zZWdtZW50MSwgZGF0YS5zdGRldik7CiAgICAgICAgIHRoaXMuX2FkZFJlZ3Jlc3Npb25MaW5l
KHN2ZywgeFNjYWxlLCB5U2NhbGUsIGRhdGEuc2VnbWVudDIsIGRhdGEuc3RkZXYpOwogICAgIH0s
CkBAIC0xNTgsNyArMTU4LDYgQEAgVXRpbGl0aWVzLmV4dGVuZE9iamVjdCh3aW5kb3cuYmVuY2ht
YXJrQ29udHJvbGxlciwgewogCiAgICAgICAgIC8vIHJlZ3Jlc3Npb24KICAgICAgICAgdGhpcy5f
YWRkUmVncmVzc2lvbihyZXN1bHRbU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldLCBzdmcuYXBwZW5k
KCJnIikuYXR0cigiY2xhc3MiLCAicmVncmVzc2lvbiByYXciKSwgeFNjYWxlLCB5U2NhbGUpOwot
ICAgICAgICB0aGlzLl9hZGRSZWdyZXNzaW9uKHJlc3VsdFtTdHJpbmdzLmpzb24uY29tcGxleGl0
eUF2ZXJhZ2VdLCBzdmcuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCAicmVncmVzc2lvbiBhdmVy
YWdlIiksIHhTY2FsZSwgeVNjYWxlKTsKIAogICAgICAgICB2YXIgYm9vdHN0cmFwUmVzdWx0ID0g
cmVzdWx0W1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XVtTdHJpbmdzLmpzb24uYm9vdHN0cmFwXTsK
ICAgICAgICAgaWYgKGJvb3RzdHJhcFJlc3VsdCkgewpAQCAtMjAzLDIxICsyMDIsNiBAQCBVdGls
aXRpZXMuZXh0ZW5kT2JqZWN0KHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLCB7CiAgICAgICAg
ICAgICAuYXR0cigieTEiLCBmdW5jdGlvbihkKSB7IHJldHVybiB5U2NhbGUoZC5mcmFtZUxlbmd0
aCkgKyAzOyB9KQogICAgICAgICAgICAgLmF0dHIoInkyIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4g
eVNjYWxlKGQuZnJhbWVMZW5ndGgpIC0gMzsgfSk7CiAKLSAgICAgICAgZ3JvdXAgPSBzdmcuYXBw
ZW5kKCJnIikKLSAgICAgICAgICAgIC5hdHRyKCJjbGFzcyIsICJzZXJpZXMgYXZlcmFnZSIpCi0g
ICAgICAgICAgICAuc2VsZWN0QWxsKCJjaXJjbGUiKQotICAgICAgICAgICAgICAgIC5kYXRhKGRh
dGFbU3RyaW5ncy5qc29uLmNvbXBsZXhpdHlBdmVyYWdlXSkKLSAgICAgICAgICAgICAgICAuZW50
ZXIoKTsKLSAgICAgICAgZ3JvdXAuYXBwZW5kKCJjaXJjbGUiKQotICAgICAgICAgICAgLmF0dHIo
ImN4IiwgZnVuY3Rpb24oZCkgeyByZXR1cm4geFNjYWxlKGQuY29tcGxleGl0eSk7IH0pCi0gICAg
ICAgICAgICAuYXR0cigiY3kiLCBmdW5jdGlvbihkKSB7IHJldHVybiB5U2NhbGUoZC5mcmFtZUxl
bmd0aCk7IH0pCi0gICAgICAgICAgICAuYXR0cigiciIsIDMpCi0gICAgICAgIGdyb3VwLmFwcGVu
ZCgibGluZSIpCi0gICAgICAgICAgICAuYXR0cigieDEiLCBmdW5jdGlvbihkKSB7IHJldHVybiB4
U2NhbGUoZC5jb21wbGV4aXR5KTsgfSkKLSAgICAgICAgICAgIC5hdHRyKCJ4MiIsIGZ1bmN0aW9u
KGQpIHsgcmV0dXJuIHhTY2FsZShkLmNvbXBsZXhpdHkpOyB9KQotICAgICAgICAgICAgLmF0dHIo
InkxIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4geVNjYWxlKGQuZnJhbWVMZW5ndGggLSBkLnN0ZGV2
KTsgfSkKLSAgICAgICAgICAgIC5hdHRyKCJ5MiIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIHlTY2Fs
ZShkLmZyYW1lTGVuZ3RoICsgZC5zdGRldik7IH0pOwotCiAgICAgICAgIC8vIEN1cnNvcgogICAg
ICAgICB2YXIgY3Vyc29yR3JvdXAgPSBzdmcuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCAiY3Vy
c29yIGhpZGRlbiIpOwogICAgICAgICBjdXJzb3JHcm91cC5hcHBlbmQoImxpbmUiKQpAQCAtNDY1
LDYgKzQ0OSwxNyBAQCBVdGlsaXRpZXMuZXh0ZW5kT2JqZWN0KHdpbmRvdy5iZW5jaG1hcmtDb250
cm9sbGVyLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cigieTIiLCB5UmlnaHQocmVn
cmVzc2lvbi5zZWdtZW50MlsxXVsxXSkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAvLyBpbmZsZWN0aW9uIHBvaW50CisgICAgICAgICAgICAgICAgcmVncmVzc2lvbkdyb3Vw
LmFwcGVuZCgiY2lyY2xlIikKKyAgICAgICAgICAgICAgICAgICAgLmF0dHIoImN4IiwgeChyZWdy
ZXNzaW9uLnNlZ21lbnQyWzBdWzBdKSkKKyAgICAgICAgICAgICAgICAgICAgLmF0dHIoImN5Iiwg
eVJpZ2h0KHJlZ3Jlc3Npb24uc2VnbWVudDJbMF1bMV0pKQorICAgICAgICAgICAgICAgICAgICAu
YXR0cigiciIsIDMpOworICAgICAgICAgICAgICAgIHJlZ3Jlc3Npb25Hcm91cC5hcHBlbmQoImxp
bmUiKQorICAgICAgICAgICAgICAgICAgICAuYXR0cigiY2xhc3MiLCAiYXNzb2NpYXRpb24iKQor
ICAgICAgICAgICAgICAgICAgICAuYXR0cigic3Ryb2tlLWRhc2hhcnJheSIsICI1LCAzIikKKyAg
ICAgICAgICAgICAgICAgICAgLmF0dHIoIngxIiwgeChyZWdyZXNzaW9uLnNlZ21lbnQyWzBdWzBd
KSkKKyAgICAgICAgICAgICAgICAgICAgLmF0dHIoIngyIiwgeChyZWdyZXNzaW9uLnNlZ21lbnQy
WzBdWzBdKSkKKyAgICAgICAgICAgICAgICAgICAgLmF0dHIoInkxIiwgeVJpZ2h0KHJlZ3Jlc3Np
b24uc2VnbWVudDJbMF1bMV0pKQorICAgICAgICAgICAgICAgICAgICAuYXR0cigieTIiLCB5TGVm
dChyZWdyZXNzaW9uLmNvbXBsZXhpdHkpKTsKICAgICAgICAgICAgICAgICByZWdyZXNzaW9uR3Jv
dXAuYXBwZW5kKCJjaXJjbGUiKQogICAgICAgICAgICAgICAgICAgICAuYXR0cigiY3giLCB4KHJl
Z3Jlc3Npb24uc2VnbWVudDFbMV1bMF0pKQogICAgICAgICAgICAgICAgICAgICAuYXR0cigiY3ki
LCB5TGVmdChyZWdyZXNzaW9uLmNvbXBsZXhpdHkpKQpAQCAtNTY4LDExICs1NjMsOSBAQCBVdGls
aXRpZXMuZXh0ZW5kT2JqZWN0KHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLCB7CiAgICAgb25D
b21wbGV4aXR5R3JhcGhPcHRpb25zQ2hhbmdlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBm
b3JtID0gZG9jdW1lbnQuZm9ybXNbImNvbXBsZXhpdHktZ3JhcGgtb3B0aW9ucyJdLmVsZW1lbnRz
OwogICAgICAgICBiZW5jaG1hcmtDb250cm9sbGVyLl9zaG93T3JIaWRlTm9kZXMoZm9ybVsic2Vy
aWVzLXJhdyJdLmNoZWNrZWQsICIjY29tcGxleGl0eS1ncmFwaCAuc2VyaWVzLnJhdyIpOwotICAg
ICAgICBiZW5jaG1hcmtDb250cm9sbGVyLl9zaG93T3JIaWRlTm9kZXMoZm9ybVsic2VyaWVzLWF2
ZXJhZ2UiXS5jaGVja2VkLCAiI2NvbXBsZXhpdHktZ3JhcGggLnNlcmllcy5hdmVyYWdlIik7CiAg
ICAgICAgIGJlbmNobWFya0NvbnRyb2xsZXIuX3Nob3dPckhpZGVOb2Rlcyhmb3JtWyJyZWdyZXNz
aW9uLXRpbWUtc2NvcmUiXS5jaGVja2VkLCAiI2NvbXBsZXhpdHktZ3JhcGggLm1lYW4uY29tcGxl
eGl0eSIpOwogICAgICAgICBiZW5jaG1hcmtDb250cm9sbGVyLl9zaG93T3JIaWRlTm9kZXMoZm9y
bVsiYm9vdHN0cmFwLXNjb3JlIl0uY2hlY2tlZCwgIiNjb21wbGV4aXR5LWdyYXBoIC5ib290c3Ry
YXAiKTsKICAgICAgICAgYmVuY2htYXJrQ29udHJvbGxlci5fc2hvd09ySGlkZU5vZGVzKGZvcm1b
ImNvbXBsZXhpdHktcmVncmVzc2lvbi1hZ2dyZWdhdGUtcmF3Il0uY2hlY2tlZCwgIiNjb21wbGV4
aXR5LWdyYXBoIC5yZWdyZXNzaW9uLnJhdyIpOwotICAgICAgICBiZW5jaG1hcmtDb250cm9sbGVy
Ll9zaG93T3JIaWRlTm9kZXMoZm9ybVsiY29tcGxleGl0eS1yZWdyZXNzaW9uLWFnZ3JlZ2F0ZS1h
dmVyYWdlIl0uY2hlY2tlZCwgIiNjb21wbGV4aXR5LWdyYXBoIC5yZWdyZXNzaW9uLmF2ZXJhZ2Ui
KTsKICAgICB9LAogCiAgICAgb25UaW1lR3JhcGhPcHRpb25zQ2hhbmdlZDogZnVuY3Rpb24oKSB7
CkBAIC02MTYsMTEgKzYwOSw3IEBAIFV0aWxpdGllcy5leHRlbmRPYmplY3Qod2luZG93LmJlbmNo
bWFya0NvbnRyb2xsZXIsIHsKICAgICAgICAgICAgIG1lYW4gPSBtZWFuLmpvaW4oIiIpOwogICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgdmFyIGNvbXBsZXhpdHlSZWdyZXNzaW9uID0gdGVz
dFJlc3VsdFtTdHJpbmdzLmpzb24uY29tcGxleGl0eV07Ci0gICAgICAgICAgICB2YXIgY29tcGxl
eGl0eUF2ZXJhZ2VSZWdyZXNzaW9uID0gdGVzdFJlc3VsdFtTdHJpbmdzLmpzb24uY29tcGxleGl0
eUF2ZXJhZ2VdOwotCiAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tcGxl
eGl0eS1yZWdyZXNzaW9uLWFnZ3JlZ2F0ZS1yYXciKS50ZXh0Q29udGVudCA9IGNvbXBsZXhpdHlS
ZWdyZXNzaW9uLmNvbXBsZXhpdHkudG9GaXhlZCgyKSArICIsIMKxIiArIGNvbXBsZXhpdHlSZWdy
ZXNzaW9uLnN0ZGV2LnRvRml4ZWQoMikgKyAibXMiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbXBsZXhpdHktcmVncmVzc2lvbi1hZ2dyZWdhdGUtYXZlcmFnZSIpLnRl
eHRDb250ZW50ID0gY29tcGxleGl0eUF2ZXJhZ2VSZWdyZXNzaW9uLmNvbXBsZXhpdHkudG9GaXhl
ZCgyKSArICIsIMKxIiArIGNvbXBsZXhpdHlBdmVyYWdlUmVncmVzc2lvbi5zdGRldi50b0ZpeGVk
KDIpICsgIm1zIjsKLQogICAgICAgICAgICAgdmFyIGJvb3RzdHJhcCA9IGNvbXBsZXhpdHlSZWdy
ZXNzaW9uW1N0cmluZ3MuanNvbi5ib290c3RyYXBdOwogICAgICAgICAgICAgaWYgKGJvb3RzdHJh
cCkgewogICAgICAgICAgICAgICAgIHNjb3JlID0gYm9vdHN0cmFwLm1lZGlhbi50b0ZpeGVkKDIp
OwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1
Zy1ydW5uZXIvbW90aW9ubWFyay5jc3MgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvcmVz
b3VyY2VzL2RlYnVnLXJ1bm5lci9tb3Rpb25tYXJrLmNzcwppbmRleCA4MGViMGQ1NjA4YTllZDE1
M2YzMGFmMDFkYTFkNmRiMTJmZjc3MmRiLi5hZDE5NmRiZjk5ZTA2ZGRhZGRmNmMwYTc1MDhjZjg4
ODQyMDQ0MDkzIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvcmVzb3Vy
Y2VzL2RlYnVnLXJ1bm5lci9tb3Rpb25tYXJrLmNzcworKysgYi9QZXJmb3JtYW5jZVRlc3RzL01v
dGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci9tb3Rpb25tYXJrLmNzcwpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTcwNCw2
ICs3MDQsMTAgQEAgYm9keS5zaG93aW5nLXRlc3QtY29udGFpbmVyLnRpbGVzLWNsYXNzaWMgewog
ICAgIHN0cm9rZS13aWR0aDogMnB4OwogfQogCisjcmVncmVzc2lvbnMgbGluZS5hc3NvY2lhdGlv
biB7CisgICAgc3Ryb2tlLXdpZHRoOiAxcHg7Cit9CisKICNyZWdyZXNzaW9ucyBjaXJjbGUgewog
ICAgIGZpbGw6IHJnYmEoMjAwLCAyMDAsIDIwMCwgLjgpOwogfQpAQCAtNzU1LDcgKzc1OSw3IEBA
IGJvZHkuc2hvd2luZy10ZXN0LWNvbnRhaW5lci50aWxlcy1jbGFzc2ljIHsKIH0KIAogI2NvbXBs
ZXhpdHktZ3JhcGggLnJlZ3Jlc3Npb24gcG9seWdvbiB7Ci0gICAgZmlsbDogcmdiYSgyNTMsIDI1
MywgMjUzLCAuMDUpOworICAgIGZpbGw6IHJnYmEoMjUzLCAyNTMsIDI1MywgLjIpOwogfQogCiAj
Y29tcGxleGl0eS1ncmFwaCAucmF3LnNlcmllcyBsaW5lIHsKQEAgLTc3MSwxNSArNzc1LDYgQEAg
Ym9keS5zaG93aW5nLXRlc3QtY29udGFpbmVyLnRpbGVzLWNsYXNzaWMgewogICAgIHN0cm9rZTog
cmdiYSgzMCwgOTYlLCA4NiUsIC4wNSk7CiB9CiAKLSNjb21wbGV4aXR5LWdyYXBoIC5hdmVyYWdl
LnNlcmllcyBjaXJjbGUgewotICAgIGZpbGw6IGhzbCgxNzAsIDk2JSwgNTYlKTsKLX0KLQotI2Nv
bXBsZXhpdHktZ3JhcGggLmF2ZXJhZ2Uuc2VyaWVzIGxpbmUgewotICAgIHN0cm9rZTogaHNsYSgx
NzAsIDk2JSwgNTYlLCAuMik7Ci0gICAgc3Ryb2tlLXdpZHRoOiAycHg7Ci19Ci0KICNjb21wbGV4
aXR5LWdyYXBoIC5ib290c3RyYXAgLmJhciB7CiAgICAgZmlsbDogaHNsYSgyNjAsIDU2JSwgNjYl
LCAuNCk7CiB9CkBAIC03OTQsNSArNzg5LDUgQEAgYm9keS5zaG93aW5nLXRlc3QtY29udGFpbmVy
LnRpbGVzLWNsYXNzaWMgewogfQogCiAjY29tcGxleGl0eS1ncmFwaCAuYm9vdHN0cmFwIC5tZWRp
YW4gcG9seWdvbiB7Ci0gICAgZmlsbDogaHNsYSgzMDAsIDU2JSwgNjYlLCAuMDUpOworICAgIGZp
bGw6IGhzbGEoMjQwLCA1NiUsIDY2JSwgLjQpOwogfQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvbW90aW9ubWFyay5qcyBiL1BlcmZvcm1h
bmNlVGVzdHMvTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL21vdGlvbm1hcmsuanMKaW5kZXgg
NDBlNmEyMTRkNzBhYTA5ZmE0ODI2OWUxNzFkOWEyZDljYmZjYTZhZi4uMWQxNmQ4ZmJhYmZkMzRj
YTExZjFjYjM2Yzg4Y2JiODUwYzhlNDcyMiAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9N
b3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvbW90aW9ubWFyay5qcworKysgYi9QZXJmb3JtYW5j
ZVRlc3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL3J1bm5lci9tb3Rpb25tYXJrLmpzCkBAIC05Miw4
ICs5Miw2IEBACiAgICAgICAgIGRhdGFbU3RyaW5ncy5qc29uLnJlc3VsdF0gPSByZXN1bHQ7CiAg
ICAgICAgIHZhciBzYW1wbGVzID0gZGF0YVtTdHJpbmdzLmpzb24uc2FtcGxlc107CiAKLSAgICAg
ICAgdmFyIGRlc2lyZWRGcmFtZUxlbmd0aCA9IDEwMDAvNjA7Ci0KICAgICAgICAgZnVuY3Rpb24g
ZmluZFJlZ3Jlc3Npb24oc2VyaWVzLCBwcm9maWxlKSB7CiAgICAgICAgICAgICB2YXIgbWluSW5k
ZXggPSBNYXRoLnJvdW5kKC4wMjUgKiBzZXJpZXMubGVuZ3RoKTsKICAgICAgICAgICAgIHZhciBt
YXhJbmRleCA9IE1hdGgucm91bmQoLjk3NSAqIChzZXJpZXMubGVuZ3RoIC0gMSkpOwpAQCAtMTA5
LDcgKzEwNyw3IEBACiAKICAgICAgICAgICAgIHZhciBjb21wbGV4aXR5SW5kZXggPSBzZXJpZXMu
ZmllbGRNYXBbU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldOwogICAgICAgICAgICAgdmFyIGZyYW1l
TGVuZ3RoSW5kZXggPSBzZXJpZXMuZmllbGRNYXBbU3RyaW5ncy5qc29uLmZyYW1lTGVuZ3RoXTsK
LSAgICAgICAgICAgIHZhciByZWdyZXNzaW9uT3B0aW9ucyA9IHsgZGVzaXJlZEZyYW1lTGVuZ3Ro
OiBkZXNpcmVkRnJhbWVMZW5ndGggfTsKKyAgICAgICAgICAgIHZhciByZWdyZXNzaW9uT3B0aW9u
cyA9IHsgZGVzaXJlZEZyYW1lTGVuZ3RoOiAxMDAwLzYwIH07CiAgICAgICAgICAgICBpZiAocHJv
ZmlsZSkKICAgICAgICAgICAgICAgICByZWdyZXNzaW9uT3B0aW9ucy5wcmVmZXJyZWRQcm9maWxl
ID0gcHJvZmlsZTsKICAgICAgICAgICAgIHJldHVybiB7CkBAIC0xMjQsOSArMTIyLDggQEAKICAg
ICAgICAgICAgIH07CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgY29tcGxleGl0eVNhbXBsZXM7
CiAgICAgICAgIC8vIENvbnZlcnQgdGhlc2Ugc2FtcGxlcyBpbnRvIFNhbXBsZURhdGEgb2JqZWN0
cyBpZiBuZWVkZWQKLSAgICAgICAgW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBTdHJpbmdzLmpz
b24uY29tcGxleGl0eUF2ZXJhZ2UsIFN0cmluZ3MuanNvbi5jb250cm9sbGVyXS5mb3JFYWNoKGZ1
bmN0aW9uKHNlcmllc05hbWUpIHsKKyAgICAgICAgW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBT
dHJpbmdzLmpzb24uY29udHJvbGxlcl0uZm9yRWFjaChmdW5jdGlvbihzZXJpZXNOYW1lKSB7CiAg
ICAgICAgICAgICB2YXIgc2VyaWVzID0gc2FtcGxlc1tzZXJpZXNOYW1lXTsKICAgICAgICAgICAg
IGlmIChzZXJpZXMgJiYgIShzZXJpZXMgaW5zdGFuY2VvZiBTYW1wbGVEYXRhKSkKICAgICAgICAg
ICAgICAgICBzYW1wbGVzW3Nlcmllc05hbWVdID0gbmV3IFNhbXBsZURhdGEoc2VyaWVzLmZpZWxk
TWFwLCBzZXJpZXMuZGF0YSk7CkBAIC0xNTIsMjcgKzE0OSwxOSBAQAogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAKLSAgICAgICAgW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBTdHJpbmdzLmpz
b24uY29tcGxleGl0eUF2ZXJhZ2VdLmZvckVhY2goZnVuY3Rpb24oc2VyaWVzTmFtZSkgewotICAg
ICAgICAgICAgaWYgKCEoc2VyaWVzTmFtZSBpbiBzYW1wbGVzKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0KLSAgICAgICAgICAgIHZhciByZWdyZXNzaW9uID0ge307Ci0gICAgICAgICAgICBy
ZXN1bHRbc2VyaWVzTmFtZV0gPSByZWdyZXNzaW9uOwotICAgICAgICAgICAgdmFyIHJlZ3Jlc3Np
b25SZXN1bHQgPSBmaW5kUmVncmVzc2lvbihzYW1wbGVzW3Nlcmllc05hbWVdLCBwcmVkb21pbmFu
dFByb2ZpbGUpOwotICAgICAgICAgICAgaWYgKHNlcmllc05hbWUgPT0gU3RyaW5ncy5qc29uLmNv
bXBsZXhpdHkpCi0gICAgICAgICAgICAgICAgY29tcGxleGl0eVNhbXBsZXMgPSByZWdyZXNzaW9u
UmVzdWx0LnNhbXBsZXM7Ci0gICAgICAgICAgICB2YXIgY2FsY3VsYXRpb24gPSByZWdyZXNzaW9u
UmVzdWx0LnJlZ3Jlc3Npb247Ci0gICAgICAgICAgICByZWdyZXNzaW9uW1N0cmluZ3MuanNvbi5y
ZWdyZXNzaW9ucy5zZWdtZW50MV0gPSBbCi0gICAgICAgICAgICAgICAgW3JlZ3Jlc3Npb25SZXN1
bHQubWluQ29tcGxleGl0eSwgY2FsY3VsYXRpb24uczEgKyBjYWxjdWxhdGlvbi50MSAqIHJlZ3Jl
c3Npb25SZXN1bHQubWluQ29tcGxleGl0eV0sCi0gICAgICAgICAgICAgICAgW2NhbGN1bGF0aW9u
LmNvbXBsZXhpdHksIGNhbGN1bGF0aW9uLnMxICsgY2FsY3VsYXRpb24udDEgKiBjYWxjdWxhdGlv
bi5jb21wbGV4aXR5XQotICAgICAgICAgICAgXTsKLSAgICAgICAgICAgIHJlZ3Jlc3Npb25bU3Ry
aW5ncy5qc29uLnJlZ3Jlc3Npb25zLnNlZ21lbnQyXSA9IFsKLSAgICAgICAgICAgICAgICBbY2Fs
Y3VsYXRpb24uY29tcGxleGl0eSwgY2FsY3VsYXRpb24uczIgKyBjYWxjdWxhdGlvbi50MiAqIGNh
bGN1bGF0aW9uLmNvbXBsZXhpdHldLAotICAgICAgICAgICAgICAgIFtyZWdyZXNzaW9uUmVzdWx0
Lm1heENvbXBsZXhpdHksIGNhbGN1bGF0aW9uLnMyICsgY2FsY3VsYXRpb24udDIgKiByZWdyZXNz
aW9uUmVzdWx0Lm1heENvbXBsZXhpdHldCi0gICAgICAgICAgICBdOwotICAgICAgICAgICAgcmVn
cmVzc2lvbltTdHJpbmdzLmpzb24uY29tcGxleGl0eV0gPSBjYWxjdWxhdGlvbi5jb21wbGV4aXR5
OwotICAgICAgICAgICAgcmVncmVzc2lvbltTdHJpbmdzLmpzb24ubWVhc3VyZW1lbnRzLnN0ZGV2
XSA9IE1hdGguc3FydChjYWxjdWxhdGlvbi5lcnJvciAvIHNhbXBsZXNbc2VyaWVzTmFtZV0ubGVu
Z3RoKTsKLSAgICAgICAgfSk7CisgICAgICAgIHZhciByZWdyZXNzaW9uUmVzdWx0ID0gZmluZFJl
Z3Jlc3Npb24oc2FtcGxlc1tTdHJpbmdzLmpzb24uY29tcGxleGl0eV0sIHByZWRvbWluYW50UHJv
ZmlsZSk7CisgICAgICAgIHZhciBjYWxjdWxhdGlvbiA9IHJlZ3Jlc3Npb25SZXN1bHQucmVncmVz
c2lvbjsKKyAgICAgICAgcmVzdWx0W1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XSA9IHt9OworICAg
ICAgICByZXN1bHRbU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldW1N0cmluZ3MuanNvbi5yZWdyZXNz
aW9ucy5zZWdtZW50MV0gPSBbCisgICAgICAgICAgICBbcmVncmVzc2lvblJlc3VsdC5taW5Db21w
bGV4aXR5LCBjYWxjdWxhdGlvbi5zMSArIGNhbGN1bGF0aW9uLnQxICogcmVncmVzc2lvblJlc3Vs
dC5taW5Db21wbGV4aXR5XSwKKyAgICAgICAgICAgIFtjYWxjdWxhdGlvbi5jb21wbGV4aXR5LCBj
YWxjdWxhdGlvbi5zMSArIGNhbGN1bGF0aW9uLnQxICogY2FsY3VsYXRpb24uY29tcGxleGl0eV0K
KyAgICAgICAgXTsKKyAgICAgICAgcmVzdWx0W1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XVtTdHJp
bmdzLmpzb24ucmVncmVzc2lvbnMuc2VnbWVudDJdID0gWworICAgICAgICAgICAgW2NhbGN1bGF0
aW9uLmNvbXBsZXhpdHksIGNhbGN1bGF0aW9uLnMyICsgY2FsY3VsYXRpb24udDIgKiBjYWxjdWxh
dGlvbi5jb21wbGV4aXR5XSwKKyAgICAgICAgICAgIFtyZWdyZXNzaW9uUmVzdWx0Lm1heENvbXBs
ZXhpdHksIGNhbGN1bGF0aW9uLnMyICsgY2FsY3VsYXRpb24udDIgKiByZWdyZXNzaW9uUmVzdWx0
Lm1heENvbXBsZXhpdHldCisgICAgICAgIF07CisgICAgICAgIHJlc3VsdFtTdHJpbmdzLmpzb24u
Y29tcGxleGl0eV1bU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldID0gY2FsY3VsYXRpb24uY29tcGxl
eGl0eTsKKyAgICAgICAgcmVzdWx0W1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XVtTdHJpbmdzLmpz
b24ubWVhc3VyZW1lbnRzLnN0ZGV2XSA9IE1hdGguc3FydChjYWxjdWxhdGlvbi5lcnJvciAvIHNh
bXBsZXNbU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldLmxlbmd0aCk7CiAKICAgICAgICAgaWYgKGlz
UmFtcENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgIHZhciB0aW1lQ29tcGxleGl0eSA9IG5ldyBF
eHBlcmltZW50OwpAQCAtMTg4LDE1ICsxNzcsMTUgQEAKICAgICAgICAgICAgIGV4cGVyaW1lbnRS
ZXN1bHRbU3RyaW5ncy5qc29uLm1lYXN1cmVtZW50cy5wZXJjZW50XSA9IHRpbWVDb21wbGV4aXR5
LnBlcmNlbnRhZ2UoKTsKIAogICAgICAgICAgICAgY29uc3QgYm9vdHN0cmFwSXRlcmF0aW9ucyA9
IDI1MDA7Ci0gICAgICAgICAgICB2YXIgYm9vdHN0cmFwUmVzdWx0ID0gUmVncmVzc2lvbi5ib290
c3RyYXAoY29tcGxleGl0eVNhbXBsZXMuZGF0YSwgYm9vdHN0cmFwSXRlcmF0aW9ucywgZnVuY3Rp
b24ocmVzYW1wbGVEYXRhKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNvbXBsZXhpdHlJbmRleCA9
IGNvbXBsZXhpdHlTYW1wbGVzLmZpZWxkTWFwW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XTsKKyAg
ICAgICAgICAgIHZhciBib290c3RyYXBSZXN1bHQgPSBSZWdyZXNzaW9uLmJvb3RzdHJhcChyZWdy
ZXNzaW9uUmVzdWx0LnNhbXBsZXMuZGF0YSwgYm9vdHN0cmFwSXRlcmF0aW9ucywgZnVuY3Rpb24o
cmVzYW1wbGVEYXRhKSB7CisgICAgICAgICAgICAgICAgdmFyIGNvbXBsZXhpdHlJbmRleCA9IHJl
Z3Jlc3Npb25SZXN1bHQuc2FtcGxlcy5maWVsZE1hcFtTdHJpbmdzLmpzb24uY29tcGxleGl0eV07
CiAgICAgICAgICAgICAgICAgcmVzYW1wbGVEYXRhLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gYVtjb21wbGV4aXR5SW5kZXhdIC0gYltjb21wbGV4aXR5
SW5kZXhdOwogICAgICAgICAgICAgICAgIH0pOwogCi0gICAgICAgICAgICAgICAgdmFyIHJlc2Ft
cGxlID0gbmV3IFNhbXBsZURhdGEoY29tcGxleGl0eVNhbXBsZXMuZmllbGRNYXAsIHJlc2FtcGxl
RGF0YSk7Ci0gICAgICAgICAgICAgICAgdmFyIHJlZ3Jlc3Npb25SZXN1bHQgPSBmaW5kUmVncmVz
c2lvbihyZXNhbXBsZSwgcHJlZG9taW5hbnRQcm9maWxlKTsKLSAgICAgICAgICAgICAgICByZXR1
cm4gcmVncmVzc2lvblJlc3VsdC5yZWdyZXNzaW9uLmNvbXBsZXhpdHk7CisgICAgICAgICAgICAg
ICAgdmFyIHJlc2FtcGxlID0gbmV3IFNhbXBsZURhdGEocmVncmVzc2lvblJlc3VsdC5zYW1wbGVz
LmZpZWxkTWFwLCByZXNhbXBsZURhdGEpOworICAgICAgICAgICAgICAgIHZhciBib290c3RyYXBS
ZWdyZXNzaW9uUmVzdWx0ID0gZmluZFJlZ3Jlc3Npb24ocmVzYW1wbGUsIHByZWRvbWluYW50UHJv
ZmlsZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGJvb3RzdHJhcFJlZ3Jlc3Npb25SZXN1bHQu
cmVncmVzc2lvbi5jb21wbGV4aXR5OwogICAgICAgICAgICAgfSwgLjgpOwogCiAgICAgICAgICAg
ICByZXN1bHRbU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldW1N0cmluZ3MuanNvbi5ib290c3RyYXBd
ID0gYm9vdHN0cmFwUmVzdWx0OwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25N
YXJrL3Jlc291cmNlcy9zdHJpbmdzLmpzIGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jl
c291cmNlcy9zdHJpbmdzLmpzCmluZGV4IDFiYTcwYTQxMjgwZjZkYTk5M2ZkOThlNWY4ZmFhMmI0
Y2ZmYTE3OWUuLjU1YTQ3ZTdiOTVlNDcyOTg4NzMwNjE5MmM3NWJjZjhmYzY5OTdkMjQgMTAwNjQ0
Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay9yZXNvdXJjZXMvc3RyaW5ncy5qcwor
KysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL3N0cmluZ3MuanMKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0zNyw3ICszNyw2IEBAIHZhciBTdHJpbmdzID0gewogICAgICAgICBjb250cm9sbGVyOiAiY29u
dHJvbGxlciIsCiAgICAgICAgIHRpbWU6ICJ0aW1lIiwKICAgICAgICAgY29tcGxleGl0eTogImNv
bXBsZXhpdHkiLAotICAgICAgICBjb21wbGV4aXR5QXZlcmFnZTogImNvbXBsZXhpdHlBdmVyYWdl
IiwKICAgICAgICAgZnJhbWVMZW5ndGg6ICJmcmFtZUxlbmd0aCIsCiAgICAgICAgIHNtb290aGVk
RnJhbWVMZW5ndGg6ICJzbW9vdGhlZEZyYW1lTGVuZ3RoIiwKIApkaWZmIC0tZ2l0IGEvUGVyZm9y
bWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL3Jlc291cmNlcy9tYWluLmpzIGIvUGVyZm9ybWFu
Y2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL3Jlc291cmNlcy9tYWluLmpzCmluZGV4IDA5M2ViNTgw
ZTk2ZWNjMjdlM2ZkZWFhZDBlZGZjMTJjOWFiMTdkMmQuLmJmZWVmZGZlMDRkNDY3MzA3OWY1OGZi
MWRkMjE4NTNlMDEwMDE3MDYgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFy
ay90ZXN0cy9yZXNvdXJjZXMvbWFpbi5qcworKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1h
cmsvdGVzdHMvcmVzb3VyY2VzL21haW4uanMKQEAgLTE3MSw3MiArMTcxLDMxIEBAIENvbnRyb2xs
ZXIgPSBVdGlsaXRpZXMuY3JlYXRlQ2xhc3MoCiAgICAgICAgIHJldHVybiB0aGlzLl9zYW1wbGVy
LnByb2Nlc3NTYW1wbGVzKCk7CiAgICAgfSwKIAotICAgIF9wcm9jZXNzQ29tcGxleGl0eVNhbXBs
ZXM6IGZ1bmN0aW9uKGNvbXBsZXhpdHlTYW1wbGVzLCBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMp
CisgICAgX3Byb2Nlc3NDb21wbGV4aXR5U2FtcGxlczogZnVuY3Rpb24oY29tcGxleGl0eVNhbXBs
ZXMpCiAgICAgewotICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuYWRkRmllbGQoU3Ry
aW5ncy5qc29uLmNvbXBsZXhpdHksIDApOwotICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBs
ZXMuYWRkRmllbGQoU3RyaW5ncy5qc29uLmZyYW1lTGVuZ3RoLCAxKTsKLSAgICAgICAgY29tcGxl
eGl0eUF2ZXJhZ2VTYW1wbGVzLmFkZEZpZWxkKFN0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMuc3Rk
ZXYsIDIpOwotCiAgICAgICAgIGNvbXBsZXhpdHlTYW1wbGVzLnNvcnQoZnVuY3Rpb24oYSwgYikg
ewogICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXhpdHlTYW1wbGVzLmdldEZpZWxkSW5EYXR1bShh
LCBTdHJpbmdzLmpzb24uY29tcGxleGl0eSkgLSBjb21wbGV4aXR5U2FtcGxlcy5nZXRGaWVsZElu
RGF0dW0oYiwgU3RyaW5ncy5qc29uLmNvbXBsZXhpdHkpOwogICAgICAgICB9KTsKLQotICAgICAg
ICAvLyBTYW1wbGVzIGF2ZXJhZ2VkIGJhc2VkIG9uIGNvbXBsZXhpdHkKLSAgICAgICAgdmFyIGN1
cnJlbnRDb21wbGV4aXR5ID0gLTE7Ci0gICAgICAgIHZhciBleHBlcmltZW50QXRDb21wbGV4aXR5
OwotICAgICAgICBmdW5jdGlvbiBhZGRTYW1wbGUoKSB7Ci0gICAgICAgICAgICB2YXIgbWVhbiA9
IGV4cGVyaW1lbnRBdENvbXBsZXhpdHkubWVhbigpOwotICAgICAgICAgICAgdmFyIHN0ZGV2ID0g
ZXhwZXJpbWVudEF0Q29tcGxleGl0eS5zdGFuZGFyZERldmlhdGlvbigpOwotCi0gICAgICAgICAg
ICB2YXIgYXZlcmFnZVNhbXBsZSA9IGNvbXBsZXhpdHlBdmVyYWdlU2FtcGxlcy5jcmVhdGVEYXR1
bSgpOwotICAgICAgICAgICAgY29tcGxleGl0eUF2ZXJhZ2VTYW1wbGVzLnB1c2goYXZlcmFnZVNh
bXBsZSk7Ci0gICAgICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuc2V0RmllbGRJbkRh
dHVtKGF2ZXJhZ2VTYW1wbGUsIFN0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBjdXJyZW50Q29tcGxl
eGl0eSk7Ci0gICAgICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuc2V0RmllbGRJbkRh
dHVtKGF2ZXJhZ2VTYW1wbGUsIFN0cmluZ3MuanNvbi5mcmFtZUxlbmd0aCwgbWVhbik7Ci0gICAg
ICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuc2V0RmllbGRJbkRhdHVtKGF2ZXJhZ2VT
YW1wbGUsIFN0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMuc3RkZXYsIHN0ZGV2KTsKLSAgICAgICAg
fQotICAgICAgICBjb21wbGV4aXR5U2FtcGxlcy5mb3JFYWNoKGZ1bmN0aW9uKHNhbXBsZSkgewot
ICAgICAgICAgICAgdmFyIHNhbXBsZUNvbXBsZXhpdHkgPSBjb21wbGV4aXR5U2FtcGxlcy5nZXRG
aWVsZEluRGF0dW0oc2FtcGxlLCBTdHJpbmdzLmpzb24uY29tcGxleGl0eSk7Ci0gICAgICAgICAg
ICBpZiAoc2FtcGxlQ29tcGxleGl0eSAhPSBjdXJyZW50Q29tcGxleGl0eSkgewotICAgICAgICAg
ICAgICAgIGlmIChjdXJyZW50Q29tcGxleGl0eSA+IC0xKQotICAgICAgICAgICAgICAgICAgICBh
ZGRTYW1wbGUoKTsKLQotICAgICAgICAgICAgICAgIGN1cnJlbnRDb21wbGV4aXR5ID0gc2FtcGxl
Q29tcGxleGl0eTsKLSAgICAgICAgICAgICAgICBleHBlcmltZW50QXRDb21wbGV4aXR5ID0gbmV3
IEV4cGVyaW1lbnQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBleHBlcmltZW50QXRDb21w
bGV4aXR5LnNhbXBsZShjb21wbGV4aXR5U2FtcGxlcy5nZXRGaWVsZEluRGF0dW0oc2FtcGxlLCBT
dHJpbmdzLmpzb24uZnJhbWVMZW5ndGgpKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIC8vIEZpbmlz
aCBvZmYgdGhlIGxhc3Qgb25lCi0gICAgICAgIGFkZFNhbXBsZSgpOwogICAgIH0sCiAKLSAgICBw
cm9jZXNzU2FtcGxlczogZnVuY3Rpb24ocmVzdWx0cykKKyAgICBfcHJvY2Vzc01hcmtzOiBmdW5j
dGlvbigpCiAgICAgewotICAgICAgICB2YXIgY29tcGxleGl0eUV4cGVyaW1lbnQgPSBuZXcgRXhw
ZXJpbWVudDsKLSAgICAgICAgdmFyIHNtb290aGVkRnJhbWVMZW5ndGhFeHBlcmltZW50ID0gbmV3
IEV4cGVyaW1lbnQ7Ci0KLSAgICAgICAgdmFyIHNhbXBsZXMgPSB0aGlzLl9zYW1wbGVyLnNhbXBs
ZXM7Ci0KICAgICAgICAgZm9yICh2YXIgbWFya05hbWUgaW4gdGhpcy5fbWFya3MpCiAgICAgICAg
ICAgICB0aGlzLl9tYXJrc1ttYXJrTmFtZV0udGltZSAtPSB0aGlzLl9zdGFydFRpbWVzdGFtcDsK
LSAgICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24ubWFya3NdID0gdGhpcy5fbWFya3M7Ci0KLSAg
ICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24uc2FtcGxlc10gPSB7fTsKLQorICAgICAgICByZXR1
cm4gdGhpcy5fbWFya3M7CisgICAgfSwKKyAgICBfcHJvY2Vzc0NvbnRyb2xsZXJTYW1wbGVzOiBm
dW5jdGlvbigpCisgICAgewogICAgICAgICB2YXIgY29udHJvbGxlclNhbXBsZXMgPSBuZXcgU2Ft
cGxlRGF0YTsKLSAgICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24uc2FtcGxlc11bU3RyaW5ncy5q
c29uLmNvbnRyb2xsZXJdID0gY29udHJvbGxlclNhbXBsZXM7Ci0KICAgICAgICAgY29udHJvbGxl
clNhbXBsZXMuYWRkRmllbGQoU3RyaW5ncy5qc29uLnRpbWUsIDApOwogICAgICAgICBjb250cm9s
bGVyU2FtcGxlcy5hZGRGaWVsZChTdHJpbmdzLmpzb24uY29tcGxleGl0eSwgMSk7CiAgICAgICAg
IGNvbnRyb2xsZXJTYW1wbGVzLmFkZEZpZWxkKFN0cmluZ3MuanNvbi5mcmFtZUxlbmd0aCwgMik7
CiAgICAgICAgIGNvbnRyb2xsZXJTYW1wbGVzLmFkZEZpZWxkKFN0cmluZ3MuanNvbi5zbW9vdGhl
ZEZyYW1lTGVuZ3RoLCAzKTsKIAotICAgICAgICB2YXIgY29tcGxleGl0eVNhbXBsZXMgPSBuZXcg
U2FtcGxlRGF0YShjb250cm9sbGVyU2FtcGxlcy5maWVsZE1hcCk7Ci0gICAgICAgIHJlc3VsdHNb
U3RyaW5ncy5qc29uLnNhbXBsZXNdW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XSA9IGNvbXBsZXhp
dHlTYW1wbGVzOwotCisgICAgICAgIHZhciBzYW1wbGVzID0gdGhpcy5fc2FtcGxlci5zYW1wbGVz
OwogICAgICAgICBzYW1wbGVzWzBdLmZvckVhY2goZnVuY3Rpb24odGltZXN0YW1wLCBpKSB7CiAg
ICAgICAgICAgICB2YXIgc2FtcGxlID0gY29udHJvbGxlclNhbXBsZXMuY3JlYXRlRGF0dW0oKTsK
ICAgICAgICAgICAgIGNvbnRyb2xsZXJTYW1wbGVzLnB1c2goc2FtcGxlKTsKLSAgICAgICAgICAg
IGNvbXBsZXhpdHlTYW1wbGVzLnB1c2goc2FtcGxlKTsKIAogICAgICAgICAgICAgLy8gUmVwcmVz
ZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzCiAgICAgICAgICAgICBjb250cm9sbGVyU2FtcGxlcy5z
ZXRGaWVsZEluRGF0dW0oc2FtcGxlLCBTdHJpbmdzLmpzb24udGltZSwgdGltZXN0YW1wIC0gdGhp
cy5fc3RhcnRUaW1lc3RhbXApOwpAQCAtMjUxLDkgKzIxMCwyMyBAQCBDb250cm9sbGVyID0gVXRp
bGl0aWVzLmNyZWF0ZUNsYXNzKAogICAgICAgICAgICAgICAgIGNvbnRyb2xsZXJTYW1wbGVzLnNl
dEZpZWxkSW5EYXR1bShzYW1wbGUsIFN0cmluZ3MuanNvbi5zbW9vdGhlZEZyYW1lTGVuZ3RoLCBz
YW1wbGVzWzJdW2ldKTsKICAgICAgICAgfSwgdGhpcyk7CiAKLSAgICAgICAgdmFyIGNvbXBsZXhp
dHlBdmVyYWdlU2FtcGxlcyA9IG5ldyBTYW1wbGVEYXRhOwotICAgICAgICByZXN1bHRzW1N0cmlu
Z3MuanNvbi5zYW1wbGVzXVtTdHJpbmdzLmpzb24uY29tcGxleGl0eUF2ZXJhZ2VdID0gY29tcGxl
eGl0eUF2ZXJhZ2VTYW1wbGVzOwotICAgICAgICB0aGlzLl9wcm9jZXNzQ29tcGxleGl0eVNhbXBs
ZXMoY29tcGxleGl0eVNhbXBsZXMsIGNvbXBsZXhpdHlBdmVyYWdlU2FtcGxlcyk7CisgICAgICAg
IHJldHVybiBjb250cm9sbGVyU2FtcGxlczsKKyAgICB9LAorCisgICAgcHJvY2Vzc1NhbXBsZXM6
IGZ1bmN0aW9uKHJlc3VsdHMpCisgICAgeworICAgICAgICByZXN1bHRzW1N0cmluZ3MuanNvbi5t
YXJrc10gPSB0aGlzLl9wcm9jZXNzTWFya3MoKTsKKworICAgICAgICB2YXIgY29udHJvbGxlclNh
bXBsZXMgPSB0aGlzLl9wcm9jZXNzQ29udHJvbGxlclNhbXBsZXMoKTsKKyAgICAgICAgdmFyIGNv
bXBsZXhpdHlTYW1wbGVzID0gbmV3IFNhbXBsZURhdGEoY29udHJvbGxlclNhbXBsZXMuZmllbGRN
YXApOworCisgICAgICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLnNhbXBsZXNdID0ge307CisgICAg
ICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLnNhbXBsZXNdW1N0cmluZ3MuanNvbi5jb250cm9sbGVy
XSA9IGNvbnRyb2xsZXJTYW1wbGVzOworICAgICAgICByZXN1bHRzW1N0cmluZ3MuanNvbi5zYW1w
bGVzXVtTdHJpbmdzLmpzb24uY29tcGxleGl0eV0gPSBjb21wbGV4aXR5U2FtcGxlczsKKyAgICAg
ICAgY29udHJvbGxlclNhbXBsZXMuZm9yRWFjaChmdW5jdGlvbiAoc2FtcGxlKSB7CisgICAgICAg
ICAgICBjb21wbGV4aXR5U2FtcGxlcy5wdXNoKHNhbXBsZSk7CisgICAgICAgIH0pOworICAgICAg
ICB0aGlzLl9wcm9jZXNzQ29tcGxleGl0eVNhbXBsZXMoY29tcGxleGl0eVNhbXBsZXMpOwogICAg
IH0KIH0pOwogCkBAIC01NDYsMTYgKzUxOSwxNyBAQCBSYW1wQ29udHJvbGxlciA9IFV0aWxpdGll
cy5jcmVhdGVTdWJjbGFzcyhDb250cm9sbGVyLAogCiAgICAgcHJvY2Vzc1NhbXBsZXM6IGZ1bmN0
aW9uKHJlc3VsdHMpCiAgICAgewotICAgICAgICBDb250cm9sbGVyLnByb3RvdHlwZS5wcm9jZXNz
U2FtcGxlcy5jYWxsKHRoaXMsIHJlc3VsdHMpOwotCisgICAgICAgIHJlc3VsdHNbU3RyaW5ncy5q
c29uLm1hcmtzXSA9IHRoaXMuX3Byb2Nlc3NNYXJrcygpOwogICAgICAgICAvLyBIYXZlIHNhbXBs
aW5nVGltZU9mZnNldCByZXByZXNlbnQgdGltZSAwCiAgICAgICAgIHZhciBzdGFydFRpbWVzdGFt
cCA9IHRoaXMuX21hcmtzW1N0cmluZ3MuanNvbi5zYW1wbGluZ1N0YXJ0VGltZU9mZnNldF0udGlt
ZTsKLQogICAgICAgICBmb3IgKHZhciBtYXJrTmFtZSBpbiByZXN1bHRzW1N0cmluZ3MuanNvbi5t
YXJrc10pIHsKICAgICAgICAgICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLm1hcmtzXVttYXJrTmFt
ZV0udGltZSAtPSBzdGFydFRpbWVzdGFtcDsKICAgICAgICAgfQogCi0gICAgICAgIHZhciBjb250
cm9sbGVyU2FtcGxlcyA9IHJlc3VsdHNbU3RyaW5ncy5qc29uLnNhbXBsZXNdW1N0cmluZ3MuanNv
bi5jb250cm9sbGVyXTsKKyAgICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24uc2FtcGxlc10gPSB7
fTsKKworICAgICAgICB2YXIgY29udHJvbGxlclNhbXBsZXMgPSB0aGlzLl9wcm9jZXNzQ29udHJv
bGxlclNhbXBsZXMoKTsKKyAgICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24uc2FtcGxlc11bU3Ry
aW5ncy5qc29uLmNvbnRyb2xsZXJdID0gY29udHJvbGxlclNhbXBsZXM7CiAgICAgICAgIGNvbnRy
b2xsZXJTYW1wbGVzLmZvckVhY2goZnVuY3Rpb24odGltZVNhbXBsZSkgewogICAgICAgICAgICAg
Y29udHJvbGxlclNhbXBsZXMuc2V0RmllbGRJbkRhdHVtKHRpbWVTYW1wbGUsIFN0cmluZ3MuanNv
bi50aW1lLCBjb250cm9sbGVyU2FtcGxlcy5nZXRGaWVsZEluRGF0dW0odGltZVNhbXBsZSwgU3Ry
aW5ncy5qc29uLnRpbWUpIC0gc3RhcnRUaW1lc3RhbXApOwogICAgICAgICB9KTsKQEAgLTU5NSw5
ICs1NjksNyBAQCBSYW1wQ29udHJvbGxlciA9IFV0aWxpdGllcy5jcmVhdGVTdWJjbGFzcyhDb250
cm9sbGVyLAogICAgICAgICAgICAgICAgIGNvbXBsZXhpdHlTYW1wbGVzLnB1c2goY29udHJvbGxl
clNhbXBsZXMuYXQoaikpOwogICAgICAgICB9KTsKIAotICAgICAgICB2YXIgY29tcGxleGl0eUF2
ZXJhZ2VTYW1wbGVzID0gbmV3IFNhbXBsZURhdGE7Ci0gICAgICAgIHJlc3VsdHNbU3RyaW5ncy5q
c29uLnNhbXBsZXNdW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5QXZlcmFnZV0gPSBjb21wbGV4aXR5
QXZlcmFnZVNhbXBsZXM7Ci0gICAgICAgIHRoaXMuX3Byb2Nlc3NDb21wbGV4aXR5U2FtcGxlcyhj
b21wbGV4aXR5U2FtcGxlcywgY29tcGxleGl0eUF2ZXJhZ2VTYW1wbGVzKTsKKyAgICAgICAgdGhp
cy5fcHJvY2Vzc0NvbXBsZXhpdHlTYW1wbGVzKGNvbXBsZXhpdHlTYW1wbGVzKTsKICAgICB9CiB9
KTsKIAo=
</data>
<flag name="review"
          id="360244"
          type_id="1"
          status="+"
          setter="sabouhallawa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342083</attachid>
            <date>2018-06-06 15:03:34 -0700</date>
            <delta_ts>2018-06-06 16:46:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186256-20180606150333.patch</filename>
            <type>text/plain</type>
            <size>24449</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNTU4CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAyNmIwZTdkMWEw
ODM1N2VjNmQzNzY4YzQ5NTM3MzM1ZTAwZTFiYTguLjE0ZjRjYjBlYjIyNzE2MDc0MTZkMmU0MTRh
YTliM2E3NzIwNGIzOTAgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTgtMDYt
MDYgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lZWRl
ZCBkYXRhIHByb2Nlc3NpbmcgaW4gTW90aW9uTWFyaworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGNhbGN1bGF0aW9uIG9mIGF2ZXJhZ2UgZnJh
bWUgcmF0ZSBiYXNlZCBvbiBtdWx0aXBsZSBzYW1wbGVzIGF0IGEgZ2l2ZW4gY29tcGxleGl0eS4K
KyAgICAgICAgSXQgaXMgbm90IHVzZWQgaW4gdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBzY29yZSwg
YW5kIGlzIGp1c3QgZXh0cmEgd29yayB0byBkbyBhdCB0aGUgZW5kCisgICAgICAgIG9mIGEgdGVz
dC4KKworICAgICAgICAqIE1vdGlvbk1hcmsvZGV2ZWxvcGVyLmh0bWw6IFJlbW92ZSBvcHRpb25z
IHRvIHNob3cgYXZlcmFnZSBkYXRhIGFuZCByZWdyZXNzaW9uIGJhc2VkIG9uCisgICAgICAgIHRo
YXQgZGF0YS4KKyAgICAgICAgKiBNb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvZ3Jh
cGguanM6IFJlbW92ZSBkYXRhLiBVcGRhdGUgdGhlIHRpbWUgZ3JhcGggdGhhdAorICAgICAgICBz
aG93cyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGJyZWFrIHBvaW50IGluIHRoZSByZWdy
ZXNzaW9uIGFnYWluc3QgdGhlIGNvbXBsZXhpdHkKKyAgICAgICAgZ3JhcGguCisgICAgICAgICog
TW90aW9uTWFyay9yZXNvdXJjZXMvZGVidWctcnVubmVyL21vdGlvbm1hcmsuY3NzOiBNYWtlIHRo
ZSBjb25maWRlbmNlIGludGVydmFscyBlYXNpZXIKKyAgICAgICAgdG8gc2VlLgorICAgICAgICAq
IE1vdGlvbk1hcmsvcmVzb3VyY2VzL3J1bm5lci9tb3Rpb25tYXJrLmpzOiBTaW1wbGlmeSBzY29y
ZSBjYWxjdWxhdGlvbiBub3cgdGhhdCB3ZSBhcmUKKyAgICAgICAgb25seSBjYWxjdWxhdGluZyBy
ZWdyZXNzaW9ucyBvbiB0aGUgcmF3IGRhdGEuIFdlIHdlcmUgY2FsY3VsYXRpbmcgaXQgYmFzZWQg
b24gdGhlIGF2ZXJhZ2VzLAorICAgICAgICBidXQgdGhhdCB3YXMganVzdCBmb3IgYW5hbHlzaXMs
IGFuZCBub3QgdXNlZCBpbiB0aGUgYWN0dWFsIHNjb3JlLiBHZXQgcmlkIG9mIHRoZQorICAgICAg
ICB8Y29tcGxleGl0eVNhbXBsZXN8IGxvY2FsIHZhcmlhYmxlLgorICAgICAgICAqIE1vdGlvbk1h
cmsvcmVzb3VyY2VzL3N0cmluZ3MuanM6IFJlbW92ZSB1bm5lZWRlZCBzdHJpbmcgY29uc3RhbnQu
CisgICAgICAgICogTW90aW9uTWFyay90ZXN0cy9yZXNvdXJjZXMvbWFpbi5qczoKKyAgICAgICAg
KHByb2Nlc3NTYW1wbGVzKTogUmVmYWN0b3Igc28gdGhhdCBtb3JlIG9mIGl0IGNhbiBiZSBzaGFy
ZWQgYmV0d2VlbiBDb250cm9sbGVyIGFuZAorICAgICAgICBSYW1wQ29udHJvbGxlci4gSXQgYWxz
byBhdm9pZHMgcHJvY2Vzc2luZyB0aGUgcmF3IHNhbXBsZXMgKGNvbnRyb2xsZXJTYW1wbGVzKSB0
d2ljZSBmb3IKKyAgICAgICAgdGhlIHJhbXAgY29udHJvbGxlci4KKyAgICAgICAgKF9wcm9jZXNz
Q29tcGxleGl0eVNhbXBsZXMpOiBSZW1vdmUgbG9naWMgdG8gY2FsY3VsYXRlIGF2ZXJhZ2VzIGJh
c2VkIG9uIGNvbXBsZXhpdHkuCisgICAgICAgIChfcHJvY2Vzc01hcmtzKTogU3BsaXQgdGhpcyBv
dXQgZnJvbSB0aGUgb2xkIHByb2Nlc3NTYW1wbGVzLgorICAgICAgICAoX3Byb2Nlc3NDb250cm9s
bGVyU2FtcGxlcyk6IFNwbGl0IHRoaXMgb3V0IGZyb20gdGhlIG9sZCBwcm9jZXNzU2FtcGxlcy4K
KwogMjAxOC0wNi0wNiAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWxs
b3cgdGhlIHJhbXAgY29udHJvbGxlciB0byBydW4gdGVzdHMgdGhhdCB0YWtlIGxlc3MgdGltZSB0
aGFuIHRoZSBpbml0aWFsIHJhbXAtdXAgcGhhc2UKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVz
dHMvTW90aW9uTWFyay9kZXZlbG9wZXIuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFy
ay9kZXZlbG9wZXIuaHRtbAppbmRleCBlYjM5NTFkNDAxNzU0Yzg3Y2IyY2I5MGJlN2NjY2RiM2Nk
MWUyYzVjLi4yOWI5MTQ0Njg5M2ZhODViYmVhMjYyYTUzMjVkMmY1ODhiZjRlMzMzIDEwMDY0NAot
LS0gYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvZGV2ZWxvcGVyLmh0bWwKKysrIGIvUGVy
Zm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL2RldmVsb3Blci5odG1sCkBAIC0xNzksMTMgKzE3OSwx
MSBAQAogICAgICAgICAgICAgICAgICAgICA8Zm9ybSBuYW1lPSJjb21wbGV4aXR5LWdyYXBoLW9w
dGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzZXJpZXMiPgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94
IiBuYW1lPSJzZXJpZXMtcmF3IiBjaGVja2VkPiBTZXJpZXMgcmF3PC9sYWJlbD48L2xpPgotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94
IiBuYW1lPSJzZXJpZXMtYXZlcmFnZSI+IFNlcmllcyBhdmVyYWdlPC9sYWJlbD48L2xpPgogICAg
ICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVj
a2JveCIgbmFtZT0icmVncmVzc2lvbi10aW1lLXNjb3JlIj4gQ29udHJvbGxlciBzY29yZTwvbGFi
ZWw+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGxhYmVsPjxpbnB1dCB0
eXBlPSJjaGVja2JveCIgbmFtZT0iYm9vdHN0cmFwLXNjb3JlIiBjaGVja2VkPiBCb290c3RyYXAg
c2NvcmUgYW5kIGhpc3RvZ3JhbTwvbGFiZWw+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA8bGk+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iY29tcGxleGl0eS1y
ZWdyZXNzaW9uLWFnZ3JlZ2F0ZS1yYXciIGNoZWNrZWQ+IFJlZ3Jlc3Npb24sIHNlcmllcyByYXc8
L2xhYmVsPjxzcGFuIGlkPSJjb21wbGV4aXR5LXJlZ3Jlc3Npb24tYWdncmVnYXRlLXJhdyI+PC9z
cGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxsYWJlbD48aW5wdXQg
dHlwZT0iY2hlY2tib3giIG5hbWU9ImNvbXBsZXhpdHktcmVncmVzc2lvbi1hZ2dyZWdhdGUtYXZl
cmFnZSI+IFJlZ3Jlc3Npb24sIHNlcmllcyBhdmVyYWdlPC9sYWJlbD48c3BhbiBpZD0iY29tcGxl
eGl0eS1yZWdyZXNzaW9uLWFnZ3JlZ2F0ZS1hdmVyYWdlIj48L3NwYW4+PC9saT4KICAgICAgICAg
ICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAg
ICAgICAgICAgICA8L25hdj4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFy
ay9yZXNvdXJjZXMvZGVidWctcnVubmVyL2dyYXBoLmpzIGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rp
b25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvZ3JhcGguanMKaW5kZXggOWE1MWI3ZTc3NWQ5
M2I2ZmQ3ODk0ZWViZTgyMmU0ZDJiM2Q4ODk5Ny4uMzA3MzEzNGYyYTdiMGZhMmM4YmUwODMwNjll
ODU2MTVlZmVkOGJjMCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jl
c291cmNlcy9kZWJ1Zy1ydW5uZXIvZ3JhcGguanMKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rp
b25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvZ3JhcGguanMKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNyw3ICszNyw3IEBA
IFV0aWxpdGllcy5leHRlbmRPYmplY3Qod2luZG93LmJlbmNobWFya0NvbnRyb2xsZXIsIHsKIAog
ICAgICAgICAvLyBDb252ZXJ0IGZyb20gY29tcGFjdCBKU09OIG91dHB1dCB0byBwcm9wZXJ0aWVk
IGRhdGEKICAgICAgICAgdmFyIHNhbXBsZXNXaXRoUHJvcGVydGllcyA9IHt9OwotICAgICAgICBb
U3RyaW5ncy5qc29uLmNvbnRyb2xsZXIsIFN0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBTdHJpbmdz
Lmpzb24uY29tcGxleGl0eUF2ZXJhZ2VdLmZvckVhY2goZnVuY3Rpb24oc2VyaWVzTmFtZSkgewor
ICAgICAgICBbU3RyaW5ncy5qc29uLmNvbnRyb2xsZXIsIFN0cmluZ3MuanNvbi5jb21wbGV4aXR5
XS5mb3JFYWNoKGZ1bmN0aW9uKHNlcmllc05hbWUpIHsKICAgICAgICAgICAgIHZhciBzZXJpZXMg
PSB0ZXN0RGF0YVtTdHJpbmdzLmpzb24uc2FtcGxlc11bc2VyaWVzTmFtZV07CiAgICAgICAgICAg
ICBzYW1wbGVzV2l0aFByb3BlcnRpZXNbc2VyaWVzTmFtZV0gPSBzZXJpZXMudG9BcnJheSgpOwog
ICAgICAgICB9KQpAQCAtOTIsNyArOTIsNyBAQCBVdGlsaXRpZXMuZXh0ZW5kT2JqZWN0KHdpbmRv
dy5iZW5jaG1hcmtDb250cm9sbGVyLCB7CiAgICAgICAgIHN2Zy5hcHBlbmQoImNpcmNsZSIpCiAg
ICAgICAgICAgICAuYXR0cigiY3giLCB4U2NhbGUoZGF0YS5zZWdtZW50MVsxXVswXSkpCiAgICAg
ICAgICAgICAuYXR0cigiY3kiLCB5U2NhbGUoZGF0YS5zZWdtZW50MVsxXVsxXSkpCi0gICAgICAg
ICAgICAuYXR0cigiciIsIDUpOworICAgICAgICAgICAgLmF0dHIoInIiLCAzKTsKICAgICAgICAg
dGhpcy5fYWRkUmVncmVzc2lvbkxpbmUoc3ZnLCB4U2NhbGUsIHlTY2FsZSwgZGF0YS5zZWdtZW50
MSwgZGF0YS5zdGRldik7CiAgICAgICAgIHRoaXMuX2FkZFJlZ3Jlc3Npb25MaW5lKHN2ZywgeFNj
YWxlLCB5U2NhbGUsIGRhdGEuc2VnbWVudDIsIGRhdGEuc3RkZXYpOwogICAgIH0sCkBAIC0xNTgs
NyArMTU4LDYgQEAgVXRpbGl0aWVzLmV4dGVuZE9iamVjdCh3aW5kb3cuYmVuY2htYXJrQ29udHJv
bGxlciwgewogCiAgICAgICAgIC8vIHJlZ3Jlc3Npb24KICAgICAgICAgdGhpcy5fYWRkUmVncmVz
c2lvbihyZXN1bHRbU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldLCBzdmcuYXBwZW5kKCJnIikuYXR0
cigiY2xhc3MiLCAicmVncmVzc2lvbiByYXciKSwgeFNjYWxlLCB5U2NhbGUpOwotICAgICAgICB0
aGlzLl9hZGRSZWdyZXNzaW9uKHJlc3VsdFtTdHJpbmdzLmpzb24uY29tcGxleGl0eUF2ZXJhZ2Vd
LCBzdmcuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCAicmVncmVzc2lvbiBhdmVyYWdlIiksIHhT
Y2FsZSwgeVNjYWxlKTsKIAogICAgICAgICB2YXIgYm9vdHN0cmFwUmVzdWx0ID0gcmVzdWx0W1N0
cmluZ3MuanNvbi5jb21wbGV4aXR5XVtTdHJpbmdzLmpzb24uYm9vdHN0cmFwXTsKICAgICAgICAg
aWYgKGJvb3RzdHJhcFJlc3VsdCkgewpAQCAtMjAzLDIxICsyMDIsNiBAQCBVdGlsaXRpZXMuZXh0
ZW5kT2JqZWN0KHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLCB7CiAgICAgICAgICAgICAuYXR0
cigieTEiLCBmdW5jdGlvbihkKSB7IHJldHVybiB5U2NhbGUoZC5mcmFtZUxlbmd0aCkgKyAzOyB9
KQogICAgICAgICAgICAgLmF0dHIoInkyIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4geVNjYWxlKGQu
ZnJhbWVMZW5ndGgpIC0gMzsgfSk7CiAKLSAgICAgICAgZ3JvdXAgPSBzdmcuYXBwZW5kKCJnIikK
LSAgICAgICAgICAgIC5hdHRyKCJjbGFzcyIsICJzZXJpZXMgYXZlcmFnZSIpCi0gICAgICAgICAg
ICAuc2VsZWN0QWxsKCJjaXJjbGUiKQotICAgICAgICAgICAgICAgIC5kYXRhKGRhdGFbU3RyaW5n
cy5qc29uLmNvbXBsZXhpdHlBdmVyYWdlXSkKLSAgICAgICAgICAgICAgICAuZW50ZXIoKTsKLSAg
ICAgICAgZ3JvdXAuYXBwZW5kKCJjaXJjbGUiKQotICAgICAgICAgICAgLmF0dHIoImN4IiwgZnVu
Y3Rpb24oZCkgeyByZXR1cm4geFNjYWxlKGQuY29tcGxleGl0eSk7IH0pCi0gICAgICAgICAgICAu
YXR0cigiY3kiLCBmdW5jdGlvbihkKSB7IHJldHVybiB5U2NhbGUoZC5mcmFtZUxlbmd0aCk7IH0p
Ci0gICAgICAgICAgICAuYXR0cigiciIsIDMpCi0gICAgICAgIGdyb3VwLmFwcGVuZCgibGluZSIp
Ci0gICAgICAgICAgICAuYXR0cigieDEiLCBmdW5jdGlvbihkKSB7IHJldHVybiB4U2NhbGUoZC5j
b21wbGV4aXR5KTsgfSkKLSAgICAgICAgICAgIC5hdHRyKCJ4MiIsIGZ1bmN0aW9uKGQpIHsgcmV0
dXJuIHhTY2FsZShkLmNvbXBsZXhpdHkpOyB9KQotICAgICAgICAgICAgLmF0dHIoInkxIiwgZnVu
Y3Rpb24oZCkgeyByZXR1cm4geVNjYWxlKGQuZnJhbWVMZW5ndGggLSBkLnN0ZGV2KTsgfSkKLSAg
ICAgICAgICAgIC5hdHRyKCJ5MiIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIHlTY2FsZShkLmZyYW1l
TGVuZ3RoICsgZC5zdGRldik7IH0pOwotCiAgICAgICAgIC8vIEN1cnNvcgogICAgICAgICB2YXIg
Y3Vyc29yR3JvdXAgPSBzdmcuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCAiY3Vyc29yIGhpZGRl
biIpOwogICAgICAgICBjdXJzb3JHcm91cC5hcHBlbmQoImxpbmUiKQpAQCAtNDY1LDYgKzQ0OSwx
NyBAQCBVdGlsaXRpZXMuZXh0ZW5kT2JqZWN0KHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLCB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cigieTIiLCB5UmlnaHQocmVncmVzc2lvbi5z
ZWdtZW50MlsxXVsxXSkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAvLyBp
bmZsZWN0aW9uIHBvaW50CisgICAgICAgICAgICAgICAgcmVncmVzc2lvbkdyb3VwLmFwcGVuZCgi
Y2lyY2xlIikKKyAgICAgICAgICAgICAgICAgICAgLmF0dHIoImN4IiwgeChyZWdyZXNzaW9uLnNl
Z21lbnQyWzBdWzBdKSkKKyAgICAgICAgICAgICAgICAgICAgLmF0dHIoImN5IiwgeVJpZ2h0KHJl
Z3Jlc3Npb24uc2VnbWVudDJbMF1bMV0pKQorICAgICAgICAgICAgICAgICAgICAuYXR0cigiciIs
IDMpOworICAgICAgICAgICAgICAgIHJlZ3Jlc3Npb25Hcm91cC5hcHBlbmQoImxpbmUiKQorICAg
ICAgICAgICAgICAgICAgICAuYXR0cigiY2xhc3MiLCAiYXNzb2NpYXRpb24iKQorICAgICAgICAg
ICAgICAgICAgICAuYXR0cigic3Ryb2tlLWRhc2hhcnJheSIsICI1LCAzIikKKyAgICAgICAgICAg
ICAgICAgICAgLmF0dHIoIngxIiwgeChyZWdyZXNzaW9uLnNlZ21lbnQyWzBdWzBdKSkKKyAgICAg
ICAgICAgICAgICAgICAgLmF0dHIoIngyIiwgeChyZWdyZXNzaW9uLnNlZ21lbnQyWzBdWzBdKSkK
KyAgICAgICAgICAgICAgICAgICAgLmF0dHIoInkxIiwgeVJpZ2h0KHJlZ3Jlc3Npb24uc2VnbWVu
dDJbMF1bMV0pKQorICAgICAgICAgICAgICAgICAgICAuYXR0cigieTIiLCB5TGVmdChyZWdyZXNz
aW9uLmNvbXBsZXhpdHkpKTsKICAgICAgICAgICAgICAgICByZWdyZXNzaW9uR3JvdXAuYXBwZW5k
KCJjaXJjbGUiKQogICAgICAgICAgICAgICAgICAgICAuYXR0cigiY3giLCB4KHJlZ3Jlc3Npb24u
c2VnbWVudDFbMV1bMF0pKQogICAgICAgICAgICAgICAgICAgICAuYXR0cigiY3kiLCB5TGVmdChy
ZWdyZXNzaW9uLmNvbXBsZXhpdHkpKQpAQCAtNTY4LDExICs1NjMsOSBAQCBVdGlsaXRpZXMuZXh0
ZW5kT2JqZWN0KHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLCB7CiAgICAgb25Db21wbGV4aXR5
R3JhcGhPcHRpb25zQ2hhbmdlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBmb3JtID0gZG9j
dW1lbnQuZm9ybXNbImNvbXBsZXhpdHktZ3JhcGgtb3B0aW9ucyJdLmVsZW1lbnRzOwogICAgICAg
ICBiZW5jaG1hcmtDb250cm9sbGVyLl9zaG93T3JIaWRlTm9kZXMoZm9ybVsic2VyaWVzLXJhdyJd
LmNoZWNrZWQsICIjY29tcGxleGl0eS1ncmFwaCAuc2VyaWVzLnJhdyIpOwotICAgICAgICBiZW5j
aG1hcmtDb250cm9sbGVyLl9zaG93T3JIaWRlTm9kZXMoZm9ybVsic2VyaWVzLWF2ZXJhZ2UiXS5j
aGVja2VkLCAiI2NvbXBsZXhpdHktZ3JhcGggLnNlcmllcy5hdmVyYWdlIik7CiAgICAgICAgIGJl
bmNobWFya0NvbnRyb2xsZXIuX3Nob3dPckhpZGVOb2Rlcyhmb3JtWyJyZWdyZXNzaW9uLXRpbWUt
c2NvcmUiXS5jaGVja2VkLCAiI2NvbXBsZXhpdHktZ3JhcGggLm1lYW4uY29tcGxleGl0eSIpOwog
ICAgICAgICBiZW5jaG1hcmtDb250cm9sbGVyLl9zaG93T3JIaWRlTm9kZXMoZm9ybVsiYm9vdHN0
cmFwLXNjb3JlIl0uY2hlY2tlZCwgIiNjb21wbGV4aXR5LWdyYXBoIC5ib290c3RyYXAiKTsKICAg
ICAgICAgYmVuY2htYXJrQ29udHJvbGxlci5fc2hvd09ySGlkZU5vZGVzKGZvcm1bImNvbXBsZXhp
dHktcmVncmVzc2lvbi1hZ2dyZWdhdGUtcmF3Il0uY2hlY2tlZCwgIiNjb21wbGV4aXR5LWdyYXBo
IC5yZWdyZXNzaW9uLnJhdyIpOwotICAgICAgICBiZW5jaG1hcmtDb250cm9sbGVyLl9zaG93T3JI
aWRlTm9kZXMoZm9ybVsiY29tcGxleGl0eS1yZWdyZXNzaW9uLWFnZ3JlZ2F0ZS1hdmVyYWdlIl0u
Y2hlY2tlZCwgIiNjb21wbGV4aXR5LWdyYXBoIC5yZWdyZXNzaW9uLmF2ZXJhZ2UiKTsKICAgICB9
LAogCiAgICAgb25UaW1lR3JhcGhPcHRpb25zQ2hhbmdlZDogZnVuY3Rpb24oKSB7CkBAIC02MTYs
MTEgKzYwOSw3IEBAIFV0aWxpdGllcy5leHRlbmRPYmplY3Qod2luZG93LmJlbmNobWFya0NvbnRy
b2xsZXIsIHsKICAgICAgICAgICAgIG1lYW4gPSBtZWFuLmpvaW4oIiIpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgdmFyIGNvbXBsZXhpdHlSZWdyZXNzaW9uID0gdGVzdFJlc3VsdFtT
dHJpbmdzLmpzb24uY29tcGxleGl0eV07Ci0gICAgICAgICAgICB2YXIgY29tcGxleGl0eUF2ZXJh
Z2VSZWdyZXNzaW9uID0gdGVzdFJlc3VsdFtTdHJpbmdzLmpzb24uY29tcGxleGl0eUF2ZXJhZ2Vd
OwotCiAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tcGxleGl0eS1yZWdy
ZXNzaW9uLWFnZ3JlZ2F0ZS1yYXciKS50ZXh0Q29udGVudCA9IGNvbXBsZXhpdHlSZWdyZXNzaW9u
LmNvbXBsZXhpdHkudG9GaXhlZCgyKSArICIsIMKxIiArIGNvbXBsZXhpdHlSZWdyZXNzaW9uLnN0
ZGV2LnRvRml4ZWQoMikgKyAibXMiOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbXBsZXhpdHktcmVncmVzc2lvbi1hZ2dyZWdhdGUtYXZlcmFnZSIpLnRleHRDb250ZW50
ID0gY29tcGxleGl0eUF2ZXJhZ2VSZWdyZXNzaW9uLmNvbXBsZXhpdHkudG9GaXhlZCgyKSArICIs
IMKxIiArIGNvbXBsZXhpdHlBdmVyYWdlUmVncmVzc2lvbi5zdGRldi50b0ZpeGVkKDIpICsgIm1z
IjsKLQogICAgICAgICAgICAgdmFyIGJvb3RzdHJhcCA9IGNvbXBsZXhpdHlSZWdyZXNzaW9uW1N0
cmluZ3MuanNvbi5ib290c3RyYXBdOwogICAgICAgICAgICAgaWYgKGJvb3RzdHJhcCkgewogICAg
ICAgICAgICAgICAgIHNjb3JlID0gYm9vdHN0cmFwLm1lZGlhbi50b0ZpeGVkKDIpOwpkaWZmIC0t
Z2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIv
bW90aW9ubWFyay5jc3MgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2Rl
YnVnLXJ1bm5lci9tb3Rpb25tYXJrLmNzcwppbmRleCA4MGViMGQ1NjA4YTllZDE1M2YzMGFmMDFk
YTFkNmRiMTJmZjc3MmRiLi5hZDE5NmRiZjk5ZTA2ZGRhZGRmNmMwYTc1MDhjZjg4ODQyMDQ0MDkz
IDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVn
LXJ1bm5lci9tb3Rpb25tYXJrLmNzcworKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsv
cmVzb3VyY2VzL2RlYnVnLXJ1bm5lci9tb3Rpb25tYXJrLmNzcwpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTcwNCw2ICs3MDQsMTAg
QEAgYm9keS5zaG93aW5nLXRlc3QtY29udGFpbmVyLnRpbGVzLWNsYXNzaWMgewogICAgIHN0cm9r
ZS13aWR0aDogMnB4OwogfQogCisjcmVncmVzc2lvbnMgbGluZS5hc3NvY2lhdGlvbiB7CisgICAg
c3Ryb2tlLXdpZHRoOiAxcHg7Cit9CisKICNyZWdyZXNzaW9ucyBjaXJjbGUgewogICAgIGZpbGw6
IHJnYmEoMjAwLCAyMDAsIDIwMCwgLjgpOwogfQpAQCAtNzU1LDcgKzc1OSw3IEBAIGJvZHkuc2hv
d2luZy10ZXN0LWNvbnRhaW5lci50aWxlcy1jbGFzc2ljIHsKIH0KIAogI2NvbXBsZXhpdHktZ3Jh
cGggLnJlZ3Jlc3Npb24gcG9seWdvbiB7Ci0gICAgZmlsbDogcmdiYSgyNTMsIDI1MywgMjUzLCAu
MDUpOworICAgIGZpbGw6IHJnYmEoMjUzLCAyNTMsIDI1MywgLjIpOwogfQogCiAjY29tcGxleGl0
eS1ncmFwaCAucmF3LnNlcmllcyBsaW5lIHsKQEAgLTc3MSwxNSArNzc1LDYgQEAgYm9keS5zaG93
aW5nLXRlc3QtY29udGFpbmVyLnRpbGVzLWNsYXNzaWMgewogICAgIHN0cm9rZTogcmdiYSgzMCwg
OTYlLCA4NiUsIC4wNSk7CiB9CiAKLSNjb21wbGV4aXR5LWdyYXBoIC5hdmVyYWdlLnNlcmllcyBj
aXJjbGUgewotICAgIGZpbGw6IGhzbCgxNzAsIDk2JSwgNTYlKTsKLX0KLQotI2NvbXBsZXhpdHkt
Z3JhcGggLmF2ZXJhZ2Uuc2VyaWVzIGxpbmUgewotICAgIHN0cm9rZTogaHNsYSgxNzAsIDk2JSwg
NTYlLCAuMik7Ci0gICAgc3Ryb2tlLXdpZHRoOiAycHg7Ci19Ci0KICNjb21wbGV4aXR5LWdyYXBo
IC5ib290c3RyYXAgLmJhciB7CiAgICAgZmlsbDogaHNsYSgyNjAsIDU2JSwgNjYlLCAuNCk7CiB9
CkBAIC03OTQsNSArNzg5LDUgQEAgYm9keS5zaG93aW5nLXRlc3QtY29udGFpbmVyLnRpbGVzLWNs
YXNzaWMgewogfQogCiAjY29tcGxleGl0eS1ncmFwaCAuYm9vdHN0cmFwIC5tZWRpYW4gcG9seWdv
biB7Ci0gICAgZmlsbDogaHNsYSgzMDAsIDU2JSwgNjYlLCAuMDUpOworICAgIGZpbGw6IGhzbGEo
MjQwLCA1NiUsIDY2JSwgLjQpOwogfQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rp
b25NYXJrL3Jlc291cmNlcy9ydW5uZXIvbW90aW9ubWFyay5qcyBiL1BlcmZvcm1hbmNlVGVzdHMv
TW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL21vdGlvbm1hcmsuanMKaW5kZXggNDBlNmEyMTRk
NzBhYTA5ZmE0ODI2OWUxNzFkOWEyZDljYmZjYTZhZi4uMWQxNmQ4ZmJhYmZkMzRjYTExZjFjYjM2
Yzg4Y2JiODUwYzhlNDcyMiAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJr
L3Jlc291cmNlcy9ydW5uZXIvbW90aW9ubWFyay5qcworKysgYi9QZXJmb3JtYW5jZVRlc3RzL01v
dGlvbk1hcmsvcmVzb3VyY2VzL3J1bm5lci9tb3Rpb25tYXJrLmpzCkBAIC05Miw4ICs5Miw2IEBA
CiAgICAgICAgIGRhdGFbU3RyaW5ncy5qc29uLnJlc3VsdF0gPSByZXN1bHQ7CiAgICAgICAgIHZh
ciBzYW1wbGVzID0gZGF0YVtTdHJpbmdzLmpzb24uc2FtcGxlc107CiAKLSAgICAgICAgdmFyIGRl
c2lyZWRGcmFtZUxlbmd0aCA9IDEwMDAvNjA7Ci0KICAgICAgICAgZnVuY3Rpb24gZmluZFJlZ3Jl
c3Npb24oc2VyaWVzLCBwcm9maWxlKSB7CiAgICAgICAgICAgICB2YXIgbWluSW5kZXggPSBNYXRo
LnJvdW5kKC4wMjUgKiBzZXJpZXMubGVuZ3RoKTsKICAgICAgICAgICAgIHZhciBtYXhJbmRleCA9
IE1hdGgucm91bmQoLjk3NSAqIChzZXJpZXMubGVuZ3RoIC0gMSkpOwpAQCAtMTA5LDcgKzEwNyw3
IEBACiAKICAgICAgICAgICAgIHZhciBjb21wbGV4aXR5SW5kZXggPSBzZXJpZXMuZmllbGRNYXBb
U3RyaW5ncy5qc29uLmNvbXBsZXhpdHldOwogICAgICAgICAgICAgdmFyIGZyYW1lTGVuZ3RoSW5k
ZXggPSBzZXJpZXMuZmllbGRNYXBbU3RyaW5ncy5qc29uLmZyYW1lTGVuZ3RoXTsKLSAgICAgICAg
ICAgIHZhciByZWdyZXNzaW9uT3B0aW9ucyA9IHsgZGVzaXJlZEZyYW1lTGVuZ3RoOiBkZXNpcmVk
RnJhbWVMZW5ndGggfTsKKyAgICAgICAgICAgIHZhciByZWdyZXNzaW9uT3B0aW9ucyA9IHsgZGVz
aXJlZEZyYW1lTGVuZ3RoOiAxMDAwLzYwIH07CiAgICAgICAgICAgICBpZiAocHJvZmlsZSkKICAg
ICAgICAgICAgICAgICByZWdyZXNzaW9uT3B0aW9ucy5wcmVmZXJyZWRQcm9maWxlID0gcHJvZmls
ZTsKICAgICAgICAgICAgIHJldHVybiB7CkBAIC0xMjQsOSArMTIyLDggQEAKICAgICAgICAgICAg
IH07CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgY29tcGxleGl0eVNhbXBsZXM7CiAgICAgICAg
IC8vIENvbnZlcnQgdGhlc2Ugc2FtcGxlcyBpbnRvIFNhbXBsZURhdGEgb2JqZWN0cyBpZiBuZWVk
ZWQKLSAgICAgICAgW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBTdHJpbmdzLmpzb24uY29tcGxl
eGl0eUF2ZXJhZ2UsIFN0cmluZ3MuanNvbi5jb250cm9sbGVyXS5mb3JFYWNoKGZ1bmN0aW9uKHNl
cmllc05hbWUpIHsKKyAgICAgICAgW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBTdHJpbmdzLmpz
b24uY29udHJvbGxlcl0uZm9yRWFjaChmdW5jdGlvbihzZXJpZXNOYW1lKSB7CiAgICAgICAgICAg
ICB2YXIgc2VyaWVzID0gc2FtcGxlc1tzZXJpZXNOYW1lXTsKICAgICAgICAgICAgIGlmIChzZXJp
ZXMgJiYgIShzZXJpZXMgaW5zdGFuY2VvZiBTYW1wbGVEYXRhKSkKICAgICAgICAgICAgICAgICBz
YW1wbGVzW3Nlcmllc05hbWVdID0gbmV3IFNhbXBsZURhdGEoc2VyaWVzLmZpZWxkTWFwLCBzZXJp
ZXMuZGF0YSk7CkBAIC0xNTIsMjcgKzE0OSwxOSBAQAogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKLSAgICAgICAgW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBTdHJpbmdzLmpzb24uY29tcGxl
eGl0eUF2ZXJhZ2VdLmZvckVhY2goZnVuY3Rpb24oc2VyaWVzTmFtZSkgewotICAgICAgICAgICAg
aWYgKCEoc2VyaWVzTmFtZSBpbiBzYW1wbGVzKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgICAgIHZhciByZWdyZXNzaW9uID0ge307Ci0gICAgICAgICAgICByZXN1bHRbc2Vy
aWVzTmFtZV0gPSByZWdyZXNzaW9uOwotICAgICAgICAgICAgdmFyIHJlZ3Jlc3Npb25SZXN1bHQg
PSBmaW5kUmVncmVzc2lvbihzYW1wbGVzW3Nlcmllc05hbWVdLCBwcmVkb21pbmFudFByb2ZpbGUp
OwotICAgICAgICAgICAgaWYgKHNlcmllc05hbWUgPT0gU3RyaW5ncy5qc29uLmNvbXBsZXhpdHkp
Ci0gICAgICAgICAgICAgICAgY29tcGxleGl0eVNhbXBsZXMgPSByZWdyZXNzaW9uUmVzdWx0LnNh
bXBsZXM7Ci0gICAgICAgICAgICB2YXIgY2FsY3VsYXRpb24gPSByZWdyZXNzaW9uUmVzdWx0LnJl
Z3Jlc3Npb247Ci0gICAgICAgICAgICByZWdyZXNzaW9uW1N0cmluZ3MuanNvbi5yZWdyZXNzaW9u
cy5zZWdtZW50MV0gPSBbCi0gICAgICAgICAgICAgICAgW3JlZ3Jlc3Npb25SZXN1bHQubWluQ29t
cGxleGl0eSwgY2FsY3VsYXRpb24uczEgKyBjYWxjdWxhdGlvbi50MSAqIHJlZ3Jlc3Npb25SZXN1
bHQubWluQ29tcGxleGl0eV0sCi0gICAgICAgICAgICAgICAgW2NhbGN1bGF0aW9uLmNvbXBsZXhp
dHksIGNhbGN1bGF0aW9uLnMxICsgY2FsY3VsYXRpb24udDEgKiBjYWxjdWxhdGlvbi5jb21wbGV4
aXR5XQotICAgICAgICAgICAgXTsKLSAgICAgICAgICAgIHJlZ3Jlc3Npb25bU3RyaW5ncy5qc29u
LnJlZ3Jlc3Npb25zLnNlZ21lbnQyXSA9IFsKLSAgICAgICAgICAgICAgICBbY2FsY3VsYXRpb24u
Y29tcGxleGl0eSwgY2FsY3VsYXRpb24uczIgKyBjYWxjdWxhdGlvbi50MiAqIGNhbGN1bGF0aW9u
LmNvbXBsZXhpdHldLAotICAgICAgICAgICAgICAgIFtyZWdyZXNzaW9uUmVzdWx0Lm1heENvbXBs
ZXhpdHksIGNhbGN1bGF0aW9uLnMyICsgY2FsY3VsYXRpb24udDIgKiByZWdyZXNzaW9uUmVzdWx0
Lm1heENvbXBsZXhpdHldCi0gICAgICAgICAgICBdOwotICAgICAgICAgICAgcmVncmVzc2lvbltT
dHJpbmdzLmpzb24uY29tcGxleGl0eV0gPSBjYWxjdWxhdGlvbi5jb21wbGV4aXR5OwotICAgICAg
ICAgICAgcmVncmVzc2lvbltTdHJpbmdzLmpzb24ubWVhc3VyZW1lbnRzLnN0ZGV2XSA9IE1hdGgu
c3FydChjYWxjdWxhdGlvbi5lcnJvciAvIHNhbXBsZXNbc2VyaWVzTmFtZV0ubGVuZ3RoKTsKLSAg
ICAgICAgfSk7CisgICAgICAgIHZhciByZWdyZXNzaW9uUmVzdWx0ID0gZmluZFJlZ3Jlc3Npb24o
c2FtcGxlc1tTdHJpbmdzLmpzb24uY29tcGxleGl0eV0sIHByZWRvbWluYW50UHJvZmlsZSk7Cisg
ICAgICAgIHZhciBjYWxjdWxhdGlvbiA9IHJlZ3Jlc3Npb25SZXN1bHQucmVncmVzc2lvbjsKKyAg
ICAgICAgcmVzdWx0W1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XSA9IHt9OworICAgICAgICByZXN1
bHRbU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldW1N0cmluZ3MuanNvbi5yZWdyZXNzaW9ucy5zZWdt
ZW50MV0gPSBbCisgICAgICAgICAgICBbcmVncmVzc2lvblJlc3VsdC5taW5Db21wbGV4aXR5LCBj
YWxjdWxhdGlvbi5zMSArIGNhbGN1bGF0aW9uLnQxICogcmVncmVzc2lvblJlc3VsdC5taW5Db21w
bGV4aXR5XSwKKyAgICAgICAgICAgIFtjYWxjdWxhdGlvbi5jb21wbGV4aXR5LCBjYWxjdWxhdGlv
bi5zMSArIGNhbGN1bGF0aW9uLnQxICogY2FsY3VsYXRpb24uY29tcGxleGl0eV0KKyAgICAgICAg
XTsKKyAgICAgICAgcmVzdWx0W1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XVtTdHJpbmdzLmpzb24u
cmVncmVzc2lvbnMuc2VnbWVudDJdID0gWworICAgICAgICAgICAgW2NhbGN1bGF0aW9uLmNvbXBs
ZXhpdHksIGNhbGN1bGF0aW9uLnMyICsgY2FsY3VsYXRpb24udDIgKiBjYWxjdWxhdGlvbi5jb21w
bGV4aXR5XSwKKyAgICAgICAgICAgIFtyZWdyZXNzaW9uUmVzdWx0Lm1heENvbXBsZXhpdHksIGNh
bGN1bGF0aW9uLnMyICsgY2FsY3VsYXRpb24udDIgKiByZWdyZXNzaW9uUmVzdWx0Lm1heENvbXBs
ZXhpdHldCisgICAgICAgIF07CisgICAgICAgIHJlc3VsdFtTdHJpbmdzLmpzb24uY29tcGxleGl0
eV1bU3RyaW5ncy5qc29uLmNvbXBsZXhpdHldID0gY2FsY3VsYXRpb24uY29tcGxleGl0eTsKKyAg
ICAgICAgcmVzdWx0W1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XVtTdHJpbmdzLmpzb24ubWVhc3Vy
ZW1lbnRzLnN0ZGV2XSA9IE1hdGguc3FydChjYWxjdWxhdGlvbi5lcnJvciAvIHNhbXBsZXNbU3Ry
aW5ncy5qc29uLmNvbXBsZXhpdHldLmxlbmd0aCk7CiAKICAgICAgICAgaWYgKGlzUmFtcENvbnRy
b2xsZXIpIHsKICAgICAgICAgICAgIHZhciB0aW1lQ29tcGxleGl0eSA9IG5ldyBFeHBlcmltZW50
OwpAQCAtMTg4LDE1ICsxNzcsMTUgQEAKICAgICAgICAgICAgIGV4cGVyaW1lbnRSZXN1bHRbU3Ry
aW5ncy5qc29uLm1lYXN1cmVtZW50cy5wZXJjZW50XSA9IHRpbWVDb21wbGV4aXR5LnBlcmNlbnRh
Z2UoKTsKIAogICAgICAgICAgICAgY29uc3QgYm9vdHN0cmFwSXRlcmF0aW9ucyA9IDI1MDA7Ci0g
ICAgICAgICAgICB2YXIgYm9vdHN0cmFwUmVzdWx0ID0gUmVncmVzc2lvbi5ib290c3RyYXAoY29t
cGxleGl0eVNhbXBsZXMuZGF0YSwgYm9vdHN0cmFwSXRlcmF0aW9ucywgZnVuY3Rpb24ocmVzYW1w
bGVEYXRhKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNvbXBsZXhpdHlJbmRleCA9IGNvbXBsZXhp
dHlTYW1wbGVzLmZpZWxkTWFwW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XTsKKyAgICAgICAgICAg
IHZhciBib290c3RyYXBSZXN1bHQgPSBSZWdyZXNzaW9uLmJvb3RzdHJhcChyZWdyZXNzaW9uUmVz
dWx0LnNhbXBsZXMuZGF0YSwgYm9vdHN0cmFwSXRlcmF0aW9ucywgZnVuY3Rpb24ocmVzYW1wbGVE
YXRhKSB7CisgICAgICAgICAgICAgICAgdmFyIGNvbXBsZXhpdHlJbmRleCA9IHJlZ3Jlc3Npb25S
ZXN1bHQuc2FtcGxlcy5maWVsZE1hcFtTdHJpbmdzLmpzb24uY29tcGxleGl0eV07CiAgICAgICAg
ICAgICAgICAgcmVzYW1wbGVEYXRhLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gYVtjb21wbGV4aXR5SW5kZXhdIC0gYltjb21wbGV4aXR5SW5kZXhdOwog
ICAgICAgICAgICAgICAgIH0pOwogCi0gICAgICAgICAgICAgICAgdmFyIHJlc2FtcGxlID0gbmV3
IFNhbXBsZURhdGEoY29tcGxleGl0eVNhbXBsZXMuZmllbGRNYXAsIHJlc2FtcGxlRGF0YSk7Ci0g
ICAgICAgICAgICAgICAgdmFyIHJlZ3Jlc3Npb25SZXN1bHQgPSBmaW5kUmVncmVzc2lvbihyZXNh
bXBsZSwgcHJlZG9taW5hbnRQcm9maWxlKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVncmVz
c2lvblJlc3VsdC5yZWdyZXNzaW9uLmNvbXBsZXhpdHk7CisgICAgICAgICAgICAgICAgdmFyIHJl
c2FtcGxlID0gbmV3IFNhbXBsZURhdGEocmVncmVzc2lvblJlc3VsdC5zYW1wbGVzLmZpZWxkTWFw
LCByZXNhbXBsZURhdGEpOworICAgICAgICAgICAgICAgIHZhciBib290c3RyYXBSZWdyZXNzaW9u
UmVzdWx0ID0gZmluZFJlZ3Jlc3Npb24ocmVzYW1wbGUsIHByZWRvbWluYW50UHJvZmlsZSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIGJvb3RzdHJhcFJlZ3Jlc3Npb25SZXN1bHQucmVncmVzc2lv
bi5jb21wbGV4aXR5OwogICAgICAgICAgICAgfSwgLjgpOwogCiAgICAgICAgICAgICByZXN1bHRb
U3RyaW5ncy5qc29uLmNvbXBsZXhpdHldW1N0cmluZ3MuanNvbi5ib290c3RyYXBdID0gYm9vdHN0
cmFwUmVzdWx0OwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jlc291
cmNlcy9zdHJpbmdzLmpzIGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9z
dHJpbmdzLmpzCmluZGV4IDFiYTcwYTQxMjgwZjZkYTk5M2ZkOThlNWY4ZmFhMmI0Y2ZmYTE3OWUu
LjU1YTQ3ZTdiOTVlNDcyOTg4NzMwNjE5MmM3NWJjZjhmYzY5OTdkMjQgMTAwNjQ0Ci0tLSBhL1Bl
cmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay9yZXNvdXJjZXMvc3RyaW5ncy5qcworKysgYi9QZXJm
b3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL3N0cmluZ3MuanMKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNyw3ICsz
Nyw2IEBAIHZhciBTdHJpbmdzID0gewogICAgICAgICBjb250cm9sbGVyOiAiY29udHJvbGxlciIs
CiAgICAgICAgIHRpbWU6ICJ0aW1lIiwKICAgICAgICAgY29tcGxleGl0eTogImNvbXBsZXhpdHki
LAotICAgICAgICBjb21wbGV4aXR5QXZlcmFnZTogImNvbXBsZXhpdHlBdmVyYWdlIiwKICAgICAg
ICAgZnJhbWVMZW5ndGg6ICJmcmFtZUxlbmd0aCIsCiAgICAgICAgIHNtb290aGVkRnJhbWVMZW5n
dGg6ICJzbW9vdGhlZEZyYW1lTGVuZ3RoIiwKIApkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0
cy9Nb3Rpb25NYXJrL3Rlc3RzL3Jlc291cmNlcy9tYWluLmpzIGIvUGVyZm9ybWFuY2VUZXN0cy9N
b3Rpb25NYXJrL3Rlc3RzL3Jlc291cmNlcy9tYWluLmpzCmluZGV4IDNkYjQ2YTBjY2ExM2JlMTMy
NjdjMmE4MGJmMmRmZGQxMzk2YTgwNWYuLjVjM2JiZGYzYzY1YjVjYTA5Y2NmN2YyOWU5MmRhYWQ0
ODFjOWVkMzIgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy9y
ZXNvdXJjZXMvbWFpbi5qcworKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMv
cmVzb3VyY2VzL21haW4uanMKQEAgLTE3MSw3MiArMTcxLDMxIEBAIENvbnRyb2xsZXIgPSBVdGls
aXRpZXMuY3JlYXRlQ2xhc3MoCiAgICAgICAgIHJldHVybiB0aGlzLl9zYW1wbGVyLnByb2Nlc3NT
YW1wbGVzKCk7CiAgICAgfSwKIAotICAgIF9wcm9jZXNzQ29tcGxleGl0eVNhbXBsZXM6IGZ1bmN0
aW9uKGNvbXBsZXhpdHlTYW1wbGVzLCBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMpCisgICAgX3By
b2Nlc3NDb21wbGV4aXR5U2FtcGxlczogZnVuY3Rpb24oY29tcGxleGl0eVNhbXBsZXMpCiAgICAg
ewotICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuYWRkRmllbGQoU3RyaW5ncy5qc29u
LmNvbXBsZXhpdHksIDApOwotICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuYWRkRmll
bGQoU3RyaW5ncy5qc29uLmZyYW1lTGVuZ3RoLCAxKTsKLSAgICAgICAgY29tcGxleGl0eUF2ZXJh
Z2VTYW1wbGVzLmFkZEZpZWxkKFN0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMuc3RkZXYsIDIpOwot
CiAgICAgICAgIGNvbXBsZXhpdHlTYW1wbGVzLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAg
ICAgICAgcmV0dXJuIGNvbXBsZXhpdHlTYW1wbGVzLmdldEZpZWxkSW5EYXR1bShhLCBTdHJpbmdz
Lmpzb24uY29tcGxleGl0eSkgLSBjb21wbGV4aXR5U2FtcGxlcy5nZXRGaWVsZEluRGF0dW0oYiwg
U3RyaW5ncy5qc29uLmNvbXBsZXhpdHkpOwogICAgICAgICB9KTsKLQotICAgICAgICAvLyBTYW1w
bGVzIGF2ZXJhZ2VkIGJhc2VkIG9uIGNvbXBsZXhpdHkKLSAgICAgICAgdmFyIGN1cnJlbnRDb21w
bGV4aXR5ID0gLTE7Ci0gICAgICAgIHZhciBleHBlcmltZW50QXRDb21wbGV4aXR5OwotICAgICAg
ICBmdW5jdGlvbiBhZGRTYW1wbGUoKSB7Ci0gICAgICAgICAgICB2YXIgbWVhbiA9IGV4cGVyaW1l
bnRBdENvbXBsZXhpdHkubWVhbigpOwotICAgICAgICAgICAgdmFyIHN0ZGV2ID0gZXhwZXJpbWVu
dEF0Q29tcGxleGl0eS5zdGFuZGFyZERldmlhdGlvbigpOwotCi0gICAgICAgICAgICB2YXIgYXZl
cmFnZVNhbXBsZSA9IGNvbXBsZXhpdHlBdmVyYWdlU2FtcGxlcy5jcmVhdGVEYXR1bSgpOwotICAg
ICAgICAgICAgY29tcGxleGl0eUF2ZXJhZ2VTYW1wbGVzLnB1c2goYXZlcmFnZVNhbXBsZSk7Ci0g
ICAgICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuc2V0RmllbGRJbkRhdHVtKGF2ZXJh
Z2VTYW1wbGUsIFN0cmluZ3MuanNvbi5jb21wbGV4aXR5LCBjdXJyZW50Q29tcGxleGl0eSk7Ci0g
ICAgICAgICAgICBjb21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuc2V0RmllbGRJbkRhdHVtKGF2ZXJh
Z2VTYW1wbGUsIFN0cmluZ3MuanNvbi5mcmFtZUxlbmd0aCwgbWVhbik7Ci0gICAgICAgICAgICBj
b21wbGV4aXR5QXZlcmFnZVNhbXBsZXMuc2V0RmllbGRJbkRhdHVtKGF2ZXJhZ2VTYW1wbGUsIFN0
cmluZ3MuanNvbi5tZWFzdXJlbWVudHMuc3RkZXYsIHN0ZGV2KTsKLSAgICAgICAgfQotICAgICAg
ICBjb21wbGV4aXR5U2FtcGxlcy5mb3JFYWNoKGZ1bmN0aW9uKHNhbXBsZSkgewotICAgICAgICAg
ICAgdmFyIHNhbXBsZUNvbXBsZXhpdHkgPSBjb21wbGV4aXR5U2FtcGxlcy5nZXRGaWVsZEluRGF0
dW0oc2FtcGxlLCBTdHJpbmdzLmpzb24uY29tcGxleGl0eSk7Ci0gICAgICAgICAgICBpZiAoc2Ft
cGxlQ29tcGxleGl0eSAhPSBjdXJyZW50Q29tcGxleGl0eSkgewotICAgICAgICAgICAgICAgIGlm
IChjdXJyZW50Q29tcGxleGl0eSA+IC0xKQotICAgICAgICAgICAgICAgICAgICBhZGRTYW1wbGUo
KTsKLQotICAgICAgICAgICAgICAgIGN1cnJlbnRDb21wbGV4aXR5ID0gc2FtcGxlQ29tcGxleGl0
eTsKLSAgICAgICAgICAgICAgICBleHBlcmltZW50QXRDb21wbGV4aXR5ID0gbmV3IEV4cGVyaW1l
bnQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBleHBlcmltZW50QXRDb21wbGV4aXR5LnNh
bXBsZShjb21wbGV4aXR5U2FtcGxlcy5nZXRGaWVsZEluRGF0dW0oc2FtcGxlLCBTdHJpbmdzLmpz
b24uZnJhbWVMZW5ndGgpKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIC8vIEZpbmlzaCBvZmYgdGhl
IGxhc3Qgb25lCi0gICAgICAgIGFkZFNhbXBsZSgpOwogICAgIH0sCiAKLSAgICBwcm9jZXNzU2Ft
cGxlczogZnVuY3Rpb24ocmVzdWx0cykKKyAgICBfcHJvY2Vzc01hcmtzOiBmdW5jdGlvbigpCiAg
ICAgewotICAgICAgICB2YXIgY29tcGxleGl0eUV4cGVyaW1lbnQgPSBuZXcgRXhwZXJpbWVudDsK
LSAgICAgICAgdmFyIHNtb290aGVkRnJhbWVMZW5ndGhFeHBlcmltZW50ID0gbmV3IEV4cGVyaW1l
bnQ7Ci0KLSAgICAgICAgdmFyIHNhbXBsZXMgPSB0aGlzLl9zYW1wbGVyLnNhbXBsZXM7Ci0KICAg
ICAgICAgZm9yICh2YXIgbWFya05hbWUgaW4gdGhpcy5fbWFya3MpCiAgICAgICAgICAgICB0aGlz
Ll9tYXJrc1ttYXJrTmFtZV0udGltZSAtPSB0aGlzLl9zdGFydFRpbWVzdGFtcDsKLSAgICAgICAg
cmVzdWx0c1tTdHJpbmdzLmpzb24ubWFya3NdID0gdGhpcy5fbWFya3M7Ci0KLSAgICAgICAgcmVz
dWx0c1tTdHJpbmdzLmpzb24uc2FtcGxlc10gPSB7fTsKLQorICAgICAgICByZXR1cm4gdGhpcy5f
bWFya3M7CisgICAgfSwKKyAgICBfcHJvY2Vzc0NvbnRyb2xsZXJTYW1wbGVzOiBmdW5jdGlvbigp
CisgICAgewogICAgICAgICB2YXIgY29udHJvbGxlclNhbXBsZXMgPSBuZXcgU2FtcGxlRGF0YTsK
LSAgICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24uc2FtcGxlc11bU3RyaW5ncy5qc29uLmNvbnRy
b2xsZXJdID0gY29udHJvbGxlclNhbXBsZXM7Ci0KICAgICAgICAgY29udHJvbGxlclNhbXBsZXMu
YWRkRmllbGQoU3RyaW5ncy5qc29uLnRpbWUsIDApOwogICAgICAgICBjb250cm9sbGVyU2FtcGxl
cy5hZGRGaWVsZChTdHJpbmdzLmpzb24uY29tcGxleGl0eSwgMSk7CiAgICAgICAgIGNvbnRyb2xs
ZXJTYW1wbGVzLmFkZEZpZWxkKFN0cmluZ3MuanNvbi5mcmFtZUxlbmd0aCwgMik7CiAgICAgICAg
IGNvbnRyb2xsZXJTYW1wbGVzLmFkZEZpZWxkKFN0cmluZ3MuanNvbi5zbW9vdGhlZEZyYW1lTGVu
Z3RoLCAzKTsKIAotICAgICAgICB2YXIgY29tcGxleGl0eVNhbXBsZXMgPSBuZXcgU2FtcGxlRGF0
YShjb250cm9sbGVyU2FtcGxlcy5maWVsZE1hcCk7Ci0gICAgICAgIHJlc3VsdHNbU3RyaW5ncy5q
c29uLnNhbXBsZXNdW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5XSA9IGNvbXBsZXhpdHlTYW1wbGVz
OwotCisgICAgICAgIHZhciBzYW1wbGVzID0gdGhpcy5fc2FtcGxlci5zYW1wbGVzOwogICAgICAg
ICBzYW1wbGVzWzBdLmZvckVhY2goZnVuY3Rpb24odGltZXN0YW1wLCBpKSB7CiAgICAgICAgICAg
ICB2YXIgc2FtcGxlID0gY29udHJvbGxlclNhbXBsZXMuY3JlYXRlRGF0dW0oKTsKICAgICAgICAg
ICAgIGNvbnRyb2xsZXJTYW1wbGVzLnB1c2goc2FtcGxlKTsKLSAgICAgICAgICAgIGNvbXBsZXhp
dHlTYW1wbGVzLnB1c2goc2FtcGxlKTsKIAogICAgICAgICAgICAgLy8gUmVwcmVzZW50IHRpbWUg
aW4gbWlsbGlzZWNvbmRzCiAgICAgICAgICAgICBjb250cm9sbGVyU2FtcGxlcy5zZXRGaWVsZElu
RGF0dW0oc2FtcGxlLCBTdHJpbmdzLmpzb24udGltZSwgdGltZXN0YW1wIC0gdGhpcy5fc3RhcnRU
aW1lc3RhbXApOwpAQCAtMjUxLDkgKzIxMCwyMyBAQCBDb250cm9sbGVyID0gVXRpbGl0aWVzLmNy
ZWF0ZUNsYXNzKAogICAgICAgICAgICAgICAgIGNvbnRyb2xsZXJTYW1wbGVzLnNldEZpZWxkSW5E
YXR1bShzYW1wbGUsIFN0cmluZ3MuanNvbi5zbW9vdGhlZEZyYW1lTGVuZ3RoLCBzYW1wbGVzWzJd
W2ldKTsKICAgICAgICAgfSwgdGhpcyk7CiAKLSAgICAgICAgdmFyIGNvbXBsZXhpdHlBdmVyYWdl
U2FtcGxlcyA9IG5ldyBTYW1wbGVEYXRhOwotICAgICAgICByZXN1bHRzW1N0cmluZ3MuanNvbi5z
YW1wbGVzXVtTdHJpbmdzLmpzb24uY29tcGxleGl0eUF2ZXJhZ2VdID0gY29tcGxleGl0eUF2ZXJh
Z2VTYW1wbGVzOwotICAgICAgICB0aGlzLl9wcm9jZXNzQ29tcGxleGl0eVNhbXBsZXMoY29tcGxl
eGl0eVNhbXBsZXMsIGNvbXBsZXhpdHlBdmVyYWdlU2FtcGxlcyk7CisgICAgICAgIHJldHVybiBj
b250cm9sbGVyU2FtcGxlczsKKyAgICB9LAorCisgICAgcHJvY2Vzc1NhbXBsZXM6IGZ1bmN0aW9u
KHJlc3VsdHMpCisgICAgeworICAgICAgICByZXN1bHRzW1N0cmluZ3MuanNvbi5tYXJrc10gPSB0
aGlzLl9wcm9jZXNzTWFya3MoKTsKKworICAgICAgICB2YXIgY29udHJvbGxlclNhbXBsZXMgPSB0
aGlzLl9wcm9jZXNzQ29udHJvbGxlclNhbXBsZXMoKTsKKyAgICAgICAgdmFyIGNvbXBsZXhpdHlT
YW1wbGVzID0gbmV3IFNhbXBsZURhdGEoY29udHJvbGxlclNhbXBsZXMuZmllbGRNYXApOworCisg
ICAgICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLnNhbXBsZXNdID0ge307CisgICAgICAgIHJlc3Vs
dHNbU3RyaW5ncy5qc29uLnNhbXBsZXNdW1N0cmluZ3MuanNvbi5jb250cm9sbGVyXSA9IGNvbnRy
b2xsZXJTYW1wbGVzOworICAgICAgICByZXN1bHRzW1N0cmluZ3MuanNvbi5zYW1wbGVzXVtTdHJp
bmdzLmpzb24uY29tcGxleGl0eV0gPSBjb21wbGV4aXR5U2FtcGxlczsKKyAgICAgICAgY29udHJv
bGxlclNhbXBsZXMuZm9yRWFjaChmdW5jdGlvbiAoc2FtcGxlKSB7CisgICAgICAgICAgICBjb21w
bGV4aXR5U2FtcGxlcy5wdXNoKHNhbXBsZSk7CisgICAgICAgIH0pOworICAgICAgICB0aGlzLl9w
cm9jZXNzQ29tcGxleGl0eVNhbXBsZXMoY29tcGxleGl0eVNhbXBsZXMpOwogICAgIH0KIH0pOwog
CkBAIC01NDksMTYgKzUyMiwxNyBAQCBSYW1wQ29udHJvbGxlciA9IFV0aWxpdGllcy5jcmVhdGVT
dWJjbGFzcyhDb250cm9sbGVyLAogCiAgICAgcHJvY2Vzc1NhbXBsZXM6IGZ1bmN0aW9uKHJlc3Vs
dHMpCiAgICAgewotICAgICAgICBDb250cm9sbGVyLnByb3RvdHlwZS5wcm9jZXNzU2FtcGxlcy5j
YWxsKHRoaXMsIHJlc3VsdHMpOwotCisgICAgICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLm1hcmtz
XSA9IHRoaXMuX3Byb2Nlc3NNYXJrcygpOwogICAgICAgICAvLyBIYXZlIHNhbXBsaW5nVGltZU9m
ZnNldCByZXByZXNlbnQgdGltZSAwCiAgICAgICAgIHZhciBzdGFydFRpbWVzdGFtcCA9IHRoaXMu
X21hcmtzW1N0cmluZ3MuanNvbi5zYW1wbGluZ1N0YXJ0VGltZU9mZnNldF0udGltZTsKLQogICAg
ICAgICBmb3IgKHZhciBtYXJrTmFtZSBpbiByZXN1bHRzW1N0cmluZ3MuanNvbi5tYXJrc10pIHsK
ICAgICAgICAgICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLm1hcmtzXVttYXJrTmFtZV0udGltZSAt
PSBzdGFydFRpbWVzdGFtcDsKICAgICAgICAgfQogCi0gICAgICAgIHZhciBjb250cm9sbGVyU2Ft
cGxlcyA9IHJlc3VsdHNbU3RyaW5ncy5qc29uLnNhbXBsZXNdW1N0cmluZ3MuanNvbi5jb250cm9s
bGVyXTsKKyAgICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24uc2FtcGxlc10gPSB7fTsKKworICAg
ICAgICB2YXIgY29udHJvbGxlclNhbXBsZXMgPSB0aGlzLl9wcm9jZXNzQ29udHJvbGxlclNhbXBs
ZXMoKTsKKyAgICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24uc2FtcGxlc11bU3RyaW5ncy5qc29u
LmNvbnRyb2xsZXJdID0gY29udHJvbGxlclNhbXBsZXM7CiAgICAgICAgIGNvbnRyb2xsZXJTYW1w
bGVzLmZvckVhY2goZnVuY3Rpb24odGltZVNhbXBsZSkgewogICAgICAgICAgICAgY29udHJvbGxl
clNhbXBsZXMuc2V0RmllbGRJbkRhdHVtKHRpbWVTYW1wbGUsIFN0cmluZ3MuanNvbi50aW1lLCBj
b250cm9sbGVyU2FtcGxlcy5nZXRGaWVsZEluRGF0dW0odGltZVNhbXBsZSwgU3RyaW5ncy5qc29u
LnRpbWUpIC0gc3RhcnRUaW1lc3RhbXApOwogICAgICAgICB9KTsKQEAgLTU5OCw5ICs1NzIsNyBA
QCBSYW1wQ29udHJvbGxlciA9IFV0aWxpdGllcy5jcmVhdGVTdWJjbGFzcyhDb250cm9sbGVyLAog
ICAgICAgICAgICAgICAgIGNvbXBsZXhpdHlTYW1wbGVzLnB1c2goY29udHJvbGxlclNhbXBsZXMu
YXQoaikpOwogICAgICAgICB9KTsKIAotICAgICAgICB2YXIgY29tcGxleGl0eUF2ZXJhZ2VTYW1w
bGVzID0gbmV3IFNhbXBsZURhdGE7Ci0gICAgICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLnNhbXBs
ZXNdW1N0cmluZ3MuanNvbi5jb21wbGV4aXR5QXZlcmFnZV0gPSBjb21wbGV4aXR5QXZlcmFnZVNh
bXBsZXM7Ci0gICAgICAgIHRoaXMuX3Byb2Nlc3NDb21wbGV4aXR5U2FtcGxlcyhjb21wbGV4aXR5
U2FtcGxlcywgY29tcGxleGl0eUF2ZXJhZ2VTYW1wbGVzKTsKKyAgICAgICAgdGhpcy5fcHJvY2Vz
c0NvbXBsZXhpdHlTYW1wbGVzKGNvbXBsZXhpdHlTYW1wbGVzKTsKICAgICB9CiB9KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>