<?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>184599</bug_id>
          
          <creation_ts>2018-04-13 11:15:45 -0700</creation_ts>
          <short_desc>Remove code for compilers that did not support NSDMI for aggregates</short_desc>
          <delta_ts>2018-04-20 14:11:26 -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>InRadar</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>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1414483</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-13 11:15:45 -0700</bug_when>
    <thetext>According to Per Arne Vollan we updated the bots and EWS to a version of Visual Studio that supports non-static data member initializers (NSDMI) for aggregates. And Visual Studio was the only compiler that we needed to workaround. So, lets remove the workarounds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414485</commentid>
    <comment_count>1</comment_count>
      <attachid>337910</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-13 11:19:27 -0700</bug_when>
    <thetext>Created attachment 337910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414495</commentid>
    <comment_count>2</comment_count>
      <attachid>337910</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-04-13 12:00:04 -0700</bug_when>
    <thetext>Comment on attachment 337910
Patch

R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414638</commentid>
    <comment_count>3</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-04-14 08:02:54 -0700</bug_when>
    <thetext>I think there might be places where we added constructors, but forgot to add the !COMPILER_SUPPORTS(NSDMI_FOR_AGGREGATES) compile guard. Should we attempt to find those instances?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414639</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-14 09:30:57 -0700</bug_when>
    <thetext>(In reply to Per Arne Vollan from comment #3)
&gt; I think there might be places where we added constructors, but forgot to add
&gt; the !COMPILER_SUPPORTS(NSDMI_FOR_AGGREGATES) compile guard. Should we
&gt; attempt to find those instances?

We should look for such usage and clean it up. I suggest we do that in another bug/patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414655</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-04-14 14:03:07 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #4)
&gt; (In reply to Per Arne Vollan from comment #3)
&gt; &gt; I think there might be places where we added constructors, but forgot to add
&gt; &gt; the !COMPILER_SUPPORTS(NSDMI_FOR_AGGREGATES) compile guard. Should we
&gt; &gt; attempt to find those instances?
&gt; 
&gt; We should look for such usage and clean it up. I suggest we do that in
&gt; another bug/patch.

Sounds good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416411</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-04-20 14:10:59 -0700</bug_when>
    <thetext>Committed r230856: &lt;https://trac.webkit.org/changeset/230856&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416412</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-20 14:11:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/39608516&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337910</attachid>
            <date>2018-04-13 11:19:27 -0700</date>
            <delta_ts>2018-04-13 12:00:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184599-20180413111926.patch</filename>
            <type>text/plain</type>
            <size>21224</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmU4YThhOWJiMmIxMGI0YzI0M2FkNzEzN2Q5YTFjMjg1ZDhhNTIzLi4yNmNmODg0M2FjNWQ3NTQ3
Y2Y4ZWIyY2ZjOTMzMGQzMGFjZDQ0OTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxOC0wNC0xMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIGNvZGUgZm9yIGNvbXBpbGVycyB0aGF0IGRpZCBub3Qgc3VwcG9y
dCBOU0RNSSBmb3IgYWdncmVnYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg0NTk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVtb3ZlIHdvcmthcm91bmQgZm9yIGVhcmxpZXIgVmlzdWFsIFN0dWRp
byB2ZXJzaW9ucyB0aGF0IGRpZCBub3Qgc3VwcG9ydCBub24tc3RhdGljIGRhdGEKKyAgICAgICAg
bWVtYmVyIGluaXRpYWxpemVycyAoTlNETUkpIGZvciBhZ2dyZWdhdGVzLiBXZSBoYXZlIHNpbmNl
IHVwZGF0ZWQgYWxsIHRoZSBidWlsZC53ZWJraXQub3JnCisgICAgICAgIGFuZCBFV1MgYm90cyB0
byBhIG5ld2VyIHZlcnNpb24gdGhhdCBzdXBwb3J0cyB0aGlzIGZlYXR1cmUuCisKKyAgICAgICAg
KiBkb21qaXQvRE9NSklURWZmZWN0Lmg6CisgICAgICAgIChKU0M6OkRPTUpJVDo6RWZmZWN0OjpF
ZmZlY3QpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSGFzT3duUHJvcGVydHlDYWNoZS5o
OgorICAgICAgICAoSlNDOjpIYXNPd25Qcm9wZXJ0eUNhY2hlOjpFbnRyeTo6RW50cnkpOiBEZWxl
dGVkLgorICAgICAgICAqIHdhc20vV2FzbUZvcm1hdC5oOgorICAgICAgICAoSlNDOjpXYXNtOjpX
YXNtVG9XYXNtSW1wb3J0YWJsZUZ1bmN0aW9uOjpXYXNtVG9XYXNtSW1wb3J0YWJsZUZ1bmN0aW9u
KTogRGVsZXRlZC4KKwogMjAxOC0wNC0xMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdt
YWlsLmNvbT4KIAogICAgICAgICBbREZHXSBSZW1vdmUgZHVwbGljYXRlIDMyYml0IFByb2ZpbGVU
eXBlIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDUyYTRmZGYwOTc5ZjM2Y2M5NjNkOGY0OTI3OWU1ZDUx
MmVlOTVlYTIuLjQyZTYwMjE4MzIwZTg0MGU2MGU3OWIyY2Q5ODY5ZDJhOGQ3ODE3NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTgtMDQtMTMgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSBjb2RlIGZvciBjb21waWxlcnMgdGhhdCBkaWQgbm90IHN1
cHBvcnQgTlNETUkgZm9yIGFnZ3JlZ2F0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NDU5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZSB3b3JrYXJvdW5kIGZvciBlYXJsaWVyIFZpc3VhbCBT
dHVkaW8gdmVyc2lvbnMgdGhhdCBkaWQgbm90IHN1cHBvcnQgbm9uLXN0YXRpYyBkYXRhCisgICAg
ICAgIG1lbWJlciBpbml0aWFsaXplcnMgKE5TRE1JKSBmb3IgYWdncmVnYXRlcy4gV2UgaGF2ZSBz
aW5jZSB1cGRhdGVkIGFsbCB0aGUgYnVpbGQud2Via2l0Lm9yZworICAgICAgICBhbmQgRVdTIGJv
dHMgdG8gYSBuZXdlciB2ZXJzaW9uIHRoYXQgc3VwcG9ydHMgdGhpcyBmZWF0dXJlLgorCisgICAg
ICAgICogd3RmL0NvbXBpbGVyLmg6CisKIDIwMTgtMDQtMTMgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgogCiAgICAgICAgIEludHJvZHVjZSBTdXNwZW5kZWRQYWdlUHJveHkgdG8g
a2VlcCBvbGQgd2ViIHByb2Nlc3NlcyBhcm91bmQgYWZ0ZXIgdGhlaXIgV2ViUGFnZVByb3h5IGhh
cyBiZWVuIHN3YXBwZWQgdG8gYSBuZXcgb25lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE1MTZmODkyY2IzZjMz
MTE0NWIyZGY5Y2VhMGEzNzhkMzJmZGVlZGQuLmEwMWIzMWIxMTRiNWM4MmViMTZmZTc2ZjE5OTc4
ZTJjYTA0ZDMxMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxOC0wNC0xMyAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvZGUgZm9y
IGNvbXBpbGVycyB0aGF0IGRpZCBub3Qgc3VwcG9ydCBOU0RNSSBmb3IgYWdncmVnYXRlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHdvcmth
cm91bmQgZm9yIGVhcmxpZXIgVmlzdWFsIFN0dWRpbyB2ZXJzaW9ucyB0aGF0IGRpZCBub3Qgc3Vw
cG9ydCBub24tc3RhdGljIGRhdGEKKyAgICAgICAgbWVtYmVyIGluaXRpYWxpemVycyAoTlNETUkp
IGZvciBhZ2dyZWdhdGVzLiBXZSBoYXZlIHNpbmNlIHVwZGF0ZWQgYWxsIHRoZSBidWlsZC53ZWJr
aXQub3JnCisgICAgICAgIGFuZCBFV1MgYm90cyB0byBhIG5ld2VyIHZlcnNpb24gdGhhdCBzdXBw
b3J0cyB0aGlzIGZlYXR1cmUuCisKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlP
cHRpb25zLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVF1ZXJ5T3B0aW9uczo6Q2FjaGVRdWVy
eU9wdGlvbnMpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChXZWJD
b3JlOjpOb2RlOjpJbnNlcnRpb25UeXBlOjpJbnNlcnRpb25UeXBlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok5vZGU6OlJlbW92YWxUeXBlOjpSZW1vdmFsVHlwZSk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
bnZhc1N0eWxlOjpDTVlLQUNvbG9yOjpDTVlLQUNvbG9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpEcmFn
VGFyZ2V0UmVzcG9uc2U6OkRyYWdUYXJnZXRSZXNwb25zZSk6IERlbGV0ZWQuCisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6QW5pbWF0aW9uVXBkYXRlOjpBbmltYXRpb25VcGRhdGUpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rpb25BbGdvcml0aG0uaDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRTZWxlY3Rpb25SZXF1ZXN0Ojp0aWVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRTZWxlY3Rpb25SZXF1ZXN0OjpGb250U2VsZWN0aW9uUmVxdWVzdCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpGb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzOjpGb250U2VsZWN0
aW9uQ2FwYWJpbGl0aWVzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9JY2VDYW5kaWRhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkljZUNhbmRpZGF0ZTo6SWNlQ2Fu
ZGlkYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1N0cmluZ1dpdGhEaXJl
Y3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ1dpdGhEaXJlY3Rpb246OlN0cmluZ1dp
dGhEaXJlY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9NYXJrZWRUZXh0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpNYXJrZWRUZXh0OjpNYXJrZWRUZXh0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBzdHlsZS9TdHlsZVVwZGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkVs
ZW1lbnRVcGRhdGU6OkVsZW1lbnRVcGRhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGU6OkVsZW1lbnRVcGRhdGVzOjpFbGVtZW50VXBkYXRlcyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpTdHlsZTo6VGV4dFVwZGF0ZTo6VGV4dFVwZGF0ZSk6IERlbGV0ZWQuCisKIDIw
MTgtMDQtMTMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIElu
dHJvZHVjZSBTdXNwZW5kZWRQYWdlUHJveHkgdG8ga2VlcCBvbGQgd2ViIHByb2Nlc3NlcyBhcm91
bmQgYWZ0ZXIgdGhlaXIgV2ViUGFnZVByb3h5IGhhcyBiZWVuIHN3YXBwZWQgdG8gYSBuZXcgb25l
LgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nIGIvU291cmNlL2JtYWxsb2Mv
Q2hhbmdlTG9nCmluZGV4IDM0NTFiOWI2NjU2Y2Q3ZWI0MGYzOGIzMmQ5ZjZhMTBhNDlhM2VhYWQu
LmFmMWQ5ZGUzZDBlNmRmYTZhYTVkZDM0M2NmYzk2N2E2YzQwYWVkMjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxOC0wNC0xMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CisKKyAgICAgICAgUmVtb3ZlIGNvZGUgZm9yIGNvbXBpbGVycyB0aGF0IGRpZCBub3Qgc3Vw
cG9ydCBOU0RNSSBmb3IgYWdncmVnYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHdvcmthcm91bmQgZm9yIGVhcmxpZXIgVmlzdWFsIFN0
dWRpbyB2ZXJzaW9ucyB0aGF0IGRpZCBub3Qgc3VwcG9ydCBub24tc3RhdGljIGRhdGEKKyAgICAg
ICAgbWVtYmVyIGluaXRpYWxpemVycyAoTlNETUkpIGZvciBhZ2dyZWdhdGVzLiBXZSBoYXZlIHNp
bmNlIHVwZGF0ZWQgYWxsIHRoZSBidWlsZC53ZWJraXQub3JnCisgICAgICAgIGFuZCBFV1MgYm90
cyB0byBhIG5ld2VyIHZlcnNpb24gdGhhdCBzdXBwb3J0cyB0aGlzIGZlYXR1cmUuCisKKyAgICAg
ICAgKiBibWFsbG9jL0JQbGF0Zm9ybS5oOgorICAgICAgICAqIGJtYWxsb2MvTGlzdC5oOgorICAg
ICAgICAoYm1hbGxvYzo6TGlzdE5vZGU6Okxpc3ROb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKGJt
YWxsb2M6Okxpc3Q6Oml0ZXJhdG9yOjppdGVyYXRvcik6IERlbGV0ZWQuCisKIDIwMTgtMDQtMTIg
IFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgTGVzc2VuIHBhcnRp
YWwgc2NhdmVuZ2UgaW50ZXJ2YWwgb24geDg2LTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZG9taml0L0RPTUpJVEVmZmVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rv
bWppdC9ET01KSVRFZmZlY3QuaAppbmRleCAyYWM3NjRmZjJjNzE2NWQyMjU3ZGI0NTE1MWJlNzQz
MDI4NTI0NTQ2Li4zYTBlMWU0OTdjZjAwMGE2MGZhYmZhMmY2ZDk3Y2JlYjU1NzgzYmU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZG9taml0L0RPTUpJVEVmZmVjdC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kb21qaXQvRE9NSklURWZmZWN0LmgKQEAgLTMwLDIwICsz
MCw2IEBACiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERPTUpJVCB7CiAKIHN0cnVjdCBFZmZl
Y3QgewotI2lmICFDT01QSUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVHQVRFUykKLSAgICBj
b25zdGV4cHIgRWZmZWN0KCkgPSBkZWZhdWx0OwotICAgIGNvbnN0ZXhwciBFZmZlY3QoSGVhcFJh
bmdlIHJlYWRzLCBIZWFwUmFuZ2Ugd3JpdGVzKQotICAgICAgICA6IHJlYWRzIHsgcmVhZHMgfQot
ICAgICAgICAsIHdyaXRlcyB7IHdyaXRlcyB9Ci0gICAgewotICAgIH0KLSAgICBjb25zdGV4cHIg
RWZmZWN0KEhlYXBSYW5nZSByZWFkcywgSGVhcFJhbmdlIHdyaXRlcywgSGVhcFJhbmdlIGRlZikK
LSAgICAgICAgOiByZWFkcyB7IHJlYWRzIH0KLSAgICAgICAgLCB3cml0ZXMgeyB3cml0ZXMgfQot
ICAgICAgICAsIGRlZiB7IGRlZiB9Ci0gICAgewotICAgIH0KLSNlbmRpZgogCiAgICAgY29uc3Rl
eHByIHN0YXRpYyBFZmZlY3QgZm9yV3JpdGUoSGVhcFJhbmdlIHdyaXRlUmFuZ2UpCiAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGFzT3duUHJvcGVydHlD
YWNoZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGFzT3duUHJvcGVydHlDYWNo
ZS5oCmluZGV4IDc2Mjc1MTZiYzM1NmNkMDNmYmU2MDE5ZGUyODVjY2ZkYzk1MGRkMjQuLmFkYWRj
ODlhYjg0Y2YxZjczOTYwYWFlZTY0ODU2YWRhOTdjMmIzODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0hhc093blByb3BlcnR5Q2FjaGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9IYXNPd25Qcm9wZXJ0eUNhY2hlLmgKQEAgLTQyLDE4ICs0
Miw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHB0cmRpZmZfdCBvZmZzZXRPZkltcGwoKSB7
IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoRW50cnksIGltcGwpOyB9CiAgICAgICAgIHN0YXRpYyBw
dHJkaWZmX3Qgb2Zmc2V0T2ZSZXN1bHQoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoRW50cnks
IHJlc3VsdCk7IH0KIAotI2lmICFDT01QSUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVHQVRF
UykKLSAgICAgICAgRW50cnkoKSA9IGRlZmF1bHQ7Ci0gICAgICAgIEVudHJ5KFJlZlB0cjxVbmlx
dWVkU3RyaW5nSW1wbD4mJiBpbXBsLCBTdHJ1Y3R1cmVJRCBzdHJ1Y3R1cmVJRCwgYm9vbCByZXN1
bHQpCi0gICAgICAgICAgICA6IGltcGwgeyBXVEZNb3ZlKGltcGwpIH0KLSAgICAgICAgICAgICwg
c3RydWN0dXJlSUQgeyBzdHJ1Y3R1cmVJRCB9Ci0gICAgICAgICAgICAsIHJlc3VsdCB7IHJlc3Vs
dCB9Ci0gICAgICAgIHsKLSAgICAgICAgfQotCi0gICAgICAgIEVudHJ5JiBvcGVyYXRvcj0oRW50
cnkmJiBvdGhlcikgPSBkZWZhdWx0OwotI2VuZGlmCi0KICAgICAgICAgUmVmUHRyPFVuaXF1ZWRT
dHJpbmdJbXBsPiBpbXBsOwogICAgICAgICBTdHJ1Y3R1cmVJRCBzdHJ1Y3R1cmVJRCB7IDAgfTsK
ICAgICAgICAgYm9vbCByZXN1bHQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV2FzbUZvcm1hdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V2FzbUZvcm1hdC5oCmluZGV4IDhjMDFmYWUxZTMxYzY3MjRkOWY3YmNhZjMwZjZhYmUxMzEwZWE1
ODUuLjU3MmMwMDZkNzc1YzEyZmVjYWVmMGFiMWU1Mzg1ODA2ZWMwZjVhMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Gb3JtYXQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtRm9ybWF0LmgKQEAgLTI3NSwxNCArMjc1LDYgQEAgc3RydWN0
IEludGVybmFsRnVuY3Rpb24gewogLy8gbWVhbnQgYXMgZmFzdCBsb29rdXAgdGFibGVzIGZvciB0
aGVzZSBvcGNvZGVzIGFuZCBkbyBub3Qgb3duIGNvZGUuCiBzdHJ1Y3QgV2FzbVRvV2FzbUltcG9y
dGFibGVGdW5jdGlvbiB7CiAgICAgdXNpbmcgTG9hZExvY2F0aW9uID0gTWFjcm9Bc3NlbWJsZXJD
b2RlUHRyKjsKLSNpZiAhQ09NUElMRVJfU1VQUE9SVFMoTlNETUlfRk9SX0FHR1JFR0FURVMpCi0g
ICAgV2FzbVRvV2FzbUltcG9ydGFibGVGdW5jdGlvbigpID0gZGVmYXVsdDsKLSAgICBXYXNtVG9X
YXNtSW1wb3J0YWJsZUZ1bmN0aW9uKFNpZ25hdHVyZUluZGV4IHNpZ25hdHVyZUluZGV4LCBMb2Fk
TG9jYXRpb24gZW50cnlwb2ludExvYWRMb2NhdGlvbikKLSAgICAgICAgOiBzaWduYXR1cmVJbmRl
eCB7IHNpZ25hdHVyZUluZGV4IH0KLSAgICAgICAgLCBlbnRyeXBvaW50TG9hZExvY2F0aW9uIHsg
ZW50cnlwb2ludExvYWRMb2NhdGlvbiB9Ci0gICAgewotICAgIH0KLSNlbmRpZgogCiAgICAgc3Rh
dGljIHB0cmRpZmZfdCBvZmZzZXRPZkVudHJ5cG9pbnRMb2FkTG9jYXRpb24oKSB7IHJldHVybiBP
QkpFQ1RfT0ZGU0VUT0YoV2FzbVRvV2FzbUltcG9ydGFibGVGdW5jdGlvbiwgZW50cnlwb2ludExv
YWRMb2NhdGlvbik7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBi
L1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5kZXggMzFhNGYzY2IyOWRlZjI4MjM1NmNjZjdm
ZmEwYWQ4NjM5MWYzODYwMi4uYzI2NDc5YzNiNTIwYTA5NTU4OWNhODViMDA1MjZmNDlhYjkyZDYx
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9Db21waWxlci5oCkBAIC0xNDUsMTEgKzE0NSw3IEBACiAjZGVmaW5lIFdURl9DT01QSUxF
Ul9TVVBQT1JUU19FQUJJIDEKICNlbmRpZgogCi0vKiBOb24tc3RhdGljIGRhdGEgbWVtYmVyIGlu
aXRpYWxpemVyIChOU0RNSSkgZm9yIGFnZ3JlZ2F0ZXMgKi8KLQotI2lmIGRlZmluZWQoX19jcHBf
YWdncmVnYXRlX25zZG1pKSAmJiBfX2NwcF9hZ2dyZWdhdGVfbnNkbWkgPj0gMjAxMzA0Ci0jZGVm
aW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19OU0RNSV9GT1JfQUdHUkVHQVRFUyAxCi0jZW5kaWYK
Ky8qIEFTQU5fRU5BQkxFRCBhbmQgU1VQUFJFU1NfQVNBTiAqLwogCiAjZGVmaW5lIEFTQU5fRU5B
QkxFRCBDT01QSUxFUl9IQVNfQ0xBTkdfRkVBVFVSRShhZGRyZXNzX3Nhbml0aXplcikKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCmluZGV4
IDM1YzQ3NzViZGJiOGEzMWU0MDA3NGRjYzhjOWEzZGZmMzNjZjNmZDUuLjAxZmRjOTM3Yzc1MTgx
NTNlMDBiY2NiN2VkNTkxYTU4MTE0NGYyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKQEAgLTMwLDE2ICszMCw2IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9ucyB7Ci0jaWYgIUNPTVBJTEVS
X1NVUFBPUlRTKE5TRE1JX0ZPUl9BR0dSRUdBVEVTKQotICAgIENhY2hlUXVlcnlPcHRpb25zKCkg
PSBkZWZhdWx0OwotICAgIENhY2hlUXVlcnlPcHRpb25zKGJvb2wgaWdub3JlU2VhcmNoLCBib29s
IGlnbm9yZU1ldGhvZCwgYm9vbCBpZ25vcmVWYXJ5LCBTdHJpbmcmJiBjYWNoZU5hbWUpCi0gICAg
ICAgIDogaWdub3JlU2VhcmNoIHsgaWdub3JlU2VhcmNoIH0KLSAgICAgICAgLCBpZ25vcmVNZXRo
b2QgeyBpZ25vcmVNZXRob2QgfQotICAgICAgICAsIGlnbm9yZVZhcnkgeyBpZ25vcmVWYXJ5IH0K
LSAgICAgICAgLCBjYWNoZU5hbWUgeyBXVEZNb3ZlKGNhY2hlTmFtZSkgfQotICAgIHsKLSAgICB9
Ci0jZW5kaWYKICAgICBDYWNoZVF1ZXJ5T3B0aW9ucyBpc29sYXRlZENvcHkoKSBjb25zdCB7IHJl
dHVybiB7IGlnbm9yZVNlYXJjaCwgaWdub3JlTWV0aG9kLCBpZ25vcmVWYXJ5LCBjYWNoZU5hbWUu
aXNvbGF0ZWRDb3B5KCkgfTsgfQogCiAgICAgYm9vbCBpZ25vcmVTZWFyY2ggeyBmYWxzZSB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKaW5kZXggN2YxNzYxMjZjN2EyYjdlZmEzNDdkYjY3ODY0MjU0MmFlYzgzZmZmYS4u
ODdlNWY5Nzg1OWRjMmZlMjczYjQyZjQxMjgyYWM1NjBmMjEzZWNhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBA
IC00NDAsMTIgKzQ0MCw2IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgc3RydWN0IEluc2VydGlv
blR5cGUgewotI2lmICFDT01QSUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVHQVRFUykKLSAg
ICAgICAgSW5zZXJ0aW9uVHlwZShib29sIGNvbm5lY3RlZFRvRG9jdW1lbnQsIGJvb2wgdHJlZVNj
b3BlQ2hhbmdlZCkKLSAgICAgICAgICAgIDogY29ubmVjdGVkVG9Eb2N1bWVudChjb25uZWN0ZWRU
b0RvY3VtZW50KQotICAgICAgICAgICAgLCB0cmVlU2NvcGVDaGFuZ2VkKHRyZWVTY29wZUNoYW5n
ZWQpCi0gICAgICAgIHsgfQotI2VuZGlmCiAgICAgICAgIGJvb2wgY29ubmVjdGVkVG9Eb2N1bWVu
dCB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgdHJlZVNjb3BlQ2hhbmdlZCB7IGZhbHNlIH07CiAg
ICAgfTsKQEAgLTQ1NSwxMiArNDQ5LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRG
aW5pc2hJbnNlcnRpbmdOb2RlKCkgeyB9CiAKICAgICBzdHJ1Y3QgUmVtb3ZhbFR5cGUgewotI2lm
ICFDT01QSUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVHQVRFUykKLSAgICAgICAgUmVtb3Zh
bFR5cGUoYm9vbCBkaXNjb25uZWN0ZWRGcm9tRG9jdW1lbnQsIGJvb2wgdHJlZVNjb3BlQ2hhbmdl
ZCkKLSAgICAgICAgICAgIDogZGlzY29ubmVjdGVkRnJvbURvY3VtZW50KGRpc2Nvbm5lY3RlZEZy
b21Eb2N1bWVudCkKLSAgICAgICAgICAgICwgdHJlZVNjb3BlQ2hhbmdlZCh0cmVlU2NvcGVDaGFu
Z2VkKQotICAgICAgICB7IH0KLSNlbmRpZgogICAgICAgICBib29sIGRpc2Nvbm5lY3RlZEZyb21E
b2N1bWVudCB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgdHJlZVNjb3BlQ2hhbmdlZCB7IGZhbHNl
IH07CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1N0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCmluZGV4
IDEyMzE5ZmQyZDU1ZWRiNjBjYzVmZmQzZGQ3YzUwMDk1MTRiNGQ5NjEuLmJlYWQxNGUyYzBjYWI2
YjYyYjlmYTI4MjI4MmE3MWMxODg0YmY4OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzU3R5bGUuaApAQCAtNzAsMTQgKzcwLDYgQEAgcHJpdmF0ZToKICAgICBzdHJ1Y3QgSW52
YWxpZCB7IH07CiAKICAgICBzdHJ1Y3QgQ01ZS0FDb2xvciB7Ci0jaWYgIUNPTVBJTEVSX1NVUFBP
UlRTKE5TRE1JX0ZPUl9BR0dSRUdBVEVTKQotICAgICAgICBDTVlLQUNvbG9yKCkgPSBkZWZhdWx0
OwotICAgICAgICBDTVlLQUNvbG9yKENvbG9yIGNvbG9yLCBmbG9hdCBjeWFuLCBmbG9hdCBtYWdl
bnRhLCBmbG9hdCB5ZWxsb3csIGZsb2F0IGJsYWNrLCBmbG9hdCBhbHBoYSkKLSAgICAgICAgICAg
IDogY29sb3IoY29sb3IpLCBjKGN5YW4pLCBtKG1hZ2VudGEpLCB5KHllbGxvdyksIGsoYmxhY2sp
LCBhKGFscGhhKQotICAgICAgICB7Ci0gICAgICAgIH0KLSNlbmRpZgotCiAgICAgICAgIENvbG9y
IGNvbG9yOwogICAgICAgICBmbG9hdCBjIHsgMCB9OwogICAgICAgICBmbG9hdCBtIHsgMCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggMDdlY2UyNmNhYzhkY2FmMzlmNDJjN2Nm
MzNlMjFkYTExYjQ2ZTFkZC4uMmVlYzYxZDFlOTFmNWY1OTdlNGNiOGZjYzZkNjU4NjA1ZTM2NjJl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0xNTgsMTQgKzE1OCw2IEBAIHB1
YmxpYzoKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgc3RydWN0IERyYWdUYXJnZXRS
ZXNwb25zZSB7Ci0jaWYgIUNPTVBJTEVSX1NVUFBPUlRTKE5TRE1JX0ZPUl9BR0dSRUdBVEVTKQot
ICAgICAgICBEcmFnVGFyZ2V0UmVzcG9uc2UoKSA9IGRlZmF1bHQ7Ci0gICAgICAgIERyYWdUYXJn
ZXRSZXNwb25zZShib29sIGFjY2VwdCwgc3RkOjpvcHRpb25hbDxEcmFnT3BlcmF0aW9uPiBvcGVy
YXRpb24pCi0gICAgICAgICAgICA6IGFjY2VwdChhY2NlcHQpCi0gICAgICAgICAgICAsIG9wZXJh
dGlvbihvcGVyYXRpb24pCi0gICAgICAgIHsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGJv
b2wgYWNjZXB0IHsgZmFsc2UgfTsKICAgICAgICAgc3RkOjpvcHRpb25hbDxEcmFnT3BlcmF0aW9u
PiBvcGVyYXRpb247CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCBlZTBlZTFiZTU4MzhlNzFlY2E0
MzAzNzBjMGIyZmU1ZDQ0ZTMwZTdkLi4wNTAwNGVmNzJjOWIyZDY2MTA5NGNlY2M0OTg3NzBmNzRi
MmZhY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmlt
YXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NT
QW5pbWF0aW9uQ29udHJvbGxlci5oCkBAIC00MywxMyArNDMsNiBAQCBjbGFzcyBMYXlvdXRSZWN0
OwogY2xhc3MgUmVuZGVyRWxlbWVudDsKIAogc3RydWN0IEFuaW1hdGlvblVwZGF0ZSB7Ci0jaWYg
IUNPTVBJTEVSX1NVUFBPUlRTKE5TRE1JX0ZPUl9BR0dSRUdBVEVTKQotICAgIEFuaW1hdGlvblVw
ZGF0ZSgpID0gZGVmYXVsdDsKLSAgICBBbmltYXRpb25VcGRhdGUoc3RkOjp1bmlxdWVfcHRyPFJl
bmRlclN0eWxlPiBzdHlsZSwgYm9vbCBzdGF0ZUNoYW5nZWQpCi0gICAgICAgIDogc3R5bGUoV1RG
TW92ZShzdHlsZSkpCi0gICAgICAgICwgc3RhdGVDaGFuZ2VkKHN0YXRlQ2hhbmdlZCkKLSAgICB7
IH0KLSNlbmRpZgogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGU7CiAgICAg
Ym9vbCBzdGF0ZUNoYW5nZWQgeyBmYWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rpb25BbGdvcml0aG0uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rpb25BbGdvcml0aG0uaAppbmRleCA2
YzY2MDc5N2Q3NWMyMDc1ZGQ2NWZkYmYyZDRlZWNmNmZiNjU1ZGE1Li5jNDdiMmFhOTQwMGEyNzdl
NTIyNTVmYzg3MjI0NTE1ZGQyYzE1NGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0aW9uQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oCkBAIC0zMzcsMTcg
KzMzNyw2IEBAIHN0cnVjdCBGb250U2VsZWN0aW9uUmVxdWVzdCB7CiAgICAgewogICAgICAgICBy
ZXR1cm4gV1RGOjp0aWUod2VpZ2h0LCB3aWR0aCwgc2xvcGUpOwogICAgIH0KLQotI2lmICFDT01Q
SUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVHQVRFUykKLSAgICBGb250U2VsZWN0aW9uUmVx
dWVzdCgpID0gZGVmYXVsdDsKLQotICAgIGNvbnN0ZXhwciBGb250U2VsZWN0aW9uUmVxdWVzdChW
YWx1ZSB3ZWlnaHQsIFZhbHVlIHdpZHRoLCBWYWx1ZSBzbG9wZSkKLSAgICAgICAgOiB3ZWlnaHQo
d2VpZ2h0KQotICAgICAgICAsIHdpZHRoKHdpZHRoKQotICAgICAgICAsIHNsb3BlKHNsb3BlKQot
ICAgIHsKLSAgICB9Ci0jZW5kaWYKIH07CiAKIGNvbnN0ZXhwciBib29sIG9wZXJhdG9yPT0oY29u
c3QgRm9udFNlbGVjdGlvblJlcXVlc3QmIGEsIGNvbnN0IEZvbnRTZWxlY3Rpb25SZXF1ZXN0JiBi
KQpAQCAtMzg1LDE3ICszNzQsNiBAQCBzdHJ1Y3QgRm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcyB7
CiAgICAgUmFuZ2Ugd2VpZ2h0IHsgbm9ybWFsV2VpZ2h0VmFsdWUoKSB9OwogICAgIFJhbmdlIHdp
ZHRoIHsgbm9ybWFsU3RyZXRjaFZhbHVlKCkgfTsKICAgICBSYW5nZSBzbG9wZSB7IG5vcm1hbEl0
YWxpY1ZhbHVlKCkgfTsKLQotI2lmICFDT01QSUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVH
QVRFUykKLSAgICBGb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzKCkgPSBkZWZhdWx0OwotCi0gICAg
Y29uc3RleHByIEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMoUmFuZ2Ugd2VpZ2h0LCBSYW5nZSB3
aWR0aCwgUmFuZ2Ugc2xvcGUpCi0gICAgICAgIDogd2VpZ2h0KHdlaWdodCkKLSAgICAgICAgLCB3
aWR0aCh3aWR0aCkKLSAgICAgICAgLCBzbG9wZShzbG9wZSkKLSAgICB7Ci0gICAgfQotI2VuZGlm
CiB9OwogCiBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEZvbnRTZWxlY3Rpb25DYXBh
YmlsaXRpZXMmIGEsIGNvbnN0IEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMmIGIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9JY2VDYW5kaWRhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0ZS5oCmluZGV4
IGUzMDJhMWQxZGRkNDk3MTRmOTg3N2ZlYzNmMmEyMzkwZTBjNDU3YzkuLmQ4NGVkYmZkNmJmN2Uy
YTQyM2RmNjJhNjVhNzgxMTFmZWU3OWU2NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0ZS5oCkBAIC0zNywyMyArMzcsNiBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgSWNlQ2FuZGlkYXRlIHsKLSNpZiAhQ09NUElMRVJf
U1VQUE9SVFMoTlNETUlfRk9SX0FHR1JFR0FURVMpCi0gICAgSWNlQ2FuZGlkYXRlKCkgPSBkZWZh
dWx0OwotICAgIEljZUNhbmRpZGF0ZShTdHJpbmcmJiB0eXBlLCBTdHJpbmcmJiBmb3VuZGF0aW9u
LCB1bnNpZ25lZCBjb21wb25lbnRJZCwgU3RyaW5nJiYgdHJhbnNwb3J0LCB1bnNpZ25lZCBsb25n
IHByaW9yaXR5LCBTdHJpbmcmJiBhZGRyZXNzLCB1bnNpZ25lZCBwb3J0LCBTdHJpbmcmJiB0Y3BU
eXBlLCBTdHJpbmcmJiByZWxhdGVkQWRkcmVzcywgdW5zaWduZWQgcmVsYXRlZFBvcnQpCi0gICAg
ICAgIDogdHlwZSB7IFdURk1vdmUodHlwZSkgfQotICAgICAgICAsIGZvdW5kYXRpb24geyBXVEZN
b3ZlKGZvdW5kYXRpb24pIH0KLSAgICAgICAgLCBjb21wb25lbnRJZCB7IGNvbXBvbmVudElkIH0K
LSAgICAgICAgLCB0cmFuc3BvcnQgeyBXVEZNb3ZlKHRyYW5zcG9ydCkgfQotICAgICAgICAsIHBy
aW9yaXR5IHsgcHJpb3JpdHkgfQotICAgICAgICAsIGFkZHJlc3MgeyBXVEZNb3ZlKGFkZHJlc3Mp
IH0KLSAgICAgICAgLCBwb3J0IHsgcG9ydCB9Ci0gICAgICAgICwgdGNwVHlwZSB7IFdURk1vdmUo
dGNwVHlwZSkgfQotICAgICAgICAsIHJlbGF0ZWRBZGRyZXNzIHsgV1RGTW92ZShyZWxhdGVkQWRk
cmVzcykgfQotICAgICAgICAsIHJlbGF0ZWRQb3J0IHsgcmVsYXRlZFBvcnQgfQotICAgIHsKLSAg
ICB9Ci0jZW5kaWYKLQogICAgIFN0cmluZyB0eXBlOwogICAgIFN0cmluZyBmb3VuZGF0aW9uOwog
ICAgIHVuc2lnbmVkIGNvbXBvbmVudElkIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdXaXRoRGlyZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1N0cmluZ1dpdGhEaXJlY3Rpb24uaAppbmRleCBjODYwNDI5OTQ2MWFlMDNh
ZWRhOWYyMTAxNjM2MjY1ODc4NDNkZjFmLi5kY2YzY2JjZDM5OGYyMzMyYjdkZWJiYjVlODIzYmVi
OTIzYjUxZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmlu
Z1dpdGhEaXJlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmlu
Z1dpdGhEaXJlY3Rpb24uaApAQCAtNDYsMTQgKzQ2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Ly8gdG8gdGhlIHN0cmluZy4KIAogc3RydWN0IFN0cmluZ1dpdGhEaXJlY3Rpb24gewotI2lmICFD
T01QSUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVHQVRFUykKLSAgICBTdHJpbmdXaXRoRGly
ZWN0aW9uKCkgPSBkZWZhdWx0OwotICAgIFN0cmluZ1dpdGhEaXJlY3Rpb24oU3RyaW5nIHN0cmlu
ZywgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24pCi0gICAgICAgIDogc3RyaW5nIHsgV1RGTW92ZShz
dHJpbmcpIH0KLSAgICAgICAgLCBkaXJlY3Rpb24geyBkaXJlY3Rpb24gfQotICAgIHsKLSAgICB9
Ci0jZW5kaWYKICAgICBTdHJpbmcgc3RyaW5nOwogICAgIFRleHREaXJlY3Rpb24gZGlyZWN0aW9u
IHsgTFRSIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL01hcmtl
ZFRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9NYXJrZWRUZXh0LmgKaW5kZXggN2E3
NjNiYmRlMmMxMDgyMWZjYzhkZjVmODdmZjkwMjE4YzJhZTc1Yy4uOGJjNjJmM2JmNmI3NjZmM2Zk
ZGY0NmFjOTRkMjc4OGI0NThkNjNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL01hcmtlZFRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTWFya2VkVGV4
dC5oCkBAIC00NywxNiArNDcsNiBAQCBzdHJ1Y3QgTWFya2VkVGV4dCB7CiAgICAgICAgIFNlbGVj
dGlvbiwKICAgICAgICAgRHJhZ2dlZENvbnRlbnQsCiAgICAgfTsKLSNpZiAhQ09NUElMRVJfU1VQ
UE9SVFMoTlNETUlfRk9SX0FHR1JFR0FURVMpCi0gICAgTWFya2VkVGV4dCgpID0gZGVmYXVsdDsK
LSAgICBNYXJrZWRUZXh0KHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQs
IFR5cGUgdHlwZSwgY29uc3QgUmVuZGVyZWREb2N1bWVudE1hcmtlciogbWFya2VyID0gbnVsbHB0
cikKLSAgICAgICAgOiBzdGFydE9mZnNldCB7IHN0YXJ0T2Zmc2V0IH0KLSAgICAgICAgLCBlbmRP
ZmZzZXQgeyBlbmRPZmZzZXQgfQotICAgICAgICAsIHR5cGUgeyB0eXBlIH0KLSAgICAgICAgLCBt
YXJrZXIgeyBtYXJrZXIgfQotICAgIHsKLSAgICB9Ci0jZW5kaWYKICAgICB1bnNpZ25lZCBzdGFy
dE9mZnNldDsKICAgICB1bnNpZ25lZCBlbmRPZmZzZXQ7CiAgICAgVHlwZSB0eXBlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlVXBkYXRlLmgKaW5kZXggMDFhYTk5YmE1MWJhZDdhYzNlOGE3M2IxNzU3ZWIw
NDIyZjBhNzAzZS4uZDlkMThhZjNmM2I0NGY1YWMwN2Q4OGMzM2E1ZmMzMmUxMWI1ZGZjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5oCkBAIC00MywxNSArNDMsNiBAQCBjbGFzcyBUZXh0
OwogbmFtZXNwYWNlIFN0eWxlIHsKIAogc3RydWN0IEVsZW1lbnRVcGRhdGUgewotI2lmICFDT01Q
SUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVHQVRFUykKLSAgICBFbGVtZW50VXBkYXRlKCkg
PSBkZWZhdWx0OwotICAgIEVsZW1lbnRVcGRhdGUoc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxl
PiBzdHlsZSwgQ2hhbmdlIGNoYW5nZSwgYm9vbCByZWNvbXBvc2l0ZUxheWVyKQotICAgICAgICA6
IHN0eWxlIHsgV1RGTW92ZShzdHlsZSkgfQotICAgICAgICAsIGNoYW5nZSB7IGNoYW5nZSB9Ci0g
ICAgICAgICwgcmVjb21wb3NpdGVMYXllciB7IHJlY29tcG9zaXRlTGF5ZXIgfQotICAgIHsKLSAg
ICB9Ci0jZW5kaWYKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IHN0eWxlOwogICAg
IENoYW5nZSBjaGFuZ2UgeyBOb0NoYW5nZSB9OwogICAgIGJvb2wgcmVjb21wb3NpdGVMYXllciB7
IGZhbHNlIH07CkBAIC02MCwxNiArNTEsNiBAQCBzdHJ1Y3QgRWxlbWVudFVwZGF0ZSB7CiBlbnVt
IGNsYXNzIERlc2NlbmRhbnRzVG9SZXNvbHZlIHsgTm9uZSwgQ2hpbGRyZW5XaXRoRXhwbGljaXRJ
bmhlcml0LCBDaGlsZHJlbiwgQWxsIH07CiAKIHN0cnVjdCBFbGVtZW50VXBkYXRlcyB7Ci0jaWYg
IUNPTVBJTEVSX1NVUFBPUlRTKE5TRE1JX0ZPUl9BR0dSRUdBVEVTKQotICAgIEVsZW1lbnRVcGRh
dGVzKCkgPSBkZWZhdWx0OwotICAgIEVsZW1lbnRVcGRhdGVzKEVsZW1lbnRVcGRhdGUgdXBkYXRl
LCBEZXNjZW5kYW50c1RvUmVzb2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSwgc3RkOjpvcHRpb25h
bDxFbGVtZW50VXBkYXRlPiBiZWZvcmVQc2V1ZG9FbGVtZW50VXBkYXRlLCBzdGQ6Om9wdGlvbmFs
PEVsZW1lbnRVcGRhdGU+IGFmdGVyUHNldWRvRWxlbWVudFVwZGF0ZSkKLSAgICAgICAgOiB1cGRh
dGUgeyBXVEZNb3ZlKHVwZGF0ZSkgfQotICAgICAgICAsIGRlc2NlbmRhbnRzVG9SZXNvbHZlKGRl
c2NlbmRhbnRzVG9SZXNvbHZlKQotICAgICAgICAsIGJlZm9yZVBzZXVkb0VsZW1lbnRVcGRhdGUg
eyBXVEZNb3ZlKGJlZm9yZVBzZXVkb0VsZW1lbnRVcGRhdGUpIH0KLSAgICAgICAgLCBhZnRlclBz
ZXVkb0VsZW1lbnRVcGRhdGUgeyBXVEZNb3ZlKGFmdGVyUHNldWRvRWxlbWVudFVwZGF0ZSkgfQot
ICAgIHsKLSAgICB9Ci0jZW5kaWYKICAgICBFbGVtZW50VXBkYXRlIHVwZGF0ZTsKICAgICBEZXNj
ZW5kYW50c1RvUmVzb2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSB7IERlc2NlbmRhbnRzVG9SZXNv
bHZlOjpOb25lIH07CiAgICAgc3RkOjpvcHRpb25hbDxFbGVtZW50VXBkYXRlPiBiZWZvcmVQc2V1
ZG9FbGVtZW50VXBkYXRlOwpAQCAtNzcsMTYgKzU4LDYgQEAgc3RydWN0IEVsZW1lbnRVcGRhdGVz
IHsKIH07CiAKIHN0cnVjdCBUZXh0VXBkYXRlIHsKLSNpZiAhQ09NUElMRVJfU1VQUE9SVFMoTlNE
TUlfRk9SX0FHR1JFR0FURVMpCi0gICAgVGV4dFVwZGF0ZSgpID0gZGVmYXVsdDsKLSAgICBUZXh0
VXBkYXRlKHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuZ3RoLCBzdGQ6Om9wdGlvbmFsPHN0
ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4+IGluaGVyaXRlZERpc3BsYXlDb250ZW50c1N0eWxl
KQotICAgICAgICA6IG9mZnNldCB7IG9mZnNldCB9Ci0gICAgICAgICwgbGVuZ3RoIHsgbGVuZ3Ro
IH0KLSAgICAgICAgLCBpbmhlcml0ZWREaXNwbGF5Q29udGVudHNTdHlsZSB7IFdURk1vdmUoaW5o
ZXJpdGVkRGlzcGxheUNvbnRlbnRzU3R5bGUpIH0KLSAgICB7Ci0gICAgfQotI2VuZGlmCi0KICAg
ICB1bnNpZ25lZCBvZmZzZXQgeyAwIH07CiAgICAgdW5zaWduZWQgbGVuZ3RoIHsgc3RkOjpudW1l
cmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpIH07CiAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnVu
aXF1ZV9wdHI8UmVuZGVyU3R5bGU+PiBpbmhlcml0ZWREaXNwbGF5Q29udGVudHNTdHlsZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmggYi9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0JQbGF0Zm9ybS5oCmluZGV4IDAyODYyM2UwYjdlYTRmZmQ4ZGQ5YWJlNDM3
MzVkYjViNzc5NTA5NzkuLjM5NTE2YWMwZDM1MTE1ODNmMTZmMTAyODVlZGZmOGM4ZDU3ZTRkMjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmgKKysrIGIvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9CUGxhdGZvcm0uaApAQCAtODEsMTEgKzgxLDYgQEAKIC8qIEJD
T01QSUxFUl9TVVBQT1JUUygpIC0gY2hlY2sgZm9yIGEgY29tcGlsZXIgZmVhdHVyZSAqLwogI2Rl
ZmluZSBCQ09NUElMRVJfU1VQUE9SVFMoRkVBVFVSRSkgKGRlZmluZWQgQkNPTVBJTEVSX1NVUFBP
UlRTXyMjRkVBVFVSRSAmJiBCQ09NUElMRVJfU1VQUE9SVFNfIyNGRUFUVVJFKQogCi0vKiBCQ09N
UElMRVJfU1VQUE9SVFMoTlNETUlfRk9SX0FHR1JFR0FURVMpIC0gY29tcGlsZXIgc3VwcG9ydHMg
bm9uLXN0YXRpYyBkYXRhIG1lbWJlciBpbml0aWFsaXplcnMgZm9yIGFnZ3JlZ2F0ZXMgKi8KLSNp
ZiBkZWZpbmVkKF9fY3BwX2FnZ3JlZ2F0ZV9uc2RtaSkgJiYgX19jcHBfYWdncmVnYXRlX25zZG1p
ID49IDIwMTMwNAotI2RlZmluZSBCQ09NUElMRVJfU1VQUE9SVFNfTlNETUlfRk9SX0FHR1JFR0FU
RVMgMQotI2VuZGlmCi0KIC8qID09PT0gUGxhdGZvcm0gYWRhcHRhdGlvbiBtYWNyb3M6IHRoZXNl
IGRlc2NyaWJlIHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBlbnZpcm9ubWVudC4gPT09PSAqLwog
CiAvKiBCQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGlzdC5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9M
aXN0LmgKaW5kZXggNDgxNzNjODIyMTBhYjBhMzQ2ZjdkYjk3ODJkNjA2M2M4YzcxNDE3Ni4uNjM5
ZWRjOWU0ZjZlY2IzM2EzZmZiY2U1MzEzMGQyMmIyOThhYzJhNiAxMDA2NDQKLS0tIGEvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9MaXN0LmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MaXN0
LmgKQEAgLTMwLDE1ICszMCw2IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIAogdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KIHN0cnVjdCBMaXN0Tm9kZSB7Ci0jaWYgIUJDT01QSUxFUl9TVVBQT1JUUyhOU0RN
SV9GT1JfQUdHUkVHQVRFUykKLSAgICBMaXN0Tm9kZSgpID0gZGVmYXVsdDsKLSAgICBMaXN0Tm9k
ZShMaXN0Tm9kZTxUPiogcHJldiwgTGlzdE5vZGU8VD4qIG5leHQpCi0gICAgICAgIDogcHJldiB7
IHByZXYgfQotICAgICAgICAsIG5leHQgeyBuZXh0IH0KLSAgICB7Ci0gICAgfQotI2VuZGlmCi0K
ICAgICBMaXN0Tm9kZTxUPiogcHJldiB7IG51bGxwdHIgfTsKICAgICBMaXN0Tm9kZTxUPiogbmV4
dCB7IG51bGxwdHIgfTsKIH07CkBAIC00OCwxNCArMzksNiBAQCBjbGFzcyBMaXN0IHsKICAgICBz
dGF0aWNfYXNzZXJ0KHN0ZDo6aXNfdHJpdmlhbGx5X2Rlc3RydWN0aWJsZTxUPjo6dmFsdWUsICJM
aXN0IG11c3QgaGF2ZSBhIHRyaXZpYWwgZGVzdHJ1Y3Rvci4iKTsKIAogICAgIHN0cnVjdCBpdGVy
YXRvciB7Ci0jaWYgIUJDT01QSUxFUl9TVVBQT1JUUyhOU0RNSV9GT1JfQUdHUkVHQVRFUykKLSAg
ICAgICAgaXRlcmF0b3IoKSA9IGRlZmF1bHQ7Ci0gICAgICAgIGl0ZXJhdG9yKExpc3ROb2RlPFQ+
KiBub2RlKQotICAgICAgICAgICAgOiBtX25vZGUobm9kZSkKLSAgICAgICAgewotICAgICAgICB9
Ci0jZW5kaWYKLQogICAgICAgICBUKiBvcGVyYXRvciooKSB7IHJldHVybiBzdGF0aWNfY2FzdDxU
Kj4obV9ub2RlKTsgfQogICAgICAgICBUKiBvcGVyYXRvci0+KCkgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8VCo+KG1fbm9kZSk7IH0KIAo=
</data>
<flag name="review"
          id="356250"
          type_id="1"
          status="+"
          setter="pvollan"
    />
          </attachment>
      

    </bug>

</bugzilla>