<?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>171153</bug_id>
          
          <creation_ts>2017-04-21 18:01:41 -0700</creation_ts>
          <short_desc>Use an OptionSet for compositing reasons bitmask</short_desc>
          <delta_ts>2017-04-25 14:15:22 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>andersca</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1300042</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-21 18:01:41 -0700</bug_when>
    <thetext>We should use an OptionSet for the compositing reasons bitmask instead of using bitwise operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300043</commentid>
    <comment_count>1</comment_count>
      <attachid>307855</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-21 18:07:22 -0700</bug_when>
    <thetext>Created attachment 307855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301229</commentid>
    <comment_count>2</comment_count>
      <attachid>307855</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-25 14:15:20 -0700</bug_when>
    <thetext>Comment on attachment 307855
Patch

Clearing flags on attachment: 307855

Committed r215759: &lt;http://trac.webkit.org/changeset/215759&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301230</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-25 14:15:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307855</attachid>
            <date>2017-04-21 18:07:22 -0700</date>
            <delta_ts>2017-04-25 14:15:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171153-20170421180721.patch</filename>
            <type>text/plain</type>
            <size>22144</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTZlNGYyYmJjYTNmYTBl
ZGUwMTEwYzE4OGY1ZmFjMzMyMDI0YmU0Yi4uZWQ0MWZlMjNkZDNmZGVkZWE0NDcyMGNlOTZkZjc4
ZTlhY2FiODUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTA0LTIxICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgYW4gT3B0aW9uU2V0
IGZvciBjb21wb3NpdGluZyByZWFzb25zIGJpdG1hc2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTE1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZCBtYWtlIHVzZSBvZiBPcHRpb25TZXQg
dG8gcmVwcmVzZW50IHRoZSBiaXRtYXNrIG9mIHRoZSByZWFzb25zIGEgbGF5ZXIKKyAgICAgICAg
d2FzIGNvbXBvc2l0ZWQgaW5zdGVhZCBvZiB1c2luZyBhbiBpbnRlZ2VyIGFuZCBiaXR3aXNlIG9w
ZXJhdGlvbnMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OnJlYXNvbnNG
b3JDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVh
c29uc0ZvckNvbXBvc2l0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9z
aXRvcjo6bG9nUmVhc29uc0ZvckNvbXBvc2l0aW5nKTogQWxzbyBmaXggY29kZSBzdHlsZSBpc3N1
ZXM7CisgICAgICAgIGFuIGVsc2UtaWYgc3RhdGVtZW50IHNob3VsZCBiZSB3cml0dGVuIGFzIGFu
IGlmLXN0YXRlbWVudCB3aGVuIHRoZSBwcmlvciBpZi1zdGF0ZW1lbnQKKyAgICAgICAgY29uY2x1
ZGVzIHdpdGggYSByZXR1cm4gc3RhdGVtZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuaDoKKwogMjAxNy0wNC0yMSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXVtXaW5dIEVuYWJsZSBvZiBYLUNvbnRlbnQtVHlw
ZS1PcHRpb25zOiBub3NuaWZmIGhlYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKaW5kZXggZDk2ZTA0ZWEzNzlmZDJlZWFj
NDA4OTU0MjQ1MDRjYWNjYjFiYjhiNC4uMzNiODcxODdkZGQyNGNhYjc4NmVhNjc4MzY0NGYzZWU4
YmZkZGIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQuY3BwCkBAIC0yMzMsODQgKzIzMyw4NCBAQCB2b2lkIEluc3BlY3Rvckxh
eWVyVHJlZUFnZW50OjpyZWFzb25zRm9yQ29tcG9zaXRpbmdMYXllcihFcnJvclN0cmluZyYgZXJy
b3JTdHJpbgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgQ29tcG9zaXRpbmdSZWFzb25z
IHJlYXNvbnNCaXRtYXNrID0gcmVuZGVyTGF5ZXItPmNvbXBvc2l0b3IoKS5yZWFzb25zRm9yQ29t
cG9zaXRpbmcoKnJlbmRlckxheWVyKTsKKyAgICBPcHRpb25TZXQ8Q29tcG9zaXRpbmdSZWFzb24+
IHJlYXNvbnMgPSByZW5kZXJMYXllci0+Y29tcG9zaXRvcigpLnJlYXNvbnNGb3JDb21wb3NpdGlu
ZygqcmVuZGVyTGF5ZXIpOwogICAgIGF1dG8gY29tcG9zaXRpbmdSZWFzb25zID0gSW5zcGVjdG9y
OjpQcm90b2NvbDo6TGF5ZXJUcmVlOjpDb21wb3NpdGluZ1JlYXNvbnM6OmNyZWF0ZSgpLnJlbGVh
c2UoKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uM0RUcmFu
c2Zvcm0pCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246OlRyYW5z
Zm9ybTNEKSkKICAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRUcmFuc2Zvcm0zRCh0cnVl
KTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uVmlkZW8pCisg
ICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246OlZpZGVvKSkKICAgICAg
ICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRWaWRlbyh0cnVlKTsKLSAgICBlbHNlIGlmIChyZWFz
b25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uQ2FudmFzKQorICAgIGVsc2UgaWYgKHJlYXNv
bnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246OkNhbnZhcykpCiAgICAgICAgIGNvbXBvc2l0
aW5nUmVhc29ucy0+c2V0Q2FudmFzKHRydWUpOwotICAgIGVsc2UgaWYgKHJlYXNvbnNCaXRtYXNr
ICYgQ29tcG9zaXRpbmdSZWFzb25QbHVnaW4pCisgICAgZWxzZSBpZiAocmVhc29ucy5jb250YWlu
cyhDb21wb3NpdGluZ1JlYXNvbjo6UGx1Z2luKSkKICAgICAgICAgY29tcG9zaXRpbmdSZWFzb25z
LT5zZXRQbHVnaW4odHJ1ZSk7Ci0gICAgZWxzZSBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21wb3Np
dGluZ1JlYXNvbklGcmFtZSkKKyAgICBlbHNlIGlmIChyZWFzb25zLmNvbnRhaW5zKENvbXBvc2l0
aW5nUmVhc29uOjpJRnJhbWUpKQogICAgICAgICBjb21wb3NpdGluZ1JlYXNvbnMtPnNldElGcmFt
ZSh0cnVlKTsKLSAgICAKLSAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21wb3NpdGluZ1JlYXNv
bkJhY2tmYWNlVmlzaWJpbGl0eUhpZGRlbikKKworICAgIGlmIChyZWFzb25zLmNvbnRhaW5zKENv
bXBvc2l0aW5nUmVhc29uOjpCYWNrZmFjZVZpc2liaWxpdHlIaWRkZW4pKQogICAgICAgICBjb21w
b3NpdGluZ1JlYXNvbnMtPnNldEJhY2tmYWNlVmlzaWJpbGl0eUhpZGRlbih0cnVlKTsKIAotICAg
IGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uQ2xpcHNDb21wb3NpdGluZ0Rl
c2NlbmRhbnRzKQorICAgIGlmIChyZWFzb25zLmNvbnRhaW5zKENvbXBvc2l0aW5nUmVhc29uOjpD
bGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFudHMpKQogICAgICAgICBjb21wb3NpdGluZ1JlYXNvbnMt
PnNldENsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyh0cnVlKTsKIAotICAgIGlmIChyZWFzb25z
Qml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uQW5pbWF0aW9uKQorICAgIGlmIChyZWFzb25zLmNv
bnRhaW5zKENvbXBvc2l0aW5nUmVhc29uOjpBbmltYXRpb24pKQogICAgICAgICBjb21wb3NpdGlu
Z1JlYXNvbnMtPnNldEFuaW1hdGlvbih0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAm
IENvbXBvc2l0aW5nUmVhc29uRmlsdGVycykKKyAgICBpZiAocmVhc29ucy5jb250YWlucyhDb21w
b3NpdGluZ1JlYXNvbjo6RmlsdGVycykpCiAgICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0
RmlsdGVycyh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVh
c29uUG9zaXRpb25GaXhlZCkKKyAgICBpZiAocmVhc29ucy5jb250YWlucyhDb21wb3NpdGluZ1Jl
YXNvbjo6UG9zaXRpb25GaXhlZCkpCiAgICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0UG9z
aXRpb25GaXhlZCh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5n
UmVhc29uUG9zaXRpb25TdGlja3kpCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRp
bmdSZWFzb246OlBvc2l0aW9uU3RpY2t5KSkKICAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLT5z
ZXRQb3NpdGlvblN0aWNreSh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBv
c2l0aW5nUmVhc29uT3ZlcmZsb3dTY3JvbGxpbmdUb3VjaCkKKyAgICBpZiAocmVhc29ucy5jb250
YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaCkpCiAgICAgICAg
IGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaCh0cnVlKTsKIAot
ICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uU3RhY2tpbmcpCisgICAg
aWYgKHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246OlN0YWNraW5nKSkKICAgICAg
ICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRTdGFja2luZyh0cnVlKTsKIAotICAgIGlmIChyZWFz
b25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uT3ZlcmxhcCkKKyAgICBpZiAocmVhc29ucy5j
b250YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6T3ZlcmxhcCkpCiAgICAgICAgIGNvbXBvc2l0aW5n
UmVhc29ucy0+c2V0T3ZlcmxhcCh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENv
bXBvc2l0aW5nUmVhc29uTmVnYXRpdmVaSW5kZXhDaGlsZHJlbikKKyAgICBpZiAocmVhc29ucy5j
b250YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6TmVnYXRpdmVaSW5kZXhDaGlsZHJlbikpCiAgICAg
ICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0TmVnYXRpdmVaSW5kZXhDaGlsZHJlbih0cnVlKTsK
IAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uVHJhbnNmb3JtV2l0
aENvbXBvc2l0ZWREZXNjZW5kYW50cykKKyAgICBpZiAocmVhc29ucy5jb250YWlucyhDb21wb3Np
dGluZ1JlYXNvbjo6VHJhbnNmb3JtV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykpCiAgICAgICAg
IGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0VHJhbnNmb3JtV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50
cyh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uT3Bh
Y2l0eVdpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMpCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMo
Q29tcG9zaXRpbmdSZWFzb246Ok9wYWNpdHlXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKSkKICAg
ICAgICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRPcGFjaXR5V2l0aENvbXBvc2l0ZWREZXNjZW5k
YW50cyh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29u
TWFza1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMpCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMo
Q29tcG9zaXRpbmdSZWFzb246Ok1hc2tXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKSkKICAgICAg
ICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRNYXNrV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyh0
cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uUmVmbGVj
dGlvbldpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMpCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMo
Q29tcG9zaXRpbmdSZWFzb246OlJlZmxlY3Rpb25XaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKSkK
ICAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRSZWZsZWN0aW9uV2l0aENvbXBvc2l0ZWRE
ZXNjZW5kYW50cyh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5n
UmVhc29uRmlsdGVyV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykKKyAgICBpZiAocmVhc29ucy5j
b250YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6RmlsdGVyV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50
cykpCiAgICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0RmlsdGVyV2l0aENvbXBvc2l0ZWRE
ZXNjZW5kYW50cyh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5n
UmVhc29uQmxlbmRpbmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQorICAgIGlmIChyZWFzb25z
LmNvbnRhaW5zKENvbXBvc2l0aW5nUmVhc29uOjpCbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2Vu
ZGFudHMpKQogICAgICAgICBjb21wb3NpdGluZ1JlYXNvbnMtPnNldEJsZW5kaW5nV2l0aENvbXBv
c2l0ZWREZXNjZW5kYW50cyh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBv
c2l0aW5nUmVhc29uSXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cykKKyAgICBp
ZiAocmVhc29ucy5jb250YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6SXNvbGF0ZXNDb21wb3NpdGVk
QmxlbmRpbmdEZXNjZW5kYW50cykpCiAgICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0SXNv
bGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyh0cnVlKTsKIAotICAgIGlmIChyZWFz
b25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uUGVyc3BlY3RpdmUpCisgICAgaWYgKHJlYXNv
bnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246OlBlcnNwZWN0aXZlKSkKICAgICAgICAgY29t
cG9zaXRpbmdSZWFzb25zLT5zZXRQZXJzcGVjdGl2ZSh0cnVlKTsKIAotICAgIGlmIChyZWFzb25z
Qml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uUHJlc2VydmUzRCkKKyAgICBpZiAocmVhc29ucy5j
b250YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6UHJlc2VydmUzRCkpCiAgICAgICAgIGNvbXBvc2l0
aW5nUmVhc29ucy0+c2V0UHJlc2VydmUzRCh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFz
ayAmIENvbXBvc2l0aW5nUmVhc29uV2lsbENoYW5nZSkKKyAgICBpZiAocmVhc29ucy5jb250YWlu
cyhDb21wb3NpdGluZ1JlYXNvbjo6V2lsbENoYW5nZSkpCiAgICAgICAgIGNvbXBvc2l0aW5nUmVh
c29ucy0+c2V0V2lsbENoYW5nZSh0cnVlKTsKIAotICAgIGlmIChyZWFzb25zQml0bWFzayAmIENv
bXBvc2l0aW5nUmVhc29uUm9vdCkKKyAgICBpZiAocmVhc29ucy5jb250YWlucyhDb21wb3NpdGlu
Z1JlYXNvbjo6Um9vdCkpCiAgICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0Um9vdCh0cnVl
KTsKLSAgICAKKwogICAgIGNvbXBvc2l0aW5nUmVhc29uc1Jlc3VsdCA9IFdURk1vdmUoY29tcG9z
aXRpbmdSZWFzb25zKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA2NDAxZWU0NzVkYjEzMmQ3NTYxZjY0MGY4Yjcy
ZTEzNTMzNmQxYmY1Li4xZWZiYjhjNzlhZjkxMThlNzVkNGFiNTRkNTA5ODRlM2U4ZWVmYTM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcApAQCAtMjIzMiw5ICsyMjMyLDkgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJl
cXVpcmVzT3duQmFja2luZ1N0b3JlKGNvbnN0IFJlbmRlckxheWVyJiBsYXllciwgY28KICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLUNvbXBvc2l0aW5nUmVhc29ucyBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnJlYXNvbnNGb3JDb21wb3NpdGluZyhjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpIGNvbnN0
CitPcHRpb25TZXQ8Q29tcG9zaXRpbmdSZWFzb24+IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVh
c29uc0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikgY29uc3QKIHsKLSAg
ICBDb21wb3NpdGluZ1JlYXNvbnMgcmVhc29ucyA9IENvbXBvc2l0aW5nUmVhc29uTm9uZTsKKyAg
ICBPcHRpb25TZXQ8Q29tcG9zaXRpbmdSZWFzb24+IHJlYXNvbnM7CiAKICAgICBpZiAoIWxheWVy
LmlzQ29tcG9zaXRlZCgpKQogICAgICAgICByZXR1cm4gcmVhc29uczsKQEAgLTIyNDIsODkgKzIy
NDIsODkgQEAgQ29tcG9zaXRpbmdSZWFzb25zIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVhc29u
c0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWUKICAgICBhdXRvJiByZW5kZXJlciA9IHJl
bmRlcmVyRm9yQ29tcG9zaXRpbmdUZXN0cyhsYXllcik7CiAKICAgICBpZiAocmVxdWlyZXNDb21w
b3NpdGluZ0ZvclRyYW5zZm9ybShyZW5kZXJlcikpCi0gICAgICAgIHJlYXNvbnMgfD0gQ29tcG9z
aXRpbmdSZWFzb24zRFRyYW5zZm9ybTsKKyAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1Jl
YXNvbjo6VHJhbnNmb3JtM0Q7CiAKICAgICBpZiAocmVxdWlyZXNDb21wb3NpdGluZ0ZvclZpZGVv
KHJlbmRlcmVyKSkKLSAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvblZpZGVvOwor
ICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uOjpWaWRlbzsKICAgICBlbHNlIGlm
IChyZXF1aXJlc0NvbXBvc2l0aW5nRm9yQ2FudmFzKHJlbmRlcmVyKSkKLSAgICAgICAgcmVhc29u
cyB8PSBDb21wb3NpdGluZ1JlYXNvbkNhbnZhczsKKyAgICAgICAgcmVhc29ucyB8PSBDb21wb3Np
dGluZ1JlYXNvbjo6Q2FudmFzOwogICAgIGVsc2UgaWYgKHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQ
bHVnaW4ocmVuZGVyZXIpKQotICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uUGx1
Z2luOworICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uOjpQbHVnaW47CiAgICAg
ZWxzZSBpZiAocmVxdWlyZXNDb21wb3NpdGluZ0ZvckZyYW1lKHJlbmRlcmVyKSkKLSAgICAgICAg
cmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbklGcmFtZTsKLSAgICAKKyAgICAgICAgcmVhc29u
cyB8PSBDb21wb3NpdGluZ1JlYXNvbjo6SUZyYW1lOworCiAgICAgaWYgKChjYW5SZW5kZXIzRFRy
YW5zZm9ybXMoKSAmJiByZW5kZXJlci5zdHlsZSgpLmJhY2tmYWNlVmlzaWJpbGl0eSgpID09IEJh
Y2tmYWNlVmlzaWJpbGl0eUhpZGRlbikpCi0gICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdS
ZWFzb25CYWNrZmFjZVZpc2liaWxpdHlIaWRkZW47CisgICAgICAgIHJlYXNvbnMgfD0gQ29tcG9z
aXRpbmdSZWFzb246OkJhY2tmYWNlVmlzaWJpbGl0eUhpZGRlbjsKIAogICAgIGlmIChjbGlwc0Nv
bXBvc2l0aW5nRGVzY2VuZGFudHMoKnJlbmRlcmVyLmxheWVyKCkpKQotICAgICAgICByZWFzb25z
IHw9IENvbXBvc2l0aW5nUmVhc29uQ2xpcHNDb21wb3NpdGluZ0Rlc2NlbmRhbnRzOworICAgICAg
ICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uOjpDbGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFu
dHM7CiAKICAgICBpZiAocmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihyZW5kZXJlcikp
Ci0gICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb25BbmltYXRpb247CisgICAgICAg
IHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb246OkFuaW1hdGlvbjsKIAogICAgIGlmIChyZXF1
aXJlc0NvbXBvc2l0aW5nRm9yRmlsdGVycyhyZW5kZXJlcikpCi0gICAgICAgIHJlYXNvbnMgfD0g
Q29tcG9zaXRpbmdSZWFzb25GaWx0ZXJzOworICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5n
UmVhc29uOjpGaWx0ZXJzOwogCiAgICAgaWYgKHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JXaWxsQ2hh
bmdlKHJlbmRlcmVyKSkKLSAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbldpbGxD
aGFuZ2U7CisgICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb246OldpbGxDaGFuZ2U7
CiAKICAgICBpZiAocmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKHJlbmRlcmVyLCAqcmVu
ZGVyZXIubGF5ZXIoKSkpCi0gICAgICAgIHJlYXNvbnMgfD0gcmVuZGVyZXIuc3R5bGUoKS5wb3Np
dGlvbigpID09IEZpeGVkUG9zaXRpb24gPyBDb21wb3NpdGluZ1JlYXNvblBvc2l0aW9uRml4ZWQg
OiBDb21wb3NpdGluZ1JlYXNvblBvc2l0aW9uU3RpY2t5OworICAgICAgICByZWFzb25zIHw9IHJl
bmRlcmVyLnN0eWxlKCkucG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0aW9uID8gQ29tcG9zaXRpbmdS
ZWFzb246OlBvc2l0aW9uRml4ZWQgOiBDb21wb3NpdGluZ1JlYXNvbjo6UG9zaXRpb25TdGlja3k7
CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3Jv
bGxpbmcoKnJlbmRlcmVyLmxheWVyKCkpKQotICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5n
UmVhc29uT3ZlcmZsb3dTY3JvbGxpbmdUb3VjaDsKKyAgICAgICAgcmVhc29ucyB8PSBDb21wb3Np
dGluZ1JlYXNvbjo6T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaDsKICNlbmRpZgogCiAgICAgaWYgKHJl
cXVpcmVzQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbGluZygqcmVuZGVyZXIubGF5ZXIoKSkp
Ci0gICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb25PdmVyZmxvd1Njcm9sbGluZ1Rv
dWNoOworICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uOjpPdmVyZmxvd1Njcm9s
bGluZ1RvdWNoOwogCiAgICAgc3dpdGNoIChyZW5kZXJlci5sYXllcigpLT5pbmRpcmVjdENvbXBv
c2l0aW5nUmVhc29uKCkpIHsKICAgICBjYXNlIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0
aW5nUmVhc29uOjpOb25lOgogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlbmRlckxheWVyOjpJ
bmRpcmVjdENvbXBvc2l0aW5nUmVhc29uOjpTdGFja2luZzoKLSAgICAgICAgcmVhc29ucyB8PSBD
b21wb3NpdGluZ1JlYXNvblN0YWNraW5nOworICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5n
UmVhc29uOjpTdGFja2luZzsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZW5kZXJMYXllcjo6
SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbjo6T3ZlcmxhcDoKLSAgICAgICAgcmVhc29ucyB8PSBD
b21wb3NpdGluZ1JlYXNvbk92ZXJsYXA7CisgICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdS
ZWFzb246Ok92ZXJsYXA7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVuZGVyTGF5ZXI6Oklu
ZGlyZWN0Q29tcG9zaXRpbmdSZWFzb246OkJhY2tncm91bmRMYXllcjoKLSAgICAgICAgcmVhc29u
cyB8PSBDb21wb3NpdGluZ1JlYXNvbk5lZ2F0aXZlWkluZGV4Q2hpbGRyZW47CisgICAgICAgIHJl
YXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb246Ok5lZ2F0aXZlWkluZGV4Q2hpbGRyZW47CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFz
b246OkdyYXBoaWNhbEVmZmVjdDoKICAgICAgICAgaWYgKHJlbmRlcmVyLmhhc1RyYW5zZm9ybSgp
KQotICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvblRyYW5zZm9ybVdpdGhD
b21wb3NpdGVkRGVzY2VuZGFudHM7CisgICAgICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5n
UmVhc29uOjpUcmFuc2Zvcm1XaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzOwogCiAgICAgICAgIGlm
IChyZW5kZXJlci5pc1RyYW5zcGFyZW50KCkpCi0gICAgICAgICAgICByZWFzb25zIHw9IENvbXBv
c2l0aW5nUmVhc29uT3BhY2l0eVdpdGhDb21wb3NpdGVkRGVzY2VuZGFudHM7CisgICAgICAgICAg
ICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uOjpPcGFjaXR5V2l0aENvbXBvc2l0ZWREZXNj
ZW5kYW50czsKIAogICAgICAgICBpZiAocmVuZGVyZXIuaGFzTWFzaygpKQotICAgICAgICAgICAg
cmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbk1hc2tXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRz
OworICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbjo6TWFza1dpdGhDb21w
b3NpdGVkRGVzY2VuZGFudHM7CiAKICAgICAgICAgaWYgKHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24o
KSkKLSAgICAgICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb25SZWZsZWN0aW9uV2l0
aENvbXBvc2l0ZWREZXNjZW5kYW50czsKKyAgICAgICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRp
bmdSZWFzb246OlJlZmxlY3Rpb25XaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzOwogCiAgICAgICAg
IGlmIChyZW5kZXJlci5oYXNGaWx0ZXIoKSB8fCByZW5kZXJlci5oYXNCYWNrZHJvcEZpbHRlcigp
KQotICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbkZpbHRlcldpdGhDb21w
b3NpdGVkRGVzY2VuZGFudHM7CisgICAgICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVh
c29uOjpGaWx0ZXJXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzOwogCiAjaWYgRU5BQkxFKENTU19D
T01QT1NJVElORykKICAgICAgICAgaWYgKGxheWVyLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5n
KCkpCi0gICAgICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uSXNvbGF0ZXNDb21w
b3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50czsKKyAgICAgICAgICAgIHJlYXNvbnMgfD0gQ29tcG9z
aXRpbmdSZWFzb246Oklzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHM7CiAKICAg
ICAgICAgaWYgKGxheWVyLmhhc0JsZW5kTW9kZSgpKQotICAgICAgICAgICAgcmVhc29ucyB8PSBD
b21wb3NpdGluZ1JlYXNvbkJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50czsKKyAgICAg
ICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb246OkJsZW5kaW5nV2l0aENvbXBvc2l0
ZWREZXNjZW5kYW50czsKICNlbmRpZgogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlbmRlckxh
eWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uOjpQZXJzcGVjdGl2ZToKLSAgICAgICAgcmVh
c29ucyB8PSBDb21wb3NpdGluZ1JlYXNvblBlcnNwZWN0aXZlOworICAgICAgICByZWFzb25zIHw9
IENvbXBvc2l0aW5nUmVhc29uOjpQZXJzcGVjdGl2ZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbjo6UHJlc2VydmUzRDoKLSAg
ICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvblByZXNlcnZlM0Q7CisgICAgICAgIHJl
YXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb246OlByZXNlcnZlM0Q7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIAogICAgIGlmIChpbkNvbXBvc2l0aW5nTW9kZSgpICYmIHJlbmRlcmVyLmxheWVyKCkt
PmlzUm9vdExheWVyKCkpCi0gICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRpbmdSZWFzb25Sb290
OworICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uOjpSb290OwogCiAgICAgcmV0
dXJuIHJlYXNvbnM7CiB9CkBAIC0yMzMyLDgwICsyMzMyLDgzIEBAIENvbXBvc2l0aW5nUmVhc29u
cyBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXNvbnNGb3JDb21wb3NpdGluZyhjb25zdCBSZW5k
ZXJMYXllCiAjaWYgIUxPR19ESVNBQkxFRAogY29uc3QgY2hhciogUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpsb2dSZWFzb25zRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyKQog
ewotICAgIENvbXBvc2l0aW5nUmVhc29ucyByZWFzb25zID0gcmVhc29uc0ZvckNvbXBvc2l0aW5n
KGxheWVyKTsKKyAgICBPcHRpb25TZXQ8Q29tcG9zaXRpbmdSZWFzb24+IHJlYXNvbnMgPSByZWFz
b25zRm9yQ29tcG9zaXRpbmcobGF5ZXIpOwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGlu
Z1JlYXNvbjNEVHJhbnNmb3JtKQorICAgIGlmIChyZWFzb25zLmNvbnRhaW5zKENvbXBvc2l0aW5n
UmVhc29uOjpUcmFuc2Zvcm0zRCkpCiAgICAgICAgIHJldHVybiAiM0QgdHJhbnNmb3JtIjsKIAot
ICAgIGlmIChyZWFzb25zICYgQ29tcG9zaXRpbmdSZWFzb25WaWRlbykKKyAgICBpZiAocmVhc29u
cy5jb250YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6VmlkZW8pKQogICAgICAgICByZXR1cm4gInZp
ZGVvIjsKLSAgICBlbHNlIGlmIChyZWFzb25zICYgQ29tcG9zaXRpbmdSZWFzb25DYW52YXMpCisK
KyAgICBpZiAocmVhc29ucy5jb250YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6Q2FudmFzKSkKICAg
ICAgICAgcmV0dXJuICJjYW52YXMiOwotICAgIGVsc2UgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGlu
Z1JlYXNvblBsdWdpbikKKworICAgIGlmIChyZWFzb25zLmNvbnRhaW5zKENvbXBvc2l0aW5nUmVh
c29uOjpQbHVnaW4pKQogICAgICAgICByZXR1cm4gInBsdWdpbiI7Ci0gICAgZWxzZSBpZiAocmVh
c29ucyAmIENvbXBvc2l0aW5nUmVhc29uSUZyYW1lKQorCisgICAgaWYgKHJlYXNvbnMuY29udGFp
bnMoQ29tcG9zaXRpbmdSZWFzb246OklGcmFtZSkpCiAgICAgICAgIHJldHVybiAiaWZyYW1lIjsK
LSAgICAKLSAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29uQmFja2ZhY2VWaXNpYmls
aXR5SGlkZGVuKQorCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246
OkJhY2tmYWNlVmlzaWJpbGl0eUhpZGRlbikpCiAgICAgICAgIHJldHVybiAiYmFja2ZhY2Utdmlz
aWJpbGl0eTogaGlkZGVuIjsKIAotICAgIGlmIChyZWFzb25zICYgQ29tcG9zaXRpbmdSZWFzb25D
bGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFudHMpCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29t
cG9zaXRpbmdSZWFzb246OkNsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cykpCiAgICAgICAgIHJl
dHVybiAiY2xpcHMgY29tcG9zaXRpbmcgZGVzY2VuZGFudHMiOwogCi0gICAgaWYgKHJlYXNvbnMg
JiBDb21wb3NpdGluZ1JlYXNvbkFuaW1hdGlvbikKKyAgICBpZiAocmVhc29ucy5jb250YWlucyhD
b21wb3NpdGluZ1JlYXNvbjo6QW5pbWF0aW9uKSkKICAgICAgICAgcmV0dXJuICJhbmltYXRpb24i
OwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNvbkZpbHRlcnMpCisgICAgaWYg
KHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246OkZpbHRlcnMpKQogICAgICAgICBy
ZXR1cm4gImZpbHRlcnMiOwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNvblBv
c2l0aW9uRml4ZWQpCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246
OlBvc2l0aW9uRml4ZWQpKQogICAgICAgICByZXR1cm4gInBvc2l0aW9uOiBmaXhlZCI7CiAKLSAg
ICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29uUG9zaXRpb25TdGlja3kpCisgICAgaWYg
KHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246OlBvc2l0aW9uU3RpY2t5KSkKICAg
ICAgICAgcmV0dXJuICJwb3NpdGlvbjogc3RpY2t5IjsKIAotICAgIGlmIChyZWFzb25zICYgQ29t
cG9zaXRpbmdSZWFzb25PdmVyZmxvd1Njcm9sbGluZ1RvdWNoKQorICAgIGlmIChyZWFzb25zLmNv
bnRhaW5zKENvbXBvc2l0aW5nUmVhc29uOjpPdmVyZmxvd1Njcm9sbGluZ1RvdWNoKSkKICAgICAg
ICAgcmV0dXJuICItd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2giOwogCi0gICAgaWYg
KHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNvblN0YWNraW5nKQorICAgIGlmIChyZWFzb25zLmNv
bnRhaW5zKENvbXBvc2l0aW5nUmVhc29uOjpTdGFja2luZykpCiAgICAgICAgIHJldHVybiAic3Rh
Y2tpbmciOwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNvbk92ZXJsYXApCisg
ICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246Ok92ZXJsYXApKQogICAg
ICAgICByZXR1cm4gIm92ZXJsYXAiOwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1Jl
YXNvbk5lZ2F0aXZlWkluZGV4Q2hpbGRyZW4pCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29t
cG9zaXRpbmdSZWFzb246Ok5lZ2F0aXZlWkluZGV4Q2hpbGRyZW4pKQogICAgICAgICByZXR1cm4g
Im5lZ2F0aXZlIHotaW5kZXggY2hpbGRyZW4iOwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3Np
dGluZ1JlYXNvblRyYW5zZm9ybVdpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMpCisgICAgaWYgKHJl
YXNvbnMuY29udGFpbnMoQ29tcG9zaXRpbmdSZWFzb246OlRyYW5zZm9ybVdpdGhDb21wb3NpdGVk
RGVzY2VuZGFudHMpKQogICAgICAgICByZXR1cm4gInRyYW5zZm9ybSB3aXRoIGNvbXBvc2l0ZWQg
ZGVzY2VuZGFudHMiOwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNvbk9wYWNp
dHlXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQorICAgIGlmIChyZWFzb25zLmNvbnRhaW5zKENv
bXBvc2l0aW5nUmVhc29uOjpPcGFjaXR5V2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykpCiAgICAg
ICAgIHJldHVybiAib3BhY2l0eSB3aXRoIGNvbXBvc2l0ZWQgZGVzY2VuZGFudHMiOwogCi0gICAg
aWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNvbk1hc2tXaXRoQ29tcG9zaXRlZERlc2NlbmRh
bnRzKQorICAgIGlmIChyZWFzb25zLmNvbnRhaW5zKENvbXBvc2l0aW5nUmVhc29uOjpNYXNrV2l0
aENvbXBvc2l0ZWREZXNjZW5kYW50cykpCiAgICAgICAgIHJldHVybiAibWFzayB3aXRoIGNvbXBv
c2l0ZWQgZGVzY2VuZGFudHMiOwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNv
blJlZmxlY3Rpb25XaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQorICAgIGlmIChyZWFzb25zLmNv
bnRhaW5zKENvbXBvc2l0aW5nUmVhc29uOjpSZWZsZWN0aW9uV2l0aENvbXBvc2l0ZWREZXNjZW5k
YW50cykpCiAgICAgICAgIHJldHVybiAicmVmbGVjdGlvbiB3aXRoIGNvbXBvc2l0ZWQgZGVzY2Vu
ZGFudHMiOwogCi0gICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNvbkZpbHRlcldpdGhD
b21wb3NpdGVkRGVzY2VuZGFudHMpCisgICAgaWYgKHJlYXNvbnMuY29udGFpbnMoQ29tcG9zaXRp
bmdSZWFzb246OkZpbHRlcldpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMpKQogICAgICAgICByZXR1
cm4gImZpbHRlciB3aXRoIGNvbXBvc2l0ZWQgZGVzY2VuZGFudHMiOwogCiAjaWYgRU5BQkxFKENT
U19DT01QT1NJVElORykKLSAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29uQmxlbmRp
bmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQorICAgIGlmIChyZWFzb25zLmNvbnRhaW5zKENv
bXBvc2l0aW5nUmVhc29uOjpCbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMpKQogICAg
ICAgICByZXR1cm4gImJsZW5kaW5nIHdpdGggY29tcG9zaXRlZCBkZXNjZW5kYW50cyI7CiAKLSAg
ICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29uSXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRp
bmdEZXNjZW5kYW50cykKKyAgICBpZiAocmVhc29ucy5jb250YWlucyhDb21wb3NpdGluZ1JlYXNv
bjo6SXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cykpCiAgICAgICAgIHJldHVy
biAiaXNvbGF0ZXMgY29tcG9zaXRlZCBibGVuZGluZyBkZXNjZW5kYW50cyI7CiAjZW5kaWYKIAot
ICAgIGlmIChyZWFzb25zICYgQ29tcG9zaXRpbmdSZWFzb25QZXJzcGVjdGl2ZSkKKyAgICBpZiAo
cmVhc29ucy5jb250YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6UGVyc3BlY3RpdmUpKQogICAgICAg
ICByZXR1cm4gInBlcnNwZWN0aXZlIjsKIAotICAgIGlmIChyZWFzb25zICYgQ29tcG9zaXRpbmdS
ZWFzb25QcmVzZXJ2ZTNEKQorICAgIGlmIChyZWFzb25zLmNvbnRhaW5zKENvbXBvc2l0aW5nUmVh
c29uOjpQcmVzZXJ2ZTNEKSkKICAgICAgICAgcmV0dXJuICJwcmVzZXJ2ZS0zZCI7CiAKLSAgICBp
ZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29uUm9vdCkKKyAgICBpZiAocmVhc29ucy5jb250
YWlucyhDb21wb3NpdGluZ1JlYXNvbjo6Um9vdCkpCiAgICAgICAgIHJldHVybiAicm9vdCI7CiAK
ICAgICByZXR1cm4gIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmgKaW5kZXggOGFmY2Q1ZDQzYmQ4MWNmY2E4MjY4NzAxYmJlMTc3NzdkNDNm
NTk4NC4uYzlkNDhiMTlkYmU2ZTBkODljOTMwZTJlZGQ0YmE3YWFjNWFiOGVmZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAtMzAs
NiArMzAsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJVcGRhdGVyLmgiCiAjaW5jbHVkZSAi
UmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9P
cHRpb25TZXQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01NCwzNiArNTUsMzQgQEAg
ZW51bSBDb21wb3NpdGluZ1VwZGF0ZVR5cGUgewogICAgIENvbXBvc2l0aW5nVXBkYXRlT25Db21w
b3NpdGVkU2Nyb2xsCiB9OwogCi1lbnVtIHsKLSAgICBDb21wb3NpdGluZ1JlYXNvbk5vbmUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwKLSAgICBDb21wb3NpdGluZ1JlYXNv
bjNEVHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAwLAotICAgIENv
bXBvc2l0aW5nUmVhc29uVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
IDw8IDEsCi0gICAgQ29tcG9zaXRpbmdSZWFzb25DYW52YXMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDEgPDwgMiwKLSAgICBDb21wb3NpdGluZ1JlYXNvblBsdWdpbiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAzLAotICAgIENvbXBvc2l0aW5nUmVhc29u
SUZyYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDQsCi0gICAgQ29t
cG9zaXRpbmdSZWFzb25CYWNrZmFjZVZpc2liaWxpdHlIaWRkZW4gICAgICAgICAgICAgICA9IDEg
PDwgNSwKLSAgICBDb21wb3NpdGluZ1JlYXNvbkNsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyAg
ICAgICAgICAgID0gMSA8PCA2LAotICAgIENvbXBvc2l0aW5nUmVhc29uQW5pbWF0aW9uICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDcsCi0gICAgQ29tcG9zaXRpbmdSZWFzb25G
aWx0ZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEgPDwgOCwKLSAgICBDb21w
b3NpdGluZ1JlYXNvblBvc2l0aW9uRml4ZWQgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSA8
PCA5LAotICAgIENvbXBvc2l0aW5nUmVhc29uUG9zaXRpb25TdGlja3kgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAxIDw8IDEwLAotICAgIENvbXBvc2l0aW5nUmVhc29uT3ZlcmZsb3dTY3JvbGxp
bmdUb3VjaCAgICAgICAgICAgICAgICAgPSAxIDw8IDExLAotICAgIENvbXBvc2l0aW5nUmVhc29u
U3RhY2tpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDEyLAotICAgIENv
bXBvc2l0aW5nUmVhc29uT3ZlcmxhcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
IDw8IDEzLAotICAgIENvbXBvc2l0aW5nUmVhc29uTmVnYXRpdmVaSW5kZXhDaGlsZHJlbiAgICAg
ICAgICAgICAgICAgPSAxIDw8IDE0LAotICAgIENvbXBvc2l0aW5nUmVhc29uVHJhbnNmb3JtV2l0
aENvbXBvc2l0ZWREZXNjZW5kYW50cyAgICAgPSAxIDw8IDE1LAotICAgIENvbXBvc2l0aW5nUmVh
c29uT3BhY2l0eVdpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMgICAgICAgPSAxIDw8IDE2LAotICAg
IENvbXBvc2l0aW5nUmVhc29uTWFza1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMgICAgICAgICAg
PSAxIDw8IDE3LAotICAgIENvbXBvc2l0aW5nUmVhc29uUmVmbGVjdGlvbldpdGhDb21wb3NpdGVk
RGVzY2VuZGFudHMgICAgPSAxIDw8IDE4LAotICAgIENvbXBvc2l0aW5nUmVhc29uRmlsdGVyV2l0
aENvbXBvc2l0ZWREZXNjZW5kYW50cyAgICAgICAgPSAxIDw8IDE5LAotICAgIENvbXBvc2l0aW5n
UmVhc29uQmxlbmRpbmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzICAgICAgPSAxIDw8IDIwLAot
ICAgIENvbXBvc2l0aW5nUmVhc29uUGVyc3BlY3RpdmUgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxIDw8IDIxLAotICAgIENvbXBvc2l0aW5nUmVhc29uUHJlc2VydmUzRCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAxIDw8IDIyLAotICAgIENvbXBvc2l0aW5nUmVhc29uV2lsbENo
YW5nZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDIzLAotICAgIENvbXBvc2l0
aW5nUmVhc29uUm9vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDI0
LAotICAgIENvbXBvc2l0aW5nUmVhc29uSXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5k
YW50cyAgPSAxIDw8IDI1LAorZW51bSBjbGFzcyBDb21wb3NpdGluZ1JlYXNvbiB7CisgICAgVHJh
bnNmb3JtM0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDAsCisgICAgVmlkZW8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDEsCisgICAgQ2FudmFzICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDIsCisgICAgUGx1Z2luICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDMsCisgICAgSUZyYW1lICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDQsCisgICAgQmFja2ZhY2VWaXNpYmlsaXR5
SGlkZGVuICAgICAgICAgICAgICAgPSAxIDw8IDUsCisgICAgQ2xpcHNDb21wb3NpdGluZ0Rlc2Nl
bmRhbnRzICAgICAgICAgICAgPSAxIDw8IDYsCisgICAgQW5pbWF0aW9uICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAxIDw8IDcsCisgICAgRmlsdGVycyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxIDw8IDgsCisgICAgUG9zaXRpb25GaXhlZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAxIDw8IDksCisgICAgUG9zaXRpb25TdGlja3kgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxIDw8IDEwLAorICAgIE92ZXJmbG93U2Nyb2xsaW5nVG91Y2ggICAgICAgICAgICAg
ICAgID0gMSA8PCAxMSwKKyAgICBTdGFja2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDEgPDwgMTIsCisgICAgT3ZlcmxhcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAxIDw8IDEzLAorICAgIE5lZ2F0aXZlWkluZGV4Q2hpbGRyZW4gICAgICAgICAgICAgICAgID0g
MSA8PCAxNCwKKyAgICBUcmFuc2Zvcm1XaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzICAgICA9IDEg
PDwgMTUsCisgICAgT3BhY2l0eVdpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMgICAgICAgPSAxIDw8
IDE2LAorICAgIE1hc2tXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzICAgICAgICAgID0gMSA8PCAx
NywKKyAgICBSZWZsZWN0aW9uV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyAgICA9IDEgPDwgMTgs
CisgICAgRmlsdGVyV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyAgICAgICAgPSAxIDw8IDE5LAor
ICAgIEJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyAgICAgID0gMSA8PCAyMCwKKyAg
ICBQZXJzcGVjdGl2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEgPDwgMjEsCisgICAg
UHJlc2VydmUzRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDIyLAorICAgIFdp
bGxDaGFuZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAyMywKKyAgICBSb290
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEgPDwgMjQsCisgICAgSXNvbGF0
ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyAgPSAxIDw8IDI1LAogfTsKLXR5cGVkZWYg
dW5zaWduZWQgQ29tcG9zaXRpbmdSZWFzb25zOwogCiAvLyBSZW5kZXJMYXllckNvbXBvc2l0b3Ig
bWFuYWdlcyB0aGUgaGllcmFyY2h5IG9mCiAvLyBjb21wb3NpdGVkIFJlbmRlckxheWVycy4gSXQg
ZGV0ZXJtaW5lcyB3aGljaCBSZW5kZXJMYXllcnMKQEAgLTMwMyw3ICszMDIsNyBAQCBwdWJsaWM6
CiAKICAgICBib29sIGhhc05vbk1haW5MYXllcnNXaXRoVGlsZWRCYWNraW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXllcnNXaXRoVGlsZWRCYWNraW5nQ291bnQ7IH0KIAotICAgIENvbXBvc2l0aW5n
UmVhc29ucyByZWFzb25zRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXImKSBjb25zdDsK
KyAgICBPcHRpb25TZXQ8Q29tcG9zaXRpbmdSZWFzb24+IHJlYXNvbnNGb3JDb21wb3NpdGluZyhj
b25zdCBSZW5kZXJMYXllciYpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRMYXllckZsdXNoVGhyb3R0
bGluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBkaXNhYmxlTGF5ZXJGbHVzaFRocm90dGxpbmdU
ZW1wb3JhcmlseUZvckludGVyYWN0aW9uKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>