<?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>201443</bug_id>
          
          <creation_ts>2019-09-03 18:58:45 -0700</creation_ts>
          <short_desc>Remove redundant painting phase arguments from GraphicsLayerClient functions</short_desc>
          <delta_ts>2019-09-03 21:56:24 -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>Layout and Rendering</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1567604</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-03 18:58:45 -0700</bug_when>
    <thetext>It is available from the GraphicsLayer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567606</commentid>
    <comment_count>1</comment_count>
      <attachid>377948</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-03 19:10:54 -0700</bug_when>
    <thetext>Created attachment 377948
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567610</commentid>
    <comment_count>2</comment_count>
      <attachid>377949</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-03 19:54:26 -0700</bug_when>
    <thetext>Created attachment 377949
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567631</commentid>
    <comment_count>3</comment_count>
      <attachid>377953</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-03 20:52:01 -0700</bug_when>
    <thetext>Created attachment 377953
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567642</commentid>
    <comment_count>4</comment_count>
      <attachid>377953</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-03 21:55:02 -0700</bug_when>
    <thetext>Comment on attachment 377953
patch

Clearing flags on attachment: 377953

Committed r249455: &lt;https://trac.webkit.org/changeset/249455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567643</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-03 21:55:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567644</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-03 21:56:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/55006081&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377948</attachid>
            <date>2019-09-03 19:10:54 -0700</date>
            <delta_ts>2019-09-03 19:54:26 -0700</delta_ts>
            <desc>patch</desc>
            <filename>remove-paintlayerflags-arg-2.patch</filename>
            <type>text/plain</type>
            <size>17748</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2Y2EwZTRiNGI2ZC4uZWYwYTQ1NmJjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxOS0wOS0wMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBwYWludGluZyBwaGFzZSBhcmd1bWVudHMgZnJv
bSBHcmFwaGljc0xheWVyQ2xpZW50IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaXMgYXZhaWxhYmxlIGZyb20gdGhlIEdyYXBoaWNz
TGF5ZXIuCisKKyAgICAgICAgKiBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlT3ZlcmxheUNvbnRyb2xsZXI6OnBhaW50Q29udGVudHMpOgorICAg
ICAgICAqIHBhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9tYWMv
U2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpIaWdobGlnaHQ6OnBhaW50Q29udGVudHMpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6cGFpbnRHcmFwaGljc0xheWVyQ29udGVudHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJDbGllbnQ6OnBhaW50Q29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpw
YWludEludG9MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnBh
aW50RmxhZ3NGb3JMYXllciBjb25zdCk6CisKKyAgICAgICAgRmFjdG9yIGludG8gYSBmdW5jdGlv
bi4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRz
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhaW50Q29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKwogMjAxOS0wOS0wMyAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI0OTA3OCk6IEZsYWt5
IGNyYXNoIGluIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZTogSW5zcGVjdG9yOjpJbmplY3RlZFNj
cmlwdE1vZHVsZTo6ZW5zdXJlSW5qZWN0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92
ZXJsYXlDb250cm9sbGVyLmNwcAppbmRleCA1M2Y2ZTM3YzU0MC4uNDgxMDJhNTcyMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKQEAgLTM5MSw3
ICszOTEsNyBAQCBWZWN0b3I8U3RyaW5nPiBQYWdlT3ZlcmxheUNvbnRyb2xsZXI6OmNvcHlBY2Nl
c3NpYmlsaXR5QXR0cmlidXRlc05hbWVzKGJvb2wgcGFyYQogICAgIHJldHVybiB7IH07CiB9CiAK
LXZvaWQgUGFnZU92ZXJsYXlDb250cm9sbGVyOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNz
TGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBP
cHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+LCBjb25zdCBGbG9hdFJlY3QmIGNs
aXBSZWN0LCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikKK3ZvaWQgUGFnZU92ZXJsYXlDb250
cm9sbGVyOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIs
IEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGNsaXBS
ZWN0LCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikKIHsKICAgICBmb3IgKGF1dG8mIG92ZXJs
YXlBbmRHcmFwaGljc0xheWVyIDogbV9vdmVybGF5R3JhcGhpY3NMYXllcnMpIHsKICAgICAgICAg
aWYgKG92ZXJsYXlBbmRHcmFwaGljc0xheWVyLnZhbHVlLnB0cigpICE9IGdyYXBoaWNzTGF5ZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuaAppbmRleCA2NGU5
MGUyYzQ3MS4uNjA2Mjg1M2U4NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZU92ZXJsYXlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuaApAQCAtOTMsNyArOTMsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gR3JhcGhp
Y3NMYXllckNsaWVudAogICAgIHZvaWQgbm90aWZ5Rmx1c2hSZXF1aXJlZChjb25zdCBHcmFwaGlj
c0xheWVyKikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNz
TGF5ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U+LCBjb25zdCBGbG9hdFJlY3QmIGNsaXBSZWN0LCBHcmFwaGljc0xheWVyUGFpbnRCZWhh
dmlvcikgb3ZlcnJpZGU7CisgICAgdm9pZCBwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGNsaXBSZWN0LCBHcmFwaGlj
c0xheWVyUGFpbnRCZWhhdmlvcikgb3ZlcnJpZGU7CiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0
b3IoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHNob3VsZFNraXBMYXllckluRHVtcChjb25z
dCBHcmFwaGljc0xheWVyKiwgTGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3IpIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZvaWQgdGlsZWRCYWNraW5nVXNhZ2VDaGFuZ2VkKGNvbnN0IEdyYXBoaWNzTGF5ZXIq
LCBib29sKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1Nl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIuaAppbmRleCAyYzAxNjk4ZDlkZi4uZjRlNGI1ZWUyODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyLmgKQEAgLTgyLDcgKzgyLDcgQEAgcHJpdmF0ZToKIAogICAgICAgICAvLyBHcmFwaGljc0xh
eWVyQ2xpZW50CiAgICAgICAgIHZvaWQgbm90aWZ5Rmx1c2hSZXF1aXJlZChjb25zdCBHcmFwaGlj
c0xheWVyKikgb3ZlcnJpZGU7Ci0gICAgICAgIHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBHcmFw
aGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWlu
dGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0JiBpbkNsaXAsIEdyYXBoaWNzTGF5ZXJQYWludEJl
aGF2aW9yKSBvdmVycmlkZTsKKyAgICAgICAgdm9pZCBwYWludENvbnRlbnRzKGNvbnN0IEdyYXBo
aWNzTGF5ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGluQ2xpcCwgR3Jh
cGhpY3NMYXllclBhaW50QmVoYXZpb3IpIG92ZXJyaWRlOwogICAgICAgICBmbG9hdCBkZXZpY2VT
Y2FsZUZhY3RvcigpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgICAgIHZvaWQgZGlkRmluaXNoRmFk
ZU91dEFuaW1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KaW5kZXggNGViZjUxOGEzNTkuLmZlZTE2MzhhZDJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXIubW0KQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXI6OkhpZ2hsaWdodDo6bm90aWZ5Rmx1c2hSZXF1aXJlZChjb25zdCBHcmFwaGljc0xheQogICAg
IG1fY29udHJvbGxlci0+cGFnZSgpLnJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcigpLnNjaGVkdWxl
VGltZWRSZW5kZXJpbmdVcGRhdGUoKTsKIH0KIAotdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyOjpIaWdobGlnaHQ6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBo
aWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50
aW5nUGhhc2U+LCBjb25zdCBGbG9hdFJlY3QmLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikK
K3ZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpwYWludENvbnRlbnRz
KGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwg
Y29uc3QgRmxvYXRSZWN0JiwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpCiB7CiAgICAgaWYg
KCFEYXRhRGV0ZWN0b3JzTGlicmFyeSgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDZjZDAw
YzI2NTcwLi4yNGQyMDUwMjYzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTUwOCw3ICs1MDgsNyBAQCB2b2lkIEdyYXBo
aWNzTGF5ZXI6OnBhaW50R3JhcGhpY3NMYXllckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCwgY29uc3QgRgogICAgIEZsb2F0UmVjdCBjbGlwUmVjdChjbGlwKTsKICAgICBjbGlwUmVj
dC5tb3ZlKG9mZnNldCk7CiAKLSAgICBjbGllbnQoKS5wYWludENvbnRlbnRzKHRoaXMsIGNvbnRl
eHQsIG1fcGFpbnRpbmdQaGFzZSwgY2xpcFJlY3QsIGxheWVyUGFpbnRCZWhhdmlvcik7CisgICAg
Y2xpZW50KCkucGFpbnRDb250ZW50cyh0aGlzLCBjb250ZXh0LCBjbGlwUmVjdCwgbGF5ZXJQYWlu
dEJlaGF2aW9yKTsKIH0KIAogRmxvYXRSZWN0IEdyYXBoaWNzTGF5ZXI6OmFkanVzdENvdmVyYWdl
UmVjdEZvck1vdmVtZW50KGNvbnN0IEZsb2F0UmVjdCYgY292ZXJhZ2VSZWN0LCBjb25zdCBGbG9h
dFJlY3QmIHByZXZpb3VzVmlzaWJsZVJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY3VycmVudFZpc2li
bGVSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllckNsaWVudC5oCmluZGV4IGI4N2Q3NThiMDJlLi40ZDUzNWRjYmQ4OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJD
bGllbnQuaApAQCAtMTAyLDcgKzEwMiw3IEBAIHB1YmxpYzoKICAgICAvLyBOb3RpZmljYXRpb24g
dGhhdCB0aGlzIGxheWVyIHJlcXVpcmVzIGEgZmx1c2ggYmVmb3JlIHRoZSBuZXh0IGRpc3BsYXkg
cmVmcmVzaC4KICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Rmx1c2hCZWZvcmVEaXNwbGF5UmVmcmVz
aChjb25zdCBHcmFwaGljc0xheWVyKikgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDb250
ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgT3B0aW9uU2V0PEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0JiAvKiBpbkNsaXAgKi8s
IEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRD
b250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxv
YXRSZWN0JiAvKiBpbkNsaXAgKi8sIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlUGxhdGZvcm1MYXllckZvckxheWVyKGNvbnN0IEdyYXBo
aWNzTGF5ZXIqKSB7IH0KIAogICAgIC8vIFByb3ZpZGVzIGN1cnJlbnQgdHJhbnNmb3JtICh0YWtp
bmcgdHJhbnNmb3JtLW9yaWdpbiBhbmQgYW5pbWF0aW9ucyBpbnRvIGFjY291bnQpLiBJbnB1dCBt
YXRyaXggaGFzIGJlZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKaW5kZXggMGE1NDY1NzljZjYuLjFjYzViY2NmNjhiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMjc3Niw5ICsy
Nzc2LDkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJ
blJlY3QoY29uc3QgTGF5b3V0UmVjdCYgciwgR3JhcGgKIAogdm9pZCBSZW5kZXJMYXllckJhY2tp
bmc6OnBhaW50SW50b0xheWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwKICAgICBjb25zdCBJbnRSZWN0JiBwYWludERpcnR5UmVj
dCwgLy8gSW4gdGhlIGNvb3JkcyBvZiByb290TGF5ZXIuCi0gICAgT3B0aW9uU2V0PFBhaW50QmVo
YXZpb3I+IHBhaW50QmVoYXZpb3IsIE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFz
ZT4gcGFpbnRpbmdQaGFzZSkKKyAgICBPcHRpb25TZXQ8UGFpbnRCZWhhdmlvcj4gcGFpbnRCZWhh
dmlvcikKIHsKLSAgICBpZiAoKHBhaW50c0ludG9XaW5kb3coKSB8fCBwYWludHNJbnRvQ29tcG9z
aXRlZEFuY2VzdG9yKCkpICYmIHBhaW50aW5nUGhhc2UgIT0gT3B0aW9uU2V0PEdyYXBoaWNzTGF5
ZXJQYWludGluZ1BoYXNlPihHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Q2hpbGRDbGlwcGlu
Z01hc2spKSB7CisgICAgaWYgKChwYWludHNJbnRvV2luZG93KCkgfHwgcGFpbnRzSW50b0NvbXBv
c2l0ZWRBbmNlc3RvcigpKSAmJiBncmFwaGljc0xheWVyLT5wYWludGluZ1BoYXNlKCkgIT0gT3B0
aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPihHcmFwaGljc0xheWVyUGFpbnRpbmdQ
aGFzZTo6Q2hpbGRDbGlwcGluZ01hc2spKSB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpICYm
ICFPUyhXSU5ET1dTKQogICAgICAgICAvLyBGSVhNRTogTG9va3MgbGlrZSB0aGUgQ0FMYXllciB0
cmVlIGlzIG91dCBvZiBzeW5jIHdpdGggdGhlIEdyYXBoaWNzTGF5ZXIgaGVpcmFyY2h5CiAgICAg
ICAgIC8vIHdoZW4gcGFnZXMgYXJlIHJlc3RvcmVkIGZyb20gdGhlIFBhZ2VDYWNoZS4KQEAgLTI3
ODgsMjYgKzI3ODgsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJbnRvTGF5ZXIo
Y29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcAogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgT3B0aW9uU2V0PFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZz4gcGFp
bnRGbGFnczsKLSAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6QmFja2dyb3VuZCkpCi0gICAgICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxh
eWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSk7Ci0gICAg
aWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZv
cmVncm91bmQpKQotICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXll
clBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UpOwotICAgIGlmIChwYWludGluZ1Bo
YXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpNYXNrKSkKLSAgICAgICAg
cGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5n
TWFza1BoYXNlKTsKLSAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250YWlucyhHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6Q2xpcFBhdGgpKQotICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJM
YXllcjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdDbGlwUGF0aFBoYXNlKTsKLSAgICBp
ZiAocGFpbnRpbmdQaGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Q2hp
bGRDbGlwcGluZ01hc2spKQotICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFp
bnRMYXllclBhaW50aW5nQ2hpbGRDbGlwcGluZ01hc2tQaGFzZSk7Ci0gICAgaWYgKHBhaW50aW5n
UGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVu
dHMpKQotICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50
aW5nT3ZlcmZsb3dDb250ZW50cyk7Ci0gICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkNvbXBvc2l0ZWRTY3JvbGwpKQotICAgICAgICBwYWlu
dEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdTY3Jv
bGxpbmdQaGFzZSk7Ci0KLSAgICBpZiAoZ3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXll
ci5nZXQoKSAmJiBtX2JhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQpCi0g
ICAgICAgIHBhaW50RmxhZ3MuYWRkKHsgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ1Jv
b3RCYWNrZ3JvdW5kT25seSwgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0
aW5nRm9yZWdyb3VuZFBoYXNlIH0pOyAvLyBOZWVkIFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0
aW5nRm9yZWdyb3VuZFBoYXNlIHRvIHdhbGsgY2hpbGQgbGF5ZXJzLgotICAgIGVsc2UgaWYgKGNv
bXBvc2l0b3IoKS5maXhlZFJvb3RCYWNrZ3JvdW5kTGF5ZXIoKSkKLSAgICAgICAgcGFpbnRGbGFn
cy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ1NraXBSb290QmFja2dyb3VuZCk7
CisgICAgYXV0byBwYWludEZsYWdzID0gcGFpbnRGbGFnc0ZvckxheWVyKCpncmFwaGljc0xheWVy
KTsKIAogI2lmbmRlZiBOREVCVUcKICAgICBSZW5kZXJFbGVtZW50OjpTZXRMYXlvdXROZWVkZWRG
b3JiaWRkZW5TY29wZSBmb3JiaWRTZXROZWVkc0xheW91dCgmcmVuZGVyZXIoKSk7CkBAIC0yODQ4
LDcgKzI4MjksNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJbnRvTGF5ZXIoY29u
c3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcAogICAgICAgICAgICAgUmVuZGVy
TGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNlLAogICAg
ICAgICAgICAgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdy
b3VuZFBoYXNlIH07CiAKLSAgICAgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhp
Y3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVudHMpKQorICAgICAgICBpZiAoZ3Jh
cGhpY3NMYXllci0+cGFpbnRpbmdQaGFzZSgpLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKICAgICAgICAgICAgIHNoYXJpbmdMYXllclBhaW50
RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRz
KTsKIAogICAgICAgICBmb3IgKGF1dG8mIGxheWVyV2Vha1B0ciA6IG1fYmFja2luZ1NoYXJpbmdM
YXllcnMpCkBAIC0yODU4LDYgKzI4MzksMzQgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBh
aW50SW50b0xheWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICAg
ICBjb21wb3NpdG9yKCkuZGlkUGFpbnRCYWNraW5nKHRoaXMpOwogfQogCitPcHRpb25TZXQ8UmVu
ZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnPiBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50RmxhZ3NG
b3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyJiBncmFwaGljc0xheWVyKSBjb25zdAoreworICAg
IE9wdGlvblNldDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+IHBhaW50RmxhZ3M7CisKKyAg
ICBhdXRvIHBhaW50aW5nUGhhc2UgPSBncmFwaGljc0xheWVyLnBhaW50aW5nUGhhc2UoKTsKKyAg
ICBpZiAocGFpbnRpbmdQaGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6
QmFja2dyb3VuZCkpCisgICAgICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExh
eWVyUGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSk7CisgICAgaWYgKHBhaW50aW5n
UGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQpKQor
ICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nQ29t
cG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UpOworICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5z
KEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpNYXNrKSkKKyAgICAgICAgcGFpbnRGbGFncy5h
ZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nTWFza1BoYXNlKTsK
KyAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFz
ZTo6Q2xpcFBhdGgpKQorICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRM
YXllclBhaW50aW5nQ29tcG9zaXRpbmdDbGlwUGF0aFBoYXNlKTsKKyAgICBpZiAocGFpbnRpbmdQ
aGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Q2hpbGRDbGlwcGluZ01h
c2spKQorICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50
aW5nQ2hpbGRDbGlwcGluZ01hc2tQaGFzZSk7CisgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFp
bnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVudHMpKQorICAgICAg
ICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dD
b250ZW50cyk7CisgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2U6OkNvbXBvc2l0ZWRTY3JvbGwpKQorICAgICAgICBwYWludEZsYWdzLmFkZChS
ZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdTY3JvbGxpbmdQaGFzZSk7
CisKKyAgICBpZiAoJmdyYXBoaWNzTGF5ZXIgPT0gbV9iYWNrZ3JvdW5kTGF5ZXIuZ2V0KCkgJiYg
bV9iYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3JvdW5kKQorICAgICAgICBwYWlu
dEZsYWdzLmFkZCh7IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdSb290QmFja2dyb3Vu
ZE9ubHksIFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91
bmRQaGFzZSB9KTsgLy8gTmVlZCBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91
bmRQaGFzZSB0byB3YWxrIGNoaWxkIGxheWVycy4KKyAgICBlbHNlIGlmIChjb21wb3NpdG9yKCku
Zml4ZWRSb290QmFja2dyb3VuZExheWVyKCkpCisgICAgICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRl
ckxheWVyOjpQYWludExheWVyUGFpbnRpbmdTa2lwUm9vdEJhY2tncm91bmQpOworCisgICAgcmV0
dXJuIHBhaW50RmxhZ3M7Cit9CisKICNpZiBFTkFCTEUoUE9JTlRFUl9FVkVOVFMpCiBzdGF0aWMg
UmVmUHRyPFBhdHRlcm4+IHBhdHRlcm5Gb3JUb3VjaEFjdGlvbihUb3VjaEFjdGlvbiB0b3VjaEFj
dGlvbiwgRmxvYXRTaXplIGNvbnRlbnRPZmZzZXQsIEdyYXBoaWNzQ29udGV4dCYgZGVzdENvbnRl
eHQpCiB7CkBAIC0yOTc4LDcgKzI5ODcsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFp
bnREZWJ1Z092ZXJsYXlzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsCiB9CiAK
IC8vIFVwLWNhbGwgZnJvbSBjb21wb3NpdGluZyBsYXllciBkcmF3aW5nIGNhbGxiYWNrLgotdm9p
ZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciog
Z3JhcGhpY3NMYXllciwgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBPcHRpb25TZXQ8R3JhcGhp
Y3NMYXllclBhaW50aW5nUGhhc2U+IHBhaW50aW5nUGhhc2UsIGNvbnN0IEZsb2F0UmVjdCYgY2xp
cCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IgbGF5ZXJQYWludEJlaGF2aW9yKQordm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciogZ3Jh
cGhpY3NMYXllciwgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGNs
aXAsIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yIGxheWVyUGFpbnRCZWhhdmlvcikKIHsKICNp
Zm5kZWYgTkRFQlVHCiAgICAgcmVuZGVyZXIoKS5wYWdlKCkuc2V0SXNQYWludGluZyh0cnVlKTsK
QEAgLTMwMDMsNyArMzAxMiw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRl
bnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoCiAgICAgICAgIHx8
IGdyYXBoaWNzTGF5ZXIgPT0gbV9jaGlsZENsaXBwaW5nTWFza0xheWVyLmdldCgpCiAgICAgICAg
IHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIuZ2V0KCkpIHsKIAot
ICAgICAgICBpZiAoIXBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U6Ok92ZXJmbG93Q29udGVudHMpKQorICAgICAgICBpZiAoIWdyYXBoaWNzTGF5ZXItPnBh
aW50aW5nUGhhc2UoKS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3ZlcmZs
b3dDb250ZW50cykpCiAgICAgICAgICAgICBkaXJ0eVJlY3QuaW50ZXJzZWN0KGVuY2xvc2luZ0lu
dFJlY3QoY29tcG9zaXRlZEJvdW5kc0luY2x1ZGluZ01hcmdpbigpKSk7CiAKICAgICAgICAgLy8g
V2UgaGF2ZSB0byB1c2UgdGhlIHNhbWUgcm9vdCBhcyBmb3IgaGl0IHRlc3RpbmcsIGJlY2F1c2Ug
Ym90aCBtZXRob2RzIGNhbiBjb21wdXRlIGFuZCBjYWNoZSBjbGlwUmVjdHMuCkBAIC0zMDE0LDcg
KzMwMjMsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyhjb25zdCBH
cmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwaAogICAgICAgICBpZiAobGF5ZXJQYWlu
dEJlaGF2aW9yID09IEdyYXBoaWNzTGF5ZXJQYWludEZpcnN0VGlsZVBhaW50KQogICAgICAgICAg
ICAgYmVoYXZpb3IuYWRkKFBhaW50QmVoYXZpb3I6OlRpbGVGaXJzdFBhaW50KTsKIAotICAgICAg
ICBwYWludEludG9MYXllcihncmFwaGljc0xheWVyLCBjb250ZXh0LCBkaXJ0eVJlY3QsIGJlaGF2
aW9yLCBwYWludGluZ1BoYXNlKTsKKyAgICAgICAgcGFpbnRJbnRvTGF5ZXIoZ3JhcGhpY3NMYXll
ciwgY29udGV4dCwgZGlydHlSZWN0LCBiZWhhdmlvcik7CiAKICAgICAgICAgaWYgKHJlbmRlcmVy
KCkuc2V0dGluZ3MoKS52aXNpYmxlRGVidWdPdmVybGF5UmVnaW9ucygpICYgTm9uRmFzdFNjcm9s
bGFibGVSZWdpb24pIC8vIFBpZ2d5LWJhY2sgb2ZmIHRoZSBzZXR0aW5nIHRoYXQgc2hvd3MgdG91
Y2ggaGFuZGxlciByZWdpb25zLgogICAgICAgICAgICAgcGFpbnREZWJ1Z092ZXJsYXlzKGdyYXBo
aWNzTGF5ZXIsIGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5oCmluZGV4IGVkNjAxMzhkOTM1Li4yMmRmYzY5YTRlYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMjMwLDcgKzIzMCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIG5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3JhcGhpY3NM
YXllciopIG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZ5Rmx1c2hCZWZvcmVEaXNwbGF5UmVmcmVz
aChjb25zdCBHcmFwaGljc0xheWVyKikgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIHBhaW50Q29udGVu
dHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIE9wdGlvblNldDxHcmFw
aGljc0xheWVyUGFpbnRpbmdQaGFzZT4sIGNvbnN0IEZsb2F0UmVjdCYgY2xpcCwgR3JhcGhpY3NM
YXllclBhaW50QmVoYXZpb3IpIG92ZXJyaWRlOworICAgIHZvaWQgcGFpbnRDb250ZW50cyhjb25z
dCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiBjbGlw
LCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgb3ZlcnJpZGU7CiAKICAgICBmbG9hdCBkZXZp
Y2VTY2FsZUZhY3RvcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIGZsb2F0IGNvbnRlbnRzU2NhbGVN
dWx0aXBsaWVyRm9yTmV3VGlsZXMoY29uc3QgR3JhcGhpY3NMYXllciopIGNvbnN0IG92ZXJyaWRl
OwpAQCAtMzc2LDcgKzM3Niw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBoYXNUaWxlZEJhY2tpbmdG
bGF0dGVuaW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiAobV9jaGlsZENvbnRhaW5tZW50TGF5ZXIg
JiYgbV9pc0ZyYW1lTGF5ZXJXaXRoVGlsZWRCYWNraW5nKTsgfQogICAgIEdyYXBoaWNzTGF5ZXIq
IHRpbGVDYWNoZUZsYXR0ZW5pbmdMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1faXNGcmFtZUxheWVy
V2l0aFRpbGVkQmFja2luZyA/IG1fY2hpbGRDb250YWlubWVudExheWVyLmdldCgpIDogbnVsbHB0
cjsgfQogCi0gICAgdm9pZCBwYWludEludG9MYXllcihjb25zdCBHcmFwaGljc0xheWVyKiwgR3Jh
cGhpY3NDb250ZXh0JiwgY29uc3QgSW50UmVjdCYgcGFpbnREaXJ0eVJlY3QsIE9wdGlvblNldDxQ
YWludEJlaGF2aW9yPiwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPik7Cisg
ICAgdm9pZCBwYWludEludG9MYXllcihjb25zdCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250
ZXh0JiwgY29uc3QgSW50UmVjdCYgcGFpbnREaXJ0eVJlY3QsIE9wdGlvblNldDxQYWludEJlaGF2
aW9yPik7CisgICAgT3B0aW9uU2V0PFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZz4gcGFpbnRG
bGFnc0ZvckxheWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXImKSBjb25zdDsKICAgICAKICAgICB2b2lk
IHBhaW50RGVidWdPdmVybGF5cyhjb25zdCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKaW5kZXggM2NjZTdjM2Q2OTguLmI1OWViZWM3NGRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMzM4Miw3
ICszMzgyLDcgQEAgdm9pZCBwYWludFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhciwgR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBJbnRSZWMKICAgICBjb250ZXh0LnJlc3RvcmUo
KTsKIH0KIAotdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhaW50Q29udGVudHMoY29uc3Qg
R3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBP
cHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+LCBjb25zdCBGbG9hdFJlY3QmIGNs
aXAsIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKQordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGNsaXAsIEdyYXBoaWNzTGF5
ZXJQYWludEJlaGF2aW9yKQogewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBMb2NhbERlZmF1bHRT
eXN0ZW1BcHBlYXJhbmNlIGxvY2FsQXBwZWFyYW5jZShtX3JlbmRlclZpZXcudXNlRGFya0FwcGVh
cmFuY2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmgKaW5kZXggZmNmOTA0ZDJiNGYuLjY1MmQ2MDE1MTJkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0zOTcsNyArMzk3
LDcgQEAgcHJpdmF0ZToKICAgICAKICAgICAvLyBHcmFwaGljc0xheWVyQ2xpZW50IGltcGxlbWVu
dGF0aW9uCiAgICAgdm9pZCBub3RpZnlGbHVzaFJlcXVpcmVkKGNvbnN0IEdyYXBoaWNzTGF5ZXIq
KSBvdmVycmlkZTsKLSAgICB2b2lkIHBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllcios
IEdyYXBoaWNzQ29udGV4dCYsIE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4s
IGNvbnN0IEZsb2F0UmVjdCYsIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKSBvdmVycmlkZTsK
KyAgICB2b2lkIHBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29u
dGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKSBvdmVy
cmlkZTsKICAgICB2b2lkIGN1c3RvbVBvc2l0aW9uRm9yVmlzaWJsZVJlY3RDb21wdXRhdGlvbihj
b25zdCBHcmFwaGljc0xheWVyKiwgRmxvYXRQb2ludCYpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJv
b2wgaXNUcmFja2luZ1JlcGFpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9pc1RyYWNr
aW5nUmVwYWludHM7IH0KICAgICAK
</data>
<flag name="review"
          id="393623"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377949</attachid>
            <date>2019-09-03 19:54:26 -0700</date>
            <delta_ts>2019-09-03 20:52:01 -0700</delta_ts>
            <desc>patch</desc>
            <filename>remove-paintlayerflags-arg-3.patch</filename>
            <type>text/plain</type>
            <size>18550</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2Y2EwZTRiNGI2ZC4uZjRhMTNiMzYxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxOS0wOS0wMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBwYWludGluZyBwaGFzZSBhcmd1bWVudHMgZnJv
bSBHcmFwaGljc0xheWVyQ2xpZW50IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gRnJhc2VyLgorCisgICAgICAgIEl0IGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBHcmFwaGljc0xh
eWVyLgorCisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZU92ZXJsYXlDb250cm9sbGVyOjpwYWludENvbnRlbnRzKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvbWFjL1Nl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXI6OnBhaW50R3JhcGhpY3NMYXllckNvbnRlbnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyQ2xpZW50OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFp
bnRJbnRvTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWlu
dEZsYWdzRm9yTGF5ZXIgY29uc3QpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVuY3Rpb24u
CisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisKIDIwMTktMDktMDMgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNDkwNzgpOiBGbGFreSBj
cmFzaCBpbiBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmU6IEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3Jp
cHRNb2R1bGU6OmVuc3VyZUluamVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5Q29udHJvbGxlci5jcHAKaW5kZXggNTNmNmUzN2M1NDAuLjQ4MTAyYTU3MjI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwCkBAIC0zOTEsNyAr
MzkxLDcgQEAgVmVjdG9yPFN0cmluZz4gUGFnZU92ZXJsYXlDb250cm9sbGVyOjpjb3B5QWNjZXNz
aWJpbGl0eUF0dHJpYnV0ZXNOYW1lcyhib29sIHBhcmEKICAgICByZXR1cm4geyB9OwogfQogCi12
b2lkIFBhZ2VPdmVybGF5Q29udHJvbGxlcjo6cGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xh
eWVyKiBncmFwaGljc0xheWVyLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgT3B0
aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0JiBjbGlw
UmVjdCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpCit2b2lkIFBhZ2VPdmVybGF5Q29udHJv
bGxlcjo6cGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBjbGlwUmVj
dCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpCiB7CiAgICAgZm9yIChhdXRvJiBvdmVybGF5
QW5kR3JhcGhpY3NMYXllciA6IG1fb3ZlcmxheUdyYXBoaWNzTGF5ZXJzKSB7CiAgICAgICAgIGlm
IChvdmVybGF5QW5kR3JhcGhpY3NMYXllci52YWx1ZS5wdHIoKSAhPSBncmFwaGljc0xheWVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggNjRlOTBl
MmM0NzEuLjYwNjI4NTNlODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VP
dmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXlD
b250cm9sbGVyLmgKQEAgLTkzLDcgKzkzLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEdyYXBoaWNz
TGF5ZXJDbGllbnQKICAgICB2b2lkIG5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3JhcGhpY3NM
YXllciopIG92ZXJyaWRlOwotICAgIHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xh
eWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1Bo
YXNlPiwgY29uc3QgRmxvYXRSZWN0JiBjbGlwUmVjdCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZp
b3IpIG92ZXJyaWRlOworICAgIHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xheWVy
KiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiBjbGlwUmVjdCwgR3JhcGhpY3NM
YXllclBhaW50QmVoYXZpb3IpIG92ZXJyaWRlOwogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBzaG91bGRTa2lwTGF5ZXJJbkR1bXAoY29uc3Qg
R3JhcGhpY3NMYXllciosIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2b2lkIHRpbGVkQmFja2luZ1VzYWdlQ2hhbmdlZChjb25zdCBHcmFwaGljc0xheWVyKiwg
Ym9vbCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2xpbnV4L1Jl
c291cmNlVXNhZ2VPdmVybGF5TGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9S
ZXNvdXJjZVVzYWdlT3ZlcmxheUxpbnV4LmNwcAppbmRleCBjMDdiMTI3NjljZC4uNjcwN2Y3OGYz
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbGludXgvUmVzb3VyY2VVc2FnZU92
ZXJsYXlMaW51eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVz
YWdlT3ZlcmxheUxpbnV4LmNwcApAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgflJlc291
cmNlVXNhZ2VPdmVybGF5UGFpbnRlcigpID0gZGVmYXVsdDsKIAogcHJpdmF0ZToKLSAgICB2b2lk
IHBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRS
ZWN0JiBjbGlwLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgb3ZlcnJpZGUKKyAgICB2b2lk
IHBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiBjbGlwLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikg
b3ZlcnJpZGUKICAgICB7CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVT
YXZlcihjb250ZXh0KTsKICAgICAgICAgY29udGV4dC5maWxsUmVjdChjbGlwLCBDb2xvcigwLjBm
LCAwLjBmLCAwLjBmLCAwLjhmKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21h
Yy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9T
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggMmMwMTY5OGQ5ZGYuLmY0ZTRiNWVlMjg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oCkBAIC04Miw3ICs4Miw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgLy8gR3JhcGhp
Y3NMYXllckNsaWVudAogICAgICAgICB2b2lkIG5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3Jh
cGhpY3NMYXllciopIG92ZXJyaWRlOwotICAgICAgICB2b2lkIHBhaW50Q29udGVudHMoY29uc3Qg
R3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIE9wdGlvblNldDxHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZT4sIGNvbnN0IEZsb2F0UmVjdCYgaW5DbGlwLCBHcmFwaGljc0xheWVyUGFp
bnRCZWhhdmlvcikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBH
cmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiBpbkNsaXAs
IEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKSBvdmVycmlkZTsKICAgICAgICAgZmxvYXQgZGV2
aWNlU2NhbGVGYWN0b3IoKSBjb25zdCBvdmVycmlkZTsKIAogICAgICAgICB2b2lkIGRpZEZpbmlz
aEZhZGVPdXRBbmltYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9T
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDRlYmY1MThhMzU5Li5mZWUxNjM4YWQy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLm1tCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpIaWdobGlnaHQ6Om5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3JhcGhpY3NMYXkK
ICAgICBtX2NvbnRyb2xsZXItPnBhZ2UoKS5yZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIoKS5zY2hl
ZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CiB9CiAKLXZvaWQgU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0OjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQ
YWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0JiwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZp
b3IpCit2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodDo6cGFpbnRDb250
ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRl
eHQsIGNvbnN0IEZsb2F0UmVjdCYsIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKQogewogICAg
IGlmICghRGF0YURldGVjdG9yc0xpYnJhcnkoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAppbmRleCA2
Y2QwMGMyNjU3MC4uMjRkMjA1MDI2MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC01MDgsNyArNTA4LDcgQEAgdm9pZCBH
cmFwaGljc0xheWVyOjpwYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQm
IGNvbnRleHQsIGNvbnN0IEYKICAgICBGbG9hdFJlY3QgY2xpcFJlY3QoY2xpcCk7CiAgICAgY2xp
cFJlY3QubW92ZShvZmZzZXQpOwogCi0gICAgY2xpZW50KCkucGFpbnRDb250ZW50cyh0aGlzLCBj
b250ZXh0LCBtX3BhaW50aW5nUGhhc2UsIGNsaXBSZWN0LCBsYXllclBhaW50QmVoYXZpb3IpOwor
ICAgIGNsaWVudCgpLnBhaW50Q29udGVudHModGhpcywgY29udGV4dCwgY2xpcFJlY3QsIGxheWVy
UGFpbnRCZWhhdmlvcik7CiB9CiAKIEZsb2F0UmVjdCBHcmFwaGljc0xheWVyOjphZGp1c3RDb3Zl
cmFnZVJlY3RGb3JNb3ZlbWVudChjb25zdCBGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3Qg
RmxvYXRSZWN0JiBwcmV2aW91c1Zpc2libGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGN1cnJlbnRW
aXNpYmxlUmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJDbGllbnQuaAppbmRleCBiODdkNzU4YjAyZS4uNGQ1MzVkY2JkODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyQ2xpZW50LmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgLy8gTm90aWZpY2F0
aW9uIHRoYXQgdGhpcyBsYXllciByZXF1aXJlcyBhIGZsdXNoIGJlZm9yZSB0aGUgbmV4dCBkaXNw
bGF5IHJlZnJlc2guCiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZsdXNoQmVmb3JlRGlzcGxheVJl
ZnJlc2goY29uc3QgR3JhcGhpY3NMYXllciopIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50
Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIE9wdGlvblNl
dDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4sIGNvbnN0IEZsb2F0UmVjdCYgLyogaW5DbGlw
ICovLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgeyB9CisgICAgdmlydHVhbCB2b2lkIHBh
aW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IEZsb2F0UmVjdCYgLyogaW5DbGlwICovLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVBsYXRmb3JtTGF5ZXJGb3JMYXllcihjb25zdCBH
cmFwaGljc0xheWVyKikgeyB9CiAKICAgICAvLyBQcm92aWRlcyBjdXJyZW50IHRyYW5zZm9ybSAo
dGFraW5nIHRyYW5zZm9ybS1vcmlnaW4gYW5kIGFuaW1hdGlvbnMgaW50byBhY2NvdW50KS4gSW5w
dXQgbWF0cml4IGhhcyBiZWVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwCmluZGV4IDBhNTQ2NTc5Y2Y2Li4xY2M1YmNjZjY4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTI3NzYs
OSArMjc3Niw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5SW5SZWN0KGNvbnN0IExheW91dFJlY3QmIHIsIEdyYXBoCiAKIHZvaWQgUmVuZGVyTGF5ZXJC
YWNraW5nOjpwYWludEludG9MYXllcihjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVy
LCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsCiAgICAgY29uc3QgSW50UmVjdCYgcGFpbnREaXJ0
eVJlY3QsIC8vIEluIHRoZSBjb29yZHMgb2Ygcm9vdExheWVyLgotICAgIE9wdGlvblNldDxQYWlu
dEJlaGF2aW9yPiBwYWludEJlaGF2aW9yLCBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U+IHBhaW50aW5nUGhhc2UpCisgICAgT3B0aW9uU2V0PFBhaW50QmVoYXZpb3I+IHBhaW50
QmVoYXZpb3IpCiB7Ci0gICAgaWYgKChwYWludHNJbnRvV2luZG93KCkgfHwgcGFpbnRzSW50b0Nv
bXBvc2l0ZWRBbmNlc3RvcigpKSAmJiBwYWludGluZ1BoYXNlICE9IE9wdGlvblNldDxHcmFwaGlj
c0xheWVyUGFpbnRpbmdQaGFzZT4oR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkNoaWxkQ2xp
cHBpbmdNYXNrKSkgeworICAgIGlmICgocGFpbnRzSW50b1dpbmRvdygpIHx8IHBhaW50c0ludG9D
b21wb3NpdGVkQW5jZXN0b3IoKSkgJiYgZ3JhcGhpY3NMYXllci0+cGFpbnRpbmdQaGFzZSgpICE9
IE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4oR3JhcGhpY3NMYXllclBhaW50
aW5nUGhhc2U6OkNoaWxkQ2xpcHBpbmdNYXNrKSkgewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiAhT1MoV0lORE9XUykKICAgICAgICAgLy8gRklYTUU6IExvb2tzIGxpa2UgdGhlIENBTGF5
ZXIgdHJlZSBpcyBvdXQgb2Ygc3luYyB3aXRoIHRoZSBHcmFwaGljc0xheWVyIGhlaXJhcmNoeQog
ICAgICAgICAvLyB3aGVuIHBhZ2VzIGFyZSByZXN0b3JlZCBmcm9tIHRoZSBQYWdlQ2FjaGUuCkBA
IC0yNzg4LDI2ICsyNzg4LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xh
eWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIE9wdGlvblNldDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+
IHBhaW50RmxhZ3M7Ci0gICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2U6OkJhY2tncm91bmQpKQotICAgICAgICBwYWludEZsYWdzLmFkZChSZW5k
ZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOwot
ICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNl
OjpGb3JlZ3JvdW5kKSkKLSAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50
TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKTsKLSAgICBpZiAocGFpbnRp
bmdQaGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6TWFzaykpCi0gICAg
ICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3Np
dGluZ01hc2tQaGFzZSk7Ci0gICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NM
YXllclBhaW50aW5nUGhhc2U6OkNsaXBQYXRoKSkKLSAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVu
ZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQ2xpcFBhdGhQaGFzZSk7Ci0g
ICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6
OkNoaWxkQ2xpcHBpbmdNYXNrKSkKLSAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6
OlBhaW50TGF5ZXJQYWludGluZ0NoaWxkQ2xpcHBpbmdNYXNrUGhhc2UpOwotICAgIGlmIChwYWlu
dGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0Nv
bnRlbnRzKSkKLSAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQ
YWludGluZ092ZXJmbG93Q29udGVudHMpOwotICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5z
KEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpDb21wb3NpdGVkU2Nyb2xsKSkKLSAgICAgICAg
cGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5n
U2Nyb2xsaW5nUGhhc2UpOwotCi0gICAgaWYgKGdyYXBoaWNzTGF5ZXIgPT0gbV9iYWNrZ3JvdW5k
TGF5ZXIuZ2V0KCkgJiYgbV9iYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3JvdW5k
KQotICAgICAgICBwYWludEZsYWdzLmFkZCh7IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRp
bmdSb290QmFja2dyb3VuZE9ubHksIFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21w
b3NpdGluZ0ZvcmVncm91bmRQaGFzZSB9KTsgLy8gTmVlZCBQYWludExheWVyUGFpbnRpbmdDb21w
b3NpdGluZ0ZvcmVncm91bmRQaGFzZSB0byB3YWxrIGNoaWxkIGxheWVycy4KLSAgICBlbHNlIGlm
IChjb21wb3NpdG9yKCkuZml4ZWRSb290QmFja2dyb3VuZExheWVyKCkpCi0gICAgICAgIHBhaW50
RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdTa2lwUm9vdEJhY2tncm91
bmQpOworICAgIGF1dG8gcGFpbnRGbGFncyA9IHBhaW50RmxhZ3NGb3JMYXllcigqZ3JhcGhpY3NM
YXllcik7CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgUmVuZGVyRWxlbWVudDo6U2V0TGF5b3V0TmVl
ZGVkRm9yYmlkZGVuU2NvcGUgZm9yYmlkU2V0TmVlZHNMYXlvdXQoJnJlbmRlcmVyKCkpOwpAQCAt
Mjg0OCw3ICsyODI5LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xheWVy
KGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICAgICAgICAgICAgIFJl
bmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSwK
ICAgICAgICAgICAgIFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0Zv
cmVncm91bmRQaGFzZSB9OwogCi0gICAgICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5zKEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKKyAgICAgICAgaWYg
KGdyYXBoaWNzTGF5ZXItPnBhaW50aW5nUGhhc2UoKS5jb250YWlucyhHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6T3ZlcmZsb3dDb250ZW50cykpCiAgICAgICAgICAgICBzaGFyaW5nTGF5ZXJQ
YWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250
ZW50cyk7CiAKICAgICAgICAgZm9yIChhdXRvJiBsYXllcldlYWtQdHIgOiBtX2JhY2tpbmdTaGFy
aW5nTGF5ZXJzKQpAQCAtMjg1OCw2ICsyODM5LDM0IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludEludG9MYXllcihjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFw
CiAgICAgY29tcG9zaXRvcigpLmRpZFBhaW50QmFja2luZyh0aGlzKTsKIH0KIAorT3B0aW9uU2V0
PFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZz4gUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEZs
YWdzRm9yTGF5ZXIoY29uc3QgR3JhcGhpY3NMYXllciYgZ3JhcGhpY3NMYXllcikgY29uc3QKK3sK
KyAgICBPcHRpb25TZXQ8UmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnPiBwYWludEZsYWdzOwor
CisgICAgYXV0byBwYWludGluZ1BoYXNlID0gZ3JhcGhpY3NMYXllci5wYWludGluZ1BoYXNlKCk7
CisgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhh
c2U6OkJhY2tncm91bmQpKQorICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFp
bnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOworICAgIGlmIChwYWlu
dGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5k
KSkKKyAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGlu
Z0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKTsKKyAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250
YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6TWFzaykpCisgICAgICAgIHBhaW50Rmxh
Z3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ01hc2tQaGFz
ZSk7CisgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U6OkNsaXBQYXRoKSkKKyAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBh
aW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQ2xpcFBhdGhQaGFzZSk7CisgICAgaWYgKHBhaW50
aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkNoaWxkQ2xpcHBp
bmdNYXNrKSkKKyAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQ
YWludGluZ0NoaWxkQ2xpcHBpbmdNYXNrUGhhc2UpOworICAgIGlmIChwYWludGluZ1BoYXNlLmNv
bnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKKyAg
ICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ092ZXJm
bG93Q29udGVudHMpOworICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5
ZXJQYWludGluZ1BoYXNlOjpDb21wb3NpdGVkU2Nyb2xsKSkKKyAgICAgICAgcGFpbnRGbGFncy5h
ZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nU2Nyb2xsaW5nUGhh
c2UpOworCisgICAgaWYgKCZncmFwaGljc0xheWVyID09IG1fYmFja2dyb3VuZExheWVyLmdldCgp
ICYmIG1fYmFja2dyb3VuZExheWVyUGFpbnRzRml4ZWRSb290QmFja2dyb3VuZCkKKyAgICAgICAg
cGFpbnRGbGFncy5hZGQoeyBSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nUm9vdEJhY2tn
cm91bmRPbmx5LCBSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3Jl
Z3JvdW5kUGhhc2UgfSk7IC8vIE5lZWQgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3Jl
Z3JvdW5kUGhhc2UgdG8gd2FsayBjaGlsZCBsYXllcnMuCisgICAgZWxzZSBpZiAoY29tcG9zaXRv
cigpLmZpeGVkUm9vdEJhY2tncm91bmRMYXllcigpKQorICAgICAgICBwYWludEZsYWdzLmFkZChS
ZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nU2tpcFJvb3RCYWNrZ3JvdW5kKTsKKworICAg
IHJldHVybiBwYWludEZsYWdzOworfQorCiAjaWYgRU5BQkxFKFBPSU5URVJfRVZFTlRTKQogc3Rh
dGljIFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuRm9yVG91Y2hBY3Rpb24oVG91Y2hBY3Rpb24gdG91
Y2hBY3Rpb24sIEZsb2F0U2l6ZSBjb250ZW50T2Zmc2V0LCBHcmFwaGljc0NvbnRleHQmIGRlc3RD
b250ZXh0KQogewpAQCAtMjk3OCw3ICsyOTg3LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6
OnBhaW50RGVidWdPdmVybGF5cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLAog
fQogCiAvLyBVcC1jYWxsIGZyb20gY29tcG9zaXRpbmcgbGF5ZXIgZHJhd2luZyBjYWxsYmFjay4K
LXZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgT3B0aW9uU2V0PEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiBwYWludGluZ1BoYXNlLCBjb25zdCBGbG9hdFJlY3Qm
IGNsaXAsIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yIGxheWVyUGFpbnRCZWhhdmlvcikKK3Zv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIq
IGdyYXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0
JiBjbGlwLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvciBsYXllclBhaW50QmVoYXZpb3IpCiB7
CiAjaWZuZGVmIE5ERUJVRwogICAgIHJlbmRlcmVyKCkucGFnZSgpLnNldElzUGFpbnRpbmcodHJ1
ZSk7CkBAIC0zMDAzLDcgKzMwMTIsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRD
b250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwaAogICAgICAg
ICB8fCBncmFwaGljc0xheWVyID09IG1fY2hpbGRDbGlwcGluZ01hc2tMYXllci5nZXQoKQogICAg
ICAgICB8fCBncmFwaGljc0xheWVyID09IG1fc2Nyb2xsZWRDb250ZW50c0xheWVyLmdldCgpKSB7
CiAKLSAgICAgICAgaWYgKCFwYWludGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWlu
dGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKKyAgICAgICAgaWYgKCFncmFwaGljc0xheWVy
LT5wYWludGluZ1BoYXNlKCkuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92
ZXJmbG93Q29udGVudHMpKQogICAgICAgICAgICAgZGlydHlSZWN0LmludGVyc2VjdChlbmNsb3Np
bmdJbnRSZWN0KGNvbXBvc2l0ZWRCb3VuZHNJbmNsdWRpbmdNYXJnaW4oKSkpOwogCiAgICAgICAg
IC8vIFdlIGhhdmUgdG8gdXNlIHRoZSBzYW1lIHJvb3QgYXMgZm9yIGhpdCB0ZXN0aW5nLCBiZWNh
dXNlIGJvdGggbWV0aG9kcyBjYW4gY29tcHV0ZSBhbmQgY2FjaGUgY2xpcFJlY3RzLgpAQCAtMzAx
NCw3ICszMDIzLDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29u
c3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgaWYgKGxheWVy
UGFpbnRCZWhhdmlvciA9PSBHcmFwaGljc0xheWVyUGFpbnRGaXJzdFRpbGVQYWludCkKICAgICAg
ICAgICAgIGJlaGF2aW9yLmFkZChQYWludEJlaGF2aW9yOjpUaWxlRmlyc3RQYWludCk7CiAKLSAg
ICAgICAgcGFpbnRJbnRvTGF5ZXIoZ3JhcGhpY3NMYXllciwgY29udGV4dCwgZGlydHlSZWN0LCBi
ZWhhdmlvciwgcGFpbnRpbmdQaGFzZSk7CisgICAgICAgIHBhaW50SW50b0xheWVyKGdyYXBoaWNz
TGF5ZXIsIGNvbnRleHQsIGRpcnR5UmVjdCwgYmVoYXZpb3IpOwogCiAgICAgICAgIGlmIChyZW5k
ZXJlcigpLnNldHRpbmdzKCkudmlzaWJsZURlYnVnT3ZlcmxheVJlZ2lvbnMoKSAmIE5vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uKSAvLyBQaWdneS1iYWNrIG9mZiB0aGUgc2V0dGluZyB0aGF0IHNob3dz
IHRvdWNoIGhhbmRsZXIgcmVnaW9ucy4KICAgICAgICAgICAgIHBhaW50RGVidWdPdmVybGF5cyhn
cmFwaGljc0xheWVyLCBjb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuaAppbmRleCBlZDYwMTM4ZDkzNS4uMjJkZmM2OWE0ZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlGbHVzaFJlcXVpcmVkKGNvbnN0IEdyYXBo
aWNzTGF5ZXIqKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmeUZsdXNoQmVmb3JlRGlzcGxheVJl
ZnJlc2goY29uc3QgR3JhcGhpY3NMYXllciopIG92ZXJyaWRlOwogCi0gICAgdm9pZCBwYWludENv
bnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBPcHRpb25TZXQ8
R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+LCBjb25zdCBGbG9hdFJlY3QmIGNsaXAsIEdyYXBo
aWNzTGF5ZXJQYWludEJlaGF2aW9yKSBvdmVycmlkZTsKKyAgICB2b2lkIHBhaW50Q29udGVudHMo
Y29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYg
Y2xpcCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpIG92ZXJyaWRlOwogCiAgICAgZmxvYXQg
ZGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdCBvdmVycmlkZTsKICAgICBmbG9hdCBjb250ZW50c1Nj
YWxlTXVsdGlwbGllckZvck5ld1RpbGVzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqKSBjb25zdCBvdmVy
cmlkZTsKQEAgLTM3Niw3ICszNzYsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzVGlsZWRCYWNr
aW5nRmxhdHRlbmluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4gKG1fY2hpbGRDb250YWlubWVudExh
eWVyICYmIG1faXNGcmFtZUxheWVyV2l0aFRpbGVkQmFja2luZyk7IH0KICAgICBHcmFwaGljc0xh
eWVyKiB0aWxlQ2FjaGVGbGF0dGVuaW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2lzRnJhbWVM
YXllcldpdGhUaWxlZEJhY2tpbmcgPyBtX2NoaWxkQ29udGFpbm1lbnRMYXllci5nZXQoKSA6IG51
bGxwdHI7IH0KIAotICAgIHZvaWQgcGFpbnRJbnRvTGF5ZXIoY29uc3QgR3JhcGhpY3NMYXllcios
IEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIHBhaW50RGlydHlSZWN0LCBPcHRpb25T
ZXQ8UGFpbnRCZWhhdmlvcj4sIE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4p
OworICAgIHZvaWQgcGFpbnRJbnRvTGF5ZXIoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNz
Q29udGV4dCYsIGNvbnN0IEludFJlY3QmIHBhaW50RGlydHlSZWN0LCBPcHRpb25TZXQ8UGFpbnRC
ZWhhdmlvcj4pOworICAgIE9wdGlvblNldDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+IHBh
aW50RmxhZ3NGb3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyJikgY29uc3Q7CiAgICAgCiAgICAg
dm9pZCBwYWludERlYnVnT3ZlcmxheXMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29u
dGV4dCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwCmluZGV4IDNjY2U3YzNkNjk4Li5iNTllYmVjNzRkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTMz
ODIsNyArMzM4Miw3IEBAIHZvaWQgcGFpbnRTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIs
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjCiAgICAgY29udGV4dC5yZXN0
b3JlKCk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpwYWludENvbnRlbnRzKGNv
bnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4
dCwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0
JiBjbGlwLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIs
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBjbGlwLCBHcmFwaGlj
c0xheWVyUGFpbnRCZWhhdmlvcikKIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgTG9jYWxEZWZh
dWx0U3lzdGVtQXBwZWFyYW5jZSBsb2NhbEFwcGVhcmFuY2UobV9yZW5kZXJWaWV3LnVzZURhcmtB
cHBlYXJhbmNlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oCmluZGV4IGZjZjkwNGQyYjRmLi42NTJkNjAxNTEyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAtMzk3LDcg
KzM5Nyw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gR3JhcGhpY3NMYXllckNsaWVudCBpbXBs
ZW1lbnRhdGlvbgogICAgIHZvaWQgbm90aWZ5Rmx1c2hSZXF1aXJlZChjb25zdCBHcmFwaGljc0xh
eWVyKikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhh
c2U+LCBjb25zdCBGbG9hdFJlY3QmLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGlj
c0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBjdXN0b21Qb3NpdGlvbkZvclZpc2libGVSZWN0Q29tcHV0YXRp
b24oY29uc3QgR3JhcGhpY3NMYXllciosIEZsb2F0UG9pbnQmKSBjb25zdCBvdmVycmlkZTsKICAg
ICBib29sIGlzVHJhY2tpbmdSZXBhaW50cygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNU
cmFja2luZ1JlcGFpbnRzOyB9CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377953</attachid>
            <date>2019-09-03 20:52:01 -0700</date>
            <delta_ts>2019-09-03 21:55:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>remove-paintlayerflags-arg-4.patch</filename>
            <type>text/plain</type>
            <size>22527</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2Y2EwZTRiNGI2ZC4uZjRhMTNiMzYxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxOS0wOS0wMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBwYWludGluZyBwaGFzZSBhcmd1bWVudHMgZnJv
bSBHcmFwaGljc0xheWVyQ2xpZW50IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gRnJhc2VyLgorCisgICAgICAgIEl0IGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBHcmFwaGljc0xh
eWVyLgorCisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZU92ZXJsYXlDb250cm9sbGVyOjpwYWludENvbnRlbnRzKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvbWFjL1Nl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXI6OnBhaW50R3JhcGhpY3NMYXllckNvbnRlbnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyQ2xpZW50OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFp
bnRJbnRvTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWlu
dEZsYWdzRm9yTGF5ZXIgY29uc3QpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVuY3Rpb24u
CisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisKIDIwMTktMDktMDMgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNDkwNzgpOiBGbGFreSBj
cmFzaCBpbiBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmU6IEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3Jp
cHRNb2R1bGU6OmVuc3VyZUluamVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5Q29udHJvbGxlci5jcHAKaW5kZXggNTNmNmUzN2M1NDAuLjQ4MTAyYTU3MjI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwCkBAIC0zOTEsNyAr
MzkxLDcgQEAgVmVjdG9yPFN0cmluZz4gUGFnZU92ZXJsYXlDb250cm9sbGVyOjpjb3B5QWNjZXNz
aWJpbGl0eUF0dHJpYnV0ZXNOYW1lcyhib29sIHBhcmEKICAgICByZXR1cm4geyB9OwogfQogCi12
b2lkIFBhZ2VPdmVybGF5Q29udHJvbGxlcjo6cGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xh
eWVyKiBncmFwaGljc0xheWVyLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgT3B0
aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0JiBjbGlw
UmVjdCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpCit2b2lkIFBhZ2VPdmVybGF5Q29udHJv
bGxlcjo6cGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBjbGlwUmVj
dCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpCiB7CiAgICAgZm9yIChhdXRvJiBvdmVybGF5
QW5kR3JhcGhpY3NMYXllciA6IG1fb3ZlcmxheUdyYXBoaWNzTGF5ZXJzKSB7CiAgICAgICAgIGlm
IChvdmVybGF5QW5kR3JhcGhpY3NMYXllci52YWx1ZS5wdHIoKSAhPSBncmFwaGljc0xheWVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggNjRlOTBl
MmM0NzEuLjYwNjI4NTNlODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VP
dmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXlD
b250cm9sbGVyLmgKQEAgLTkzLDcgKzkzLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEdyYXBoaWNz
TGF5ZXJDbGllbnQKICAgICB2b2lkIG5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3JhcGhpY3NM
YXllciopIG92ZXJyaWRlOwotICAgIHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xh
eWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1Bo
YXNlPiwgY29uc3QgRmxvYXRSZWN0JiBjbGlwUmVjdCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZp
b3IpIG92ZXJyaWRlOworICAgIHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xheWVy
KiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiBjbGlwUmVjdCwgR3JhcGhpY3NM
YXllclBhaW50QmVoYXZpb3IpIG92ZXJyaWRlOwogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBzaG91bGRTa2lwTGF5ZXJJbkR1bXAoY29uc3Qg
R3JhcGhpY3NMYXllciosIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2b2lkIHRpbGVkQmFja2luZ1VzYWdlQ2hhbmdlZChjb25zdCBHcmFwaGljc0xheWVyKiwg
Ym9vbCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2xpbnV4L1Jl
c291cmNlVXNhZ2VPdmVybGF5TGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9S
ZXNvdXJjZVVzYWdlT3ZlcmxheUxpbnV4LmNwcAppbmRleCBjMDdiMTI3NjljZC4uNjcwN2Y3OGYz
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbGludXgvUmVzb3VyY2VVc2FnZU92
ZXJsYXlMaW51eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVz
YWdlT3ZlcmxheUxpbnV4LmNwcApAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgflJlc291
cmNlVXNhZ2VPdmVybGF5UGFpbnRlcigpID0gZGVmYXVsdDsKIAogcHJpdmF0ZToKLSAgICB2b2lk
IHBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRS
ZWN0JiBjbGlwLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgb3ZlcnJpZGUKKyAgICB2b2lk
IHBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiBjbGlwLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikg
b3ZlcnJpZGUKICAgICB7CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVT
YXZlcihjb250ZXh0KTsKICAgICAgICAgY29udGV4dC5maWxsUmVjdChjbGlwLCBDb2xvcigwLjBm
LCAwLjBmLCAwLjBmLCAwLjhmKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21h
Yy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9T
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggMmMwMTY5OGQ5ZGYuLmY0ZTRiNWVlMjg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oCkBAIC04Miw3ICs4Miw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgLy8gR3JhcGhp
Y3NMYXllckNsaWVudAogICAgICAgICB2b2lkIG5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3Jh
cGhpY3NMYXllciopIG92ZXJyaWRlOwotICAgICAgICB2b2lkIHBhaW50Q29udGVudHMoY29uc3Qg
R3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIE9wdGlvblNldDxHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZT4sIGNvbnN0IEZsb2F0UmVjdCYgaW5DbGlwLCBHcmFwaGljc0xheWVyUGFp
bnRCZWhhdmlvcikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBH
cmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiBpbkNsaXAs
IEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKSBvdmVycmlkZTsKICAgICAgICAgZmxvYXQgZGV2
aWNlU2NhbGVGYWN0b3IoKSBjb25zdCBvdmVycmlkZTsKIAogICAgICAgICB2b2lkIGRpZEZpbmlz
aEZhZGVPdXRBbmltYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9T
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDRlYmY1MThhMzU5Li5mZWUxNjM4YWQy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLm1tCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpIaWdobGlnaHQ6Om5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3JhcGhpY3NMYXkK
ICAgICBtX2NvbnRyb2xsZXItPnBhZ2UoKS5yZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIoKS5zY2hl
ZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKCk7CiB9CiAKLXZvaWQgU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0OjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQ
YWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0JiwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZp
b3IpCit2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodDo6cGFpbnRDb250
ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRl
eHQsIGNvbnN0IEZsb2F0UmVjdCYsIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yKQogewogICAg
IGlmICghRGF0YURldGVjdG9yc0xpYnJhcnkoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAppbmRleCA2
Y2QwMGMyNjU3MC4uMjRkMjA1MDI2MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC01MDgsNyArNTA4LDcgQEAgdm9pZCBH
cmFwaGljc0xheWVyOjpwYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQm
IGNvbnRleHQsIGNvbnN0IEYKICAgICBGbG9hdFJlY3QgY2xpcFJlY3QoY2xpcCk7CiAgICAgY2xp
cFJlY3QubW92ZShvZmZzZXQpOwogCi0gICAgY2xpZW50KCkucGFpbnRDb250ZW50cyh0aGlzLCBj
b250ZXh0LCBtX3BhaW50aW5nUGhhc2UsIGNsaXBSZWN0LCBsYXllclBhaW50QmVoYXZpb3IpOwor
ICAgIGNsaWVudCgpLnBhaW50Q29udGVudHModGhpcywgY29udGV4dCwgY2xpcFJlY3QsIGxheWVy
UGFpbnRCZWhhdmlvcik7CiB9CiAKIEZsb2F0UmVjdCBHcmFwaGljc0xheWVyOjphZGp1c3RDb3Zl
cmFnZVJlY3RGb3JNb3ZlbWVudChjb25zdCBGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3Qg
RmxvYXRSZWN0JiBwcmV2aW91c1Zpc2libGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGN1cnJlbnRW
aXNpYmxlUmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJDbGllbnQuaAppbmRleCBiODdkNzU4YjAyZS4uNGQ1MzVkY2JkODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyQ2xpZW50LmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgLy8gTm90aWZpY2F0
aW9uIHRoYXQgdGhpcyBsYXllciByZXF1aXJlcyBhIGZsdXNoIGJlZm9yZSB0aGUgbmV4dCBkaXNw
bGF5IHJlZnJlc2guCiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZsdXNoQmVmb3JlRGlzcGxheVJl
ZnJlc2goY29uc3QgR3JhcGhpY3NMYXllciopIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50
Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIE9wdGlvblNl
dDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4sIGNvbnN0IEZsb2F0UmVjdCYgLyogaW5DbGlw
ICovLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgeyB9CisgICAgdmlydHVhbCB2b2lkIHBh
aW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IEZsb2F0UmVjdCYgLyogaW5DbGlwICovLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVBsYXRmb3JtTGF5ZXJGb3JMYXllcihjb25zdCBH
cmFwaGljc0xheWVyKikgeyB9CiAKICAgICAvLyBQcm92aWRlcyBjdXJyZW50IHRyYW5zZm9ybSAo
dGFraW5nIHRyYW5zZm9ybS1vcmlnaW4gYW5kIGFuaW1hdGlvbnMgaW50byBhY2NvdW50KS4gSW5w
dXQgbWF0cml4IGhhcyBiZWVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwCmluZGV4IDBhNTQ2NTc5Y2Y2Li4xY2M1YmNjZjY4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTI3NzYs
OSArMjc3Niw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5SW5SZWN0KGNvbnN0IExheW91dFJlY3QmIHIsIEdyYXBoCiAKIHZvaWQgUmVuZGVyTGF5ZXJC
YWNraW5nOjpwYWludEludG9MYXllcihjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVy
LCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsCiAgICAgY29uc3QgSW50UmVjdCYgcGFpbnREaXJ0
eVJlY3QsIC8vIEluIHRoZSBjb29yZHMgb2Ygcm9vdExheWVyLgotICAgIE9wdGlvblNldDxQYWlu
dEJlaGF2aW9yPiBwYWludEJlaGF2aW9yLCBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U+IHBhaW50aW5nUGhhc2UpCisgICAgT3B0aW9uU2V0PFBhaW50QmVoYXZpb3I+IHBhaW50
QmVoYXZpb3IpCiB7Ci0gICAgaWYgKChwYWludHNJbnRvV2luZG93KCkgfHwgcGFpbnRzSW50b0Nv
bXBvc2l0ZWRBbmNlc3RvcigpKSAmJiBwYWludGluZ1BoYXNlICE9IE9wdGlvblNldDxHcmFwaGlj
c0xheWVyUGFpbnRpbmdQaGFzZT4oR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkNoaWxkQ2xp
cHBpbmdNYXNrKSkgeworICAgIGlmICgocGFpbnRzSW50b1dpbmRvdygpIHx8IHBhaW50c0ludG9D
b21wb3NpdGVkQW5jZXN0b3IoKSkgJiYgZ3JhcGhpY3NMYXllci0+cGFpbnRpbmdQaGFzZSgpICE9
IE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4oR3JhcGhpY3NMYXllclBhaW50
aW5nUGhhc2U6OkNoaWxkQ2xpcHBpbmdNYXNrKSkgewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiAhT1MoV0lORE9XUykKICAgICAgICAgLy8gRklYTUU6IExvb2tzIGxpa2UgdGhlIENBTGF5
ZXIgdHJlZSBpcyBvdXQgb2Ygc3luYyB3aXRoIHRoZSBHcmFwaGljc0xheWVyIGhlaXJhcmNoeQog
ICAgICAgICAvLyB3aGVuIHBhZ2VzIGFyZSByZXN0b3JlZCBmcm9tIHRoZSBQYWdlQ2FjaGUuCkBA
IC0yNzg4LDI2ICsyNzg4LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xh
eWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIE9wdGlvblNldDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+
IHBhaW50RmxhZ3M7Ci0gICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2U6OkJhY2tncm91bmQpKQotICAgICAgICBwYWludEZsYWdzLmFkZChSZW5k
ZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOwot
ICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNl
OjpGb3JlZ3JvdW5kKSkKLSAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50
TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKTsKLSAgICBpZiAocGFpbnRp
bmdQaGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6TWFzaykpCi0gICAg
ICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3Np
dGluZ01hc2tQaGFzZSk7Ci0gICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NM
YXllclBhaW50aW5nUGhhc2U6OkNsaXBQYXRoKSkKLSAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVu
ZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQ2xpcFBhdGhQaGFzZSk7Ci0g
ICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6
OkNoaWxkQ2xpcHBpbmdNYXNrKSkKLSAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6
OlBhaW50TGF5ZXJQYWludGluZ0NoaWxkQ2xpcHBpbmdNYXNrUGhhc2UpOwotICAgIGlmIChwYWlu
dGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0Nv
bnRlbnRzKSkKLSAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQ
YWludGluZ092ZXJmbG93Q29udGVudHMpOwotICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5z
KEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpDb21wb3NpdGVkU2Nyb2xsKSkKLSAgICAgICAg
cGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5n
U2Nyb2xsaW5nUGhhc2UpOwotCi0gICAgaWYgKGdyYXBoaWNzTGF5ZXIgPT0gbV9iYWNrZ3JvdW5k
TGF5ZXIuZ2V0KCkgJiYgbV9iYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3JvdW5k
KQotICAgICAgICBwYWludEZsYWdzLmFkZCh7IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRp
bmdSb290QmFja2dyb3VuZE9ubHksIFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21w
b3NpdGluZ0ZvcmVncm91bmRQaGFzZSB9KTsgLy8gTmVlZCBQYWludExheWVyUGFpbnRpbmdDb21w
b3NpdGluZ0ZvcmVncm91bmRQaGFzZSB0byB3YWxrIGNoaWxkIGxheWVycy4KLSAgICBlbHNlIGlm
IChjb21wb3NpdG9yKCkuZml4ZWRSb290QmFja2dyb3VuZExheWVyKCkpCi0gICAgICAgIHBhaW50
RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdTa2lwUm9vdEJhY2tncm91
bmQpOworICAgIGF1dG8gcGFpbnRGbGFncyA9IHBhaW50RmxhZ3NGb3JMYXllcigqZ3JhcGhpY3NM
YXllcik7CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgUmVuZGVyRWxlbWVudDo6U2V0TGF5b3V0TmVl
ZGVkRm9yYmlkZGVuU2NvcGUgZm9yYmlkU2V0TmVlZHNMYXlvdXQoJnJlbmRlcmVyKCkpOwpAQCAt
Mjg0OCw3ICsyODI5LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xheWVy
KGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICAgICAgICAgICAgIFJl
bmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSwK
ICAgICAgICAgICAgIFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0Zv
cmVncm91bmRQaGFzZSB9OwogCi0gICAgICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5zKEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKKyAgICAgICAgaWYg
KGdyYXBoaWNzTGF5ZXItPnBhaW50aW5nUGhhc2UoKS5jb250YWlucyhHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6T3ZlcmZsb3dDb250ZW50cykpCiAgICAgICAgICAgICBzaGFyaW5nTGF5ZXJQ
YWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250
ZW50cyk7CiAKICAgICAgICAgZm9yIChhdXRvJiBsYXllcldlYWtQdHIgOiBtX2JhY2tpbmdTaGFy
aW5nTGF5ZXJzKQpAQCAtMjg1OCw2ICsyODM5LDM0IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludEludG9MYXllcihjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFw
CiAgICAgY29tcG9zaXRvcigpLmRpZFBhaW50QmFja2luZyh0aGlzKTsKIH0KIAorT3B0aW9uU2V0
PFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZz4gUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEZs
YWdzRm9yTGF5ZXIoY29uc3QgR3JhcGhpY3NMYXllciYgZ3JhcGhpY3NMYXllcikgY29uc3QKK3sK
KyAgICBPcHRpb25TZXQ8UmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnPiBwYWludEZsYWdzOwor
CisgICAgYXV0byBwYWludGluZ1BoYXNlID0gZ3JhcGhpY3NMYXllci5wYWludGluZ1BoYXNlKCk7
CisgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhh
c2U6OkJhY2tncm91bmQpKQorICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFp
bnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOworICAgIGlmIChwYWlu
dGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5k
KSkKKyAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGlu
Z0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKTsKKyAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250
YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6TWFzaykpCisgICAgICAgIHBhaW50Rmxh
Z3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ01hc2tQaGFz
ZSk7CisgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U6OkNsaXBQYXRoKSkKKyAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBh
aW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQ2xpcFBhdGhQaGFzZSk7CisgICAgaWYgKHBhaW50
aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkNoaWxkQ2xpcHBp
bmdNYXNrKSkKKyAgICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQ
YWludGluZ0NoaWxkQ2xpcHBpbmdNYXNrUGhhc2UpOworICAgIGlmIChwYWludGluZ1BoYXNlLmNv
bnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKKyAg
ICAgICAgcGFpbnRGbGFncy5hZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ092ZXJm
bG93Q29udGVudHMpOworICAgIGlmIChwYWludGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5
ZXJQYWludGluZ1BoYXNlOjpDb21wb3NpdGVkU2Nyb2xsKSkKKyAgICAgICAgcGFpbnRGbGFncy5h
ZGQoUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nU2Nyb2xsaW5nUGhh
c2UpOworCisgICAgaWYgKCZncmFwaGljc0xheWVyID09IG1fYmFja2dyb3VuZExheWVyLmdldCgp
ICYmIG1fYmFja2dyb3VuZExheWVyUGFpbnRzRml4ZWRSb290QmFja2dyb3VuZCkKKyAgICAgICAg
cGFpbnRGbGFncy5hZGQoeyBSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nUm9vdEJhY2tn
cm91bmRPbmx5LCBSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3Jl
Z3JvdW5kUGhhc2UgfSk7IC8vIE5lZWQgUGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdGb3Jl
Z3JvdW5kUGhhc2UgdG8gd2FsayBjaGlsZCBsYXllcnMuCisgICAgZWxzZSBpZiAoY29tcG9zaXRv
cigpLmZpeGVkUm9vdEJhY2tncm91bmRMYXllcigpKQorICAgICAgICBwYWludEZsYWdzLmFkZChS
ZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nU2tpcFJvb3RCYWNrZ3JvdW5kKTsKKworICAg
IHJldHVybiBwYWludEZsYWdzOworfQorCiAjaWYgRU5BQkxFKFBPSU5URVJfRVZFTlRTKQogc3Rh
dGljIFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuRm9yVG91Y2hBY3Rpb24oVG91Y2hBY3Rpb24gdG91
Y2hBY3Rpb24sIEZsb2F0U2l6ZSBjb250ZW50T2Zmc2V0LCBHcmFwaGljc0NvbnRleHQmIGRlc3RD
b250ZXh0KQogewpAQCAtMjk3OCw3ICsyOTg3LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6
OnBhaW50RGVidWdPdmVybGF5cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLAog
fQogCiAvLyBVcC1jYWxsIGZyb20gY29tcG9zaXRpbmcgbGF5ZXIgZHJhd2luZyBjYWxsYmFjay4K
LXZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgT3B0aW9uU2V0PEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiBwYWludGluZ1BoYXNlLCBjb25zdCBGbG9hdFJlY3Qm
IGNsaXAsIEdyYXBoaWNzTGF5ZXJQYWludEJlaGF2aW9yIGxheWVyUGFpbnRCZWhhdmlvcikKK3Zv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIq
IGdyYXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0
JiBjbGlwLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvciBsYXllclBhaW50QmVoYXZpb3IpCiB7
CiAjaWZuZGVmIE5ERUJVRwogICAgIHJlbmRlcmVyKCkucGFnZSgpLnNldElzUGFpbnRpbmcodHJ1
ZSk7CkBAIC0zMDAzLDcgKzMwMTIsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRD
b250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwaAogICAgICAg
ICB8fCBncmFwaGljc0xheWVyID09IG1fY2hpbGRDbGlwcGluZ01hc2tMYXllci5nZXQoKQogICAg
ICAgICB8fCBncmFwaGljc0xheWVyID09IG1fc2Nyb2xsZWRDb250ZW50c0xheWVyLmdldCgpKSB7
CiAKLSAgICAgICAgaWYgKCFwYWludGluZ1BoYXNlLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWlu
dGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKKyAgICAgICAgaWYgKCFncmFwaGljc0xheWVy
LT5wYWludGluZ1BoYXNlKCkuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92
ZXJmbG93Q29udGVudHMpKQogICAgICAgICAgICAgZGlydHlSZWN0LmludGVyc2VjdChlbmNsb3Np
bmdJbnRSZWN0KGNvbXBvc2l0ZWRCb3VuZHNJbmNsdWRpbmdNYXJnaW4oKSkpOwogCiAgICAgICAg
IC8vIFdlIGhhdmUgdG8gdXNlIHRoZSBzYW1lIHJvb3QgYXMgZm9yIGhpdCB0ZXN0aW5nLCBiZWNh
dXNlIGJvdGggbWV0aG9kcyBjYW4gY29tcHV0ZSBhbmQgY2FjaGUgY2xpcFJlY3RzLgpAQCAtMzAx
NCw3ICszMDIzLDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29u
c3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgaWYgKGxheWVy
UGFpbnRCZWhhdmlvciA9PSBHcmFwaGljc0xheWVyUGFpbnRGaXJzdFRpbGVQYWludCkKICAgICAg
ICAgICAgIGJlaGF2aW9yLmFkZChQYWludEJlaGF2aW9yOjpUaWxlRmlyc3RQYWludCk7CiAKLSAg
ICAgICAgcGFpbnRJbnRvTGF5ZXIoZ3JhcGhpY3NMYXllciwgY29udGV4dCwgZGlydHlSZWN0LCBi
ZWhhdmlvciwgcGFpbnRpbmdQaGFzZSk7CisgICAgICAgIHBhaW50SW50b0xheWVyKGdyYXBoaWNz
TGF5ZXIsIGNvbnRleHQsIGRpcnR5UmVjdCwgYmVoYXZpb3IpOwogCiAgICAgICAgIGlmIChyZW5k
ZXJlcigpLnNldHRpbmdzKCkudmlzaWJsZURlYnVnT3ZlcmxheVJlZ2lvbnMoKSAmIE5vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uKSAvLyBQaWdneS1iYWNrIG9mZiB0aGUgc2V0dGluZyB0aGF0IHNob3dz
IHRvdWNoIGhhbmRsZXIgcmVnaW9ucy4KICAgICAgICAgICAgIHBhaW50RGVidWdPdmVybGF5cyhn
cmFwaGljc0xheWVyLCBjb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuaAppbmRleCBlZDYwMTM4ZDkzNS4uMjJkZmM2OWE0ZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlGbHVzaFJlcXVpcmVkKGNvbnN0IEdyYXBo
aWNzTGF5ZXIqKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmeUZsdXNoQmVmb3JlRGlzcGxheVJl
ZnJlc2goY29uc3QgR3JhcGhpY3NMYXllciopIG92ZXJyaWRlOwogCi0gICAgdm9pZCBwYWludENv
bnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBPcHRpb25TZXQ8
R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+LCBjb25zdCBGbG9hdFJlY3QmIGNsaXAsIEdyYXBo
aWNzTGF5ZXJQYWludEJlaGF2aW9yKSBvdmVycmlkZTsKKyAgICB2b2lkIHBhaW50Q29udGVudHMo
Y29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYg
Y2xpcCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpIG92ZXJyaWRlOwogCiAgICAgZmxvYXQg
ZGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdCBvdmVycmlkZTsKICAgICBmbG9hdCBjb250ZW50c1Nj
YWxlTXVsdGlwbGllckZvck5ld1RpbGVzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqKSBjb25zdCBvdmVy
cmlkZTsKQEAgLTM3Niw3ICszNzYsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzVGlsZWRCYWNr
aW5nRmxhdHRlbmluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4gKG1fY2hpbGRDb250YWlubWVudExh
eWVyICYmIG1faXNGcmFtZUxheWVyV2l0aFRpbGVkQmFja2luZyk7IH0KICAgICBHcmFwaGljc0xh
eWVyKiB0aWxlQ2FjaGVGbGF0dGVuaW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2lzRnJhbWVM
YXllcldpdGhUaWxlZEJhY2tpbmcgPyBtX2NoaWxkQ29udGFpbm1lbnRMYXllci5nZXQoKSA6IG51
bGxwdHI7IH0KIAotICAgIHZvaWQgcGFpbnRJbnRvTGF5ZXIoY29uc3QgR3JhcGhpY3NMYXllcios
IEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIHBhaW50RGlydHlSZWN0LCBPcHRpb25T
ZXQ8UGFpbnRCZWhhdmlvcj4sIE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4p
OworICAgIHZvaWQgcGFpbnRJbnRvTGF5ZXIoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNz
Q29udGV4dCYsIGNvbnN0IEludFJlY3QmIHBhaW50RGlydHlSZWN0LCBPcHRpb25TZXQ8UGFpbnRC
ZWhhdmlvcj4pOworICAgIE9wdGlvblNldDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+IHBh
aW50RmxhZ3NGb3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyJikgY29uc3Q7CiAgICAgCiAgICAg
dm9pZCBwYWludERlYnVnT3ZlcmxheXMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29u
dGV4dCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwCmluZGV4IDNjY2U3YzNkNjk4Li5iNTllYmVjNzRkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTMz
ODIsNyArMzM4Miw3IEBAIHZvaWQgcGFpbnRTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIs
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjCiAgICAgY29udGV4dC5yZXN0
b3JlKCk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpwYWludENvbnRlbnRzKGNv
bnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4
dCwgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0
JiBjbGlwLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIs
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBjbGlwLCBHcmFwaGlj
c0xheWVyUGFpbnRCZWhhdmlvcikKIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgTG9jYWxEZWZh
dWx0U3lzdGVtQXBwZWFyYW5jZSBsb2NhbEFwcGVhcmFuY2UobV9yZW5kZXJWaWV3LnVzZURhcmtB
cHBlYXJhbmNlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oCmluZGV4IGZjZjkwNGQyYjRmLi42NTJkNjAxNTEyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAtMzk3LDcg
KzM5Nyw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gR3JhcGhpY3NMYXllckNsaWVudCBpbXBs
ZW1lbnRhdGlvbgogICAgIHZvaWQgbm90aWZ5Rmx1c2hSZXF1aXJlZChjb25zdCBHcmFwaGljc0xh
eWVyKikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhh
c2U+LCBjb25zdCBGbG9hdFJlY3QmLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGlj
c0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBHcmFwaGljc0xheWVyUGFpbnRCZWhhdmlvcikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBjdXN0b21Qb3NpdGlvbkZvclZpc2libGVSZWN0Q29tcHV0YXRp
b24oY29uc3QgR3JhcGhpY3NMYXllciosIEZsb2F0UG9pbnQmKSBjb25zdCBvdmVycmlkZTsKICAg
ICBib29sIGlzVHJhY2tpbmdSZXBhaW50cygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNU
cmFja2luZ1JlcGFpbnRzOyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXgg
OGZiYmNhMTQzY2QuLmQwZWM0OWJkYzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTktMDktMDMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSByZWR1bmRhbnQgcGFpbnRpbmcgcGhhc2UgYXJndW1lbnRz
IGZyb20gR3JhcGhpY3NMYXllckNsaWVudCBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ0MworCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmll
dzo6cGFpbnRDb250ZW50cyk6CisgICAgICAgICogV2ViVmlldy5oOgorCiAyMDE5LTA4LTI3ICBN
YXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciB0byB1c2Ug
Vk0mIGluc3RlYWQgb2YgVk0qIGF0IGFzIG1hbnkgcGxhY2VzIGFzIHBvc3NpYmxlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCmluZGV4IGRmYTU2MGU1MzEz
Li42ODdmYWEwNmZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0LmNwcApAQCAtMzI0LDcgKzMyNCw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHQ6OmxheWVyRmx1c2hUaW1lckZpcmVkKCkKICAgICAgICAgc2NoZWR1bGVMYXllckZsdXNo
KCk7CiB9CiAKLXZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnBhaW50Q29udGVu
dHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgT3B0aW9u
U2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiwgY29uc3QgRmxvYXRSZWN0JiByZWN0VG9Q
YWludCwgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpCit2b2lkIEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0OjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdFRvUGFpbnQsIEdyYXBoaWNz
TGF5ZXJQYWludEJlaGF2aW9yKQogewogICAgIGNvbnRleHQuc2F2ZSgpOwogICAgIGNvbnRleHQu
Y2xpcChyZWN0VG9QYWludCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQuaAppbmRleCBhN2UxYTJjY2VlMy4uZGVlY2Y0NDBlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBlbmFibGVkKCk7CiAKICAgICAvLyBHcmFwaGljc0xheWVyQ2xpZW50Ci0gICAgdm9pZCBw
YWludENvbnRlbnRzKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQmLCBPcHRpb25TZXQ8V2ViQ29yZTo6R3JhcGhpY3NMYXllclBhaW50aW5nUGhh
c2U+LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHJlY3RUb1BhaW50LCBXZWJDb3JlOjpHcmFw
aGljc0xheWVyUGFpbnRCZWhhdmlvcikgb3ZlcnJpZGU7CisgICAgdm9pZCBwYWludENvbnRlbnRz
KGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQm
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHJlY3RUb1BhaW50LCBXZWJDb3JlOjpHcmFwaGlj
c0xheWVyUGFpbnRCZWhhdmlvcikgb3ZlcnJpZGU7CiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0
b3IoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgaW5pdGlhbGl6ZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCBkYjNkMDk2NDc4Mi4uODVlNGVlYmYyYTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC03MzcwLDcgKzczNzAsNyBAQCB2b2lkIFdl
YlZpZXc6Om5vdGlmeUZsdXNoUmVxdWlyZWQoY29uc3QgR3JhcGhpY3NMYXllciopCiAgICAgZmx1
c2hQZW5kaW5nR3JhcGhpY3NMYXllckNoYW5nZXNTb29uKCk7CiB9CiAKLXZvaWQgV2ViVmlldzo6
cGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiBjb250
ZXh0LCBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+LCBjb25zdCBGbG9hdFJl
Y3QmIGluQ2xpcFBpeGVscywgR3JhcGhpY3NMYXllclBhaW50QmVoYXZpb3IpCit2b2lkIFdlYlZp
ZXc6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYg
Y29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBpbkNsaXBQaXhlbHMsIEdyYXBoaWNzTGF5ZXJQYWlu
dEJlaGF2aW9yKQogewogICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUobV9tYWluRnJhbWUpOwogICAg
IGlmICghZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmgKaW5kZXggNmUzNWI2OTE0NzMu
LjM1ODE3NDM3NTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5oCkBAIC01NjYsNyArNTY2
LDcgQEAgcHJpdmF0ZToKICAgICAvLyBHcmFwaGljc0xheWVyQ2xpZW50CiAgICAgdm9pZCBub3Rp
ZnlBbmltYXRpb25TdGFydGVkKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBjb25zdCBT
dHJpbmcmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmeUZsdXNoUmVx
dWlyZWQoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIG92ZXJyaWRlOwotICAgIHZvaWQg
cGFpbnRDb250ZW50cyhjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0JiwgT3B0aW9uU2V0PFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJQYWludGluZ1Bo
YXNlPiwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBpbkNsaXAsIFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJQYWludEJlaGF2aW9yKSBvdmVycmlkZTsKKyAgICB2b2lkIHBhaW50Q29udGVudHMoY29u
c3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciosIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgaW5DbGlwLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyUGFp
bnRCZWhhdmlvcikgb3ZlcnJpZGU7CiAKICNpZiBVU0UoQ0EpCiAgICAgLy8gQ0FDRkxheWVyVHJl
ZUhvc3RDbGllbnQK
</data>

          </attachment>
      

    </bug>

</bugzilla>