<?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>199789</bug_id>
          
          <creation_ts>2019-07-14 15:35:38 -0700</creation_ts>
          <short_desc>[WebGL] Remove software rendering and simplify context creation on macOS</short_desc>
          <delta_ts>2019-07-15 15:31:32 -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>New Bugs</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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1552771</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-14 15:35:38 -0700</bug_when>
    <thetext>[WebGL] Remove software rendering and simplify context creation on macOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552772</commentid>
    <comment_count>1</comment_count>
      <attachid>374096</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-14 15:40:06 -0700</bug_when>
    <thetext>Created attachment 374096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552781</commentid>
    <comment_count>2</comment_count>
      <attachid>374096</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-07-14 17:58:03 -0700</bug_when>
    <thetext>Comment on attachment 374096
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=374096&amp;action=review

&gt; Source/WebCore/ChangeLog:9
&gt; +        We don&apos;t ever want to fall-back to the software renderer. We&apos;d be better
&gt; +        off failing to create the context completely.

Why is this? Why did we support it in the first place?

&gt; Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp:177
&gt; -    ASSERT(m_contexts.contains(context));
&gt; +    if (!m_contexts.contains(context))
&gt; +        return;

What is this change for?

&gt; Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp:212
&gt; +    if (!context)
&gt; +        return;

What is this change for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552954</commentid>
    <comment_count>3</comment_count>
      <attachid>374096</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-15 13:50:23 -0700</bug_when>
    <thetext>Comment on attachment 374096
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=374096&amp;action=review

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        off failing to create the context completely.
&gt; 
&gt; Why is this? Why did we support it in the first place?

Because we thought it was a good idea, but the performance and conformance are not acceptable.

&gt;&gt; Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp:177
&gt;&gt; +        return;
&gt; 
&gt; What is this change for?

If we have a null m_contextObj, we didn&apos;t add ourselves to the GC3DManager. However, the GC3D was still created, so it tries to remove itself from the manager at destruction time.

I should have noted this in the ChangeLog - I&apos;ll add it.

&gt;&gt; Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp:212
&gt;&gt; +        return;
&gt; 
&gt; What is this change for?

This shouldn&apos;t be needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552995</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-15 15:29:04 -0700</bug_when>
    <thetext>Committed r247453: &lt;https://trac.webkit.org/changeset/247453&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552997</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-15 15:31:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/53125394&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374096</attachid>
            <date>2019-07-14 15:40:06 -0700</date>
            <delta_ts>2019-07-14 17:58:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199789-20190715084004.patch</filename>
            <type>text/plain</type>
            <size>20494</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU2NGY5OGJlNTIyYzE3
ODI2Y2YxZTQwYmFkM2ZmZTNkZmFlYTQ3OC4uNDVhNmMxOTE2NmVhY2EwYjMxOWJlNmU4OGY4MmIy
OWQyZjU0YmZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA3LTE0ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIFJlbW92ZSBzb2Z0
d2FyZSByZW5kZXJpbmcgYW5kIHNpbXBsaWZ5IGNvbnRleHQgY3JlYXRpb24gb24gbWFjT1MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTc4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGRvbid0IGV2
ZXIgd2FudCB0byBmYWxsLWJhY2sgdG8gdGhlIHNvZnR3YXJlIHJlbmRlcmVyLiBXZSdkIGJlIGJl
dHRlcgorICAgICAgICBvZmYgZmFpbGluZyB0byBjcmVhdGUgdGhlIGNvbnRleHQgY29tcGxldGVs
eS4KKworICAgICAgICBBbHNvLCB0aGUgbnVtYmVyIG9mIGZhbGwtYmFjayBhdHRlbXB0cyB3ZSB3
ZXJlIG1ha2luZyBiZWZvcmUgaGl0dGluZworICAgICAgICB0aGUgc29mdHdhcmUgcmVuZGVyZXIg
d2FzIG92ZXJraWxsLiBBbGwgaGFyZHdhcmUgd2Ugc3VwcG9ydCBzaG91bGQKKyAgICAgICAgaGFu
ZGxlIGEgMzJicHAgYnVmZmVyLgorCisgICAgICAgIExhc3RseSwgd2UgZG9uJ3Qgd2FudCB0byBz
dXBwb3J0IHN1cGVyc2FtcGxpbmcgLSBtdWx0aXNhbXBsaW5nIG9ubHkuCisKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9T
ZXR0aW5ncy55YW1sOiBSZW1vdmUgZm9yY2VTb2Z0d2FyZVdlYkdMIHNldHRpbmcuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNETWFuYWdlcjo6YWRkQ29udGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRE1hbmFnZXI6OnJlbW92ZUNvbnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjpyZW1vdmVDb250
ZXh0UmVxdWlyaW5nSGlnaFBlcmZvcm1hbmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKToKKyAgICAgICAgKFdlYkNvcmU6OnNl
dFBpeGVsRm9ybWF0KTogRGVsZXRlZC4KKwogMjAxOS0wNy0xNCAgRGVhbiBKYWNrc29uICA8ZGlu
b0BhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBtb3JlIFdlYkdMIHRoaW5ncyBpbnRvIHVuaWZp
ZWQgYnVpbGRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgwMGNhMmMwOThmNDYyOTUwZGUyYWVkYWY3ZDZlMjQwZGVm
YmZmYzguLmMwYTIyNjRmNjIxODRmNzRlYjBhNjJkZTA0NWI3OThhZjhiY2U3NzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDctMTQgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUu
Y29tPgorCisgICAgICAgIFtXZWJHTF0gUmVtb3ZlIHNvZnR3YXJlIHJlbmRlcmluZyBhbmQgc2lt
cGxpZnkgY29udGV4dCBjcmVhdGlvbiBvbiBtYWNPUworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5Nzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGZvcmNlIHNvZnR3YXJlIFdlYkdMIHNldHRp
bmcuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2Vz
U2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdLUHJl
ZmVyZW5jZXNHZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcpOiBEZWxldGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorCiAyMDE5LTA3
LTEzICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgYWNjZXNzaWJpbGl0eSBzdXBwb3J0IHRvIFdLRGF0YUxpc3RTdWdnZXN0aW9uc1ZpZXcuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjI2NTNiMmRkZWU3ZDhmYWU4ZjdlNjk4OTE2
ZGQwMzU1ZjRiN2RmMS4uYjEzNGVjMmQ2MDc4ZTc0ODkzYTE4OTI3ZTliY2Q1NDAxZDQ5ZDc2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA3LTE0
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIFJlbW92
ZSBzb2Z0d2FyZSByZW5kZXJpbmcgYW5kIHNpbXBsaWZ5IGNvbnRleHQgY3JlYXRpb24gb24gbWFj
T1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTc4
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSBmb3JjZSBzb2Z0d2FyZSBXZWJHTCBzZXR0aW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIGZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZ10pOiBEZWxldGVkLgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmc6
XSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZl
cmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxOS0wNy0xMyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIENhbm5vdCBicmluZyB1cCBjdXN0b20gbWVkaWEgY29udHJvbHMg
YXQgYWxsIG9uIHYueW91a3UuY29tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IGM4NWE4ZjQ3YjRlYTI1
Y2E4NTZhMTBhY2Y5M2UyNzU2ZjVhNmJlNjUuLjNlY2U3ZWViNzQyZmFkYjZmZTE4YjMzZWI1YTYx
MzljZWQ0MWJhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC01NjIsOSArNTYyLDYgQEAgc3RkOjp1
bmlxdWVfcHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U+IFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmNyZWF0ZShDYW4KICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlm
IChmcmFtZS0+c2V0dGluZ3MoKS5mb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcoKSkKLSAgICAg
ICAgICAgIGF0dHJpYnV0ZXMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyID0gdHJ1ZTsKLQogICAgICAg
ICBpZiAoZnJhbWUtPnNldHRpbmdzKCkuZm9yY2VXZWJHTFVzZXNMb3dQb3dlcigpKSB7CiAgICAg
ICAgICAgICBpZiAoYXR0cmlidXRlcy5wb3dlclByZWZlcmVuY2UgPT0gR3JhcGhpY3NDb250ZXh0
M0RQb3dlclByZWZlcmVuY2U6OkhpZ2hQZXJmb3JtYW5jZSkKICAgICAgICAgICAgICAgICBMT0co
V2ViR0wsICJPdmVycmlkaW5nIHBvd2VyUHJlZmVyZW5jZSBmcm9tIGhpZ2gtcGVyZm9ybWFuY2Ug
dG8gbG93LXBvd2VyLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDhhNzQxNDc4
N2NjMzBmMzAwYjFlYjYxNDA3NTViMTJjYTBiYWUzZDcuLjIwZjg3N2I0ZmIyMWUzYzRhODcwZWQ3
ZGEyMTY2MjU5MjM5NjM3MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTIyOCw4
ICsyMjgsNiBAQCB3ZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQ6CiAgIGluaXRpYWw6IHRydWUK
IHVuaGFuZGxlZFByb21pc2VSZWplY3Rpb25Ub0NvbnNvbGVFbmFibGVkOgogICBpbml0aWFsOiB0
cnVlCi1mb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmc6Ci0gIGluaXRpYWw6IGZhbHNlCiBmb3Jj
ZVdlYkdMVXNlc0xvd1Bvd2VyOgogICBpbml0aWFsOiBmYWxzZQogYWNjZWxlcmF0ZWQyZENhbnZh
c0VuYWJsZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzREF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEQXR0cmlidXRlcy5oCmluZGV4IDMyYTdiYmIxOGY2MDAw
ODBlNjM0YmIyYTkyODkxYmMxMGJiOThiNTkuLjk3ZmYxN2MxZmUyOTIxYTIyOTEzZjJmYmI2NDIw
MjBhODgxZmUzY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dDNEQXR0cmlidXRlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEQXR0cmlidXRlcy5oCkBAIC00Niw3ICs0Niw2
IEBAIHN0cnVjdCBHcmFwaGljc0NvbnRleHQzREF0dHJpYnV0ZXMgewogICAgIFBvd2VyUHJlZmVy
ZW5jZSBwb3dlclByZWZlcmVuY2UgeyBQb3dlclByZWZlcmVuY2U6OkRlZmF1bHQgfTsKIAogICAg
IC8vIEFkZGl0aW9uYWwgYXR0cmlidXRlcy4KLSAgICBib29sIGZvcmNlU29mdHdhcmVSZW5kZXJl
ciB7IGZhbHNlIH07CiAgICAgYm9vbCBzaGFyZVJlc291cmNlcyB7IHRydWUgfTsKICAgICBib29s
IGlzV2ViR0wyIHsgZmFsc2UgfTsKICAgICBib29sIG5vRXh0ZW5zaW9ucyB7IGZhbHNlIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0RNYW5hZ2VyLmNwcAppbmRleCAwODgwMDA4ZTRkOGI2ZjI1OGFhMWMyNTJiODVm
Yjc2ZTkzODZjOWI2Li44OWUzZTU5ZTNiYWQ0NTBmYTQyODljNjMyNWZmMWQ4MDBiM2Q5ODk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNETWFuYWdlci5jcHAKQEAgLTE2MCw3ICsxNjAsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNETWFuYWdlcjo6YWRkQ29udGV4dChHcmFwaGljc0NvbnRleHQzRCogY29udGV4
dCwgSG9zdFdpbmRvdwogICAgIEFTU0VSVChjb250ZXh0KTsKICAgICBpZiAoIWNvbnRleHQpCiAg
ICAgICAgIHJldHVybjsKLSAgICAKKwogI2lmIFBMQVRGT1JNKE1BQykgJiYgIUVOQUJMRShXRUJQ
Uk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKICAgICBpZiAoIW1fY29udGV4dHMuc2l6ZSgp
KQogICAgICAgICBDR0Rpc3BsYXlSZWdpc3RlclJlY29uZmlndXJhdGlvbkNhbGxiYWNrKGRpc3Bs
YXlXYXNSZWNvbmZpZ3VyZWQsIG51bGxwdHIpOwpAQCAtMTczLDcgKzE3Myw4IEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0M0RNYW5hZ2VyOjphZGRDb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEKiBjb250
ZXh0LCBIb3N0V2luZG93CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RNYW5hZ2VyOjpyZW1vdmVD
b250ZXh0KEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogewotICAgIEFTU0VSVChtX2NvbnRl
eHRzLmNvbnRhaW5zKGNvbnRleHQpKTsKKyAgICBpZiAoIW1fY29udGV4dHMuY29udGFpbnMoY29u
dGV4dCkpCisgICAgICAgIHJldHVybjsKICAgICBtX2NvbnRleHRzLnJlbW92ZUZpcnN0KGNvbnRl
eHQpOwogICAgIG1fY29udGV4dFdpbmRvd01hcC5yZW1vdmUoY29udGV4dCk7CiAgICAgcmVtb3Zl
Q29udGV4dFJlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZShjb250ZXh0KTsKQEAgLTIwNyw2ICsyMDgs
OSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNETWFuYWdlcjo6YWRkQ29udGV4dFJlcXVpcmluZ0hp
Z2hQZXJmb3JtYW5jZShHcmFwaGljc0NvbnRleAogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDNETWFu
YWdlcjo6cmVtb3ZlQ29udGV4dFJlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZShHcmFwaGljc0NvbnRl
eHQzRCogY29udGV4dCkKIHsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybjsKKwog
ICAgIGlmICghbV9jb250ZXh0c1JlcXVpcmluZ0hpZ2hQZXJmb3JtYW5jZS5jb250YWlucyhjb250
ZXh0KSkKICAgICAgICAgcmV0dXJuOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2Eu
bW0KaW5kZXggMDc1N2ZhNjY4YzMyMzAzZmY3YWI0YzAxNDVjZTM3MzcwM2QwYTEzNy4uODkyYjRh
OThjMDA3YjZmOTcwYTM2ODYxYmU5MTcxNDhiYjA0NjcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHQzRENvY29hLm1tCkBAIC05OCw1NyArOTgsNiBAQCBwdWJsaWM6CiAgICAgfkdyYXBoaWNzQ29u
dGV4dDNEUHJpdmF0ZSgpIHsgfQogfTsKIAotI2lmIFVTRShPUEVOR0wpCi0KLXN0YXRpYyB2b2lk
IHNldFBpeGVsRm9ybWF0KFZlY3RvcjxDR0xQaXhlbEZvcm1hdEF0dHJpYnV0ZT4mIGF0dHJpYnMs
IGludCBjb2xvckJpdHMsIGludCBkZXB0aEJpdHMsIGJvb2wgYWNjZWxlcmF0ZWQsIGJvb2wgc3Vw
ZXJzYW1wbGUsIGJvb2wgY2xvc2VzdCwgYm9vbCBhbnRpYWxpYXMsIGJvb2wgaXNXZWJHTDIsIGJv
b2wgYWxsb3dPZmZsaW5lUmVuZGVyZXJzKQotewotICAgIGF0dHJpYnMuY2xlYXIoKTsKLSAgICAK
LSAgICBhdHRyaWJzLmFwcGVuZChrQ0dMUEZBQ29sb3JTaXplKTsKLSAgICBhdHRyaWJzLmFwcGVu
ZChzdGF0aWNfY2FzdDxDR0xQaXhlbEZvcm1hdEF0dHJpYnV0ZT4oY29sb3JCaXRzKSk7Ci0gICAg
YXR0cmlicy5hcHBlbmQoa0NHTFBGQURlcHRoU2l6ZSk7Ci0gICAgYXR0cmlicy5hcHBlbmQoc3Rh
dGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KGRlcHRoQml0cykpOwotCi0gICAgLy8g
VGhpcyBhdHRyaWJ1dGUsIHdoaWxlIG1lbnRpb25pbmcgb2ZmbGluZSByZW5kZXJlcnMsIGlzIGFj
dHVhbGx5Ci0gICAgLy8gYWxsb3dpbmcgdXMgdG8gcmVxdWVzdCB0aGUgaW50ZWdyYXRlZCBncmFw
aGljcyBvbiBhIGR1YWwgR1BVCi0gICAgLy8gc3lzdGVtLCBhbmQgbm90IGZvcmNlIHRoZSBkaXNj
cmV0ZSBHUFUuCi0gICAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5
L21hYy90ZWNobm90ZXMvdG4yMjI5L19pbmRleC5odG1sCi0gICAgaWYgKGFsbG93T2ZmbGluZVJl
bmRlcmVycykKLSAgICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQUFsbG93T2ZmbGluZVJlbmRl
cmVycyk7Ci0KLSAgICBpZiAoYWNjZWxlcmF0ZWQpCi0gICAgICAgIGF0dHJpYnMuYXBwZW5kKGtD
R0xQRkFBY2NlbGVyYXRlZCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGF0dHJpYnMuYXBwZW5kKGtD
R0xQRkFSZW5kZXJlcklEKTsKLSAgICAgICAgYXR0cmlicy5hcHBlbmQoc3RhdGljX2Nhc3Q8Q0dM
UGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KGtDR0xSZW5kZXJlckdlbmVyaWNGbG9hdElEKSk7Ci0gICAg
fQotICAgICAgICAKLSAgICBpZiAoc3VwZXJzYW1wbGUgJiYgIWFudGlhbGlhcykKLSAgICAgICAg
YXR0cmlicy5hcHBlbmQoa0NHTFBGQVN1cGVyc2FtcGxlKTsKLQotICAgIGlmIChjbG9zZXN0KQot
ICAgICAgICBhdHRyaWJzLmFwcGVuZChrQ0dMUEZBQ2xvc2VzdFBvbGljeSk7Ci0KLSAgICBpZiAo
YW50aWFsaWFzKSB7Ci0gICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFNdWx0aXNhbXBsZSk7
Ci0gICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFTYW1wbGVCdWZmZXJzKTsKLSAgICAgICAg
YXR0cmlicy5hcHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KDEpKTsK
LSAgICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQVNhbXBsZXMpOwotICAgICAgICBhdHRyaWJz
LmFwcGVuZChzdGF0aWNfY2FzdDxDR0xQaXhlbEZvcm1hdEF0dHJpYnV0ZT4oNCkpOwotICAgIH0K
LQotICAgIGlmIChpc1dlYkdMMikgewotICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBiYWNr
aW5nIGEgV2ViR0wyIEdyYXBoaWNzQ29udGV4dDNEIHdpdGggYSBPcGVuR0wgNCBjb250ZXh0LCB3
ZSBzaG91bGQgaW5zdGVhZCBiYWNrIGl0IHdpdGggQU5HTEUuCi0gICAgICAgIC8vIFVzZSBhbiBP
cGVuR0wgNCBjb250ZXh0IGZvciBub3cgdW50aWwgdGhlIEFOR0xFIGJhY2tlbmQgaXMgcmVhZHku
Ci0gICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFPcGVuR0xQcm9maWxlKTsKLSAgICAgICAg
YXR0cmlicy5hcHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KGtDR0xP
R0xQVmVyc2lvbl9HTDRfQ29yZSkpOwotICAgIH0KLSAgICAgICAgCi0gICAgYXR0cmlicy5hcHBl
bmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KDApKTsKLX0KLQotI2VuZGlm
IC8vIFVTRShPUEVOR0wpCi0KIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gR3JhcGhpY3NDb250
ZXh0M0Q6OmNyZWF0ZShHcmFwaGljc0NvbnRleHQzREF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaW5k
b3cqIGhvc3RXaW5kb3csIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJTdHlsZSByZW5kZXJTdHls
ZSkKIHsKICAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBv
cnQgcmVuZGVyaW5nIGRpcmVjdGx5IHRvIHRoZSBIb3N0V2luZG93LgpAQCAtMjg5LDU2ICsyMzgs
NTEgQEAgR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKEdyYXBoaWNzQ29udGV4
dDNEQXR0cmlidXRlcyBhdHRycywgSG9zdFdpbmQKICAgICBpZiAobV9hdHRycy5pc1dlYkdMMikK
ICAgICAgICAgOjpnbEVuYWJsZShHcmFwaGljc0NvbnRleHQzRDo6UFJJTUlUSVZFX1JFU1RBUlRf
RklYRURfSU5ERVgpOwogI2VsaWYgVVNFKE9QRU5HTCkKLSAgICBWZWN0b3I8Q0dMUGl4ZWxGb3Jt
YXRBdHRyaWJ1dGU+IGF0dHJpYnM7Ci0gICAgQ0dMUGl4ZWxGb3JtYXRPYmogcGl4ZWxGb3JtYXRP
YmogPSAwOwotICAgIEdMaW50IG51bVBpeGVsRm9ybWF0cyA9IDA7Ci0gICAgCisKICNpZiBIQVZF
KEFQUExFX0dSQVBISUNTX0NPTlRST0wpCiAgICAgbV9wb3dlclByZWZlcmVuY2VVc2VkRm9yQ3Jl
YXRpb24gPSAoaGFzTG93QW5kSGlnaFBvd2VyR1BVcygpICYmIGF0dHJzLnBvd2VyUHJlZmVyZW5j
ZSA9PSBHcmFwaGljc0NvbnRleHQzRFBvd2VyUHJlZmVyZW5jZTo6SGlnaFBlcmZvcm1hbmNlKSA/
IEdyYXBoaWNzQ29udGV4dDNEUG93ZXJQcmVmZXJlbmNlOjpIaWdoUGVyZm9ybWFuY2UgOiBHcmFw
aGljc0NvbnRleHQzRFBvd2VyUHJlZmVyZW5jZTo6RGVmYXVsdDsKICNlbHNlCiAgICAgbV9wb3dl
clByZWZlcmVuY2VVc2VkRm9yQ3JlYXRpb24gPSBHcmFwaGljc0NvbnRleHQzRFBvd2VyUHJlZmVy
ZW5jZTo6RGVmYXVsdDsKICNlbmRpZgogCi0gICAgLy8gSWYgd2UncmUgY29uZmlndXJlZCB0byBk
ZW1hbmQgdGhlIHNvZnR3YXJlIHJlbmRlcmVyLCB3ZSdsbAotICAgIC8vIGRvIHNvLiBXZSBhdHRl
bXB0IHRvIGNyZWF0ZSBjb250ZXh0cyBpbiB0aGlzIG9yZGVyOgotICAgIC8vCi0gICAgLy8gMSkg
MzIgYml0IFJHQkEvMzIgYml0IGRlcHRoL3N1cGVyc2FtcGxlZAotICAgIC8vIDIpIDMyIGJpdCBS
R0JBLzMyIGJpdCBkZXB0aAotICAgIC8vIDMpIDMyIGJpdCBSR0JBLzE2IGJpdCBkZXB0aAotICAg
IC8vCi0gICAgLy8gSWYgd2Ugd2VyZSBub3QgZm9yY2VkIGludG8gc29mdHdhcmUgbW9kZSBhbHJl
YWR5LCBvdXIgZmluYWwgYXR0ZW1wdCBpcwotICAgIC8vIHRvIHRyeSB0aGF0OgotICAgIC8vCi0g
ICAgLy8gNCkgY2xvc2VzdCB0byAzMiBiaXQgUkdCQS8xNiBiaXQgZGVwdGgvc29mdHdhcmUgcmVu
ZGVyZXIKLSAgICAvLwotICAgIC8vIElmIG5vbmUgb2YgdGhhdCB3b3Jrcywgd2UgZmFpbCBhbmQg
bGVhdmUgbV9jb250ZXh0T2JqIGFzIG51bGxwdHIuCi0KICAgICBib29sIHVzZU11bHRpc2FtcGxp
bmcgPSBtX2F0dHJzLmFudGlhbGlhczsKIAotICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMy
LCAzMiwgIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciwgdHJ1ZSwgZmFsc2UsIHVzZU11bHRp
c2FtcGxpbmcsIGF0dHJzLmlzV2ViR0wyLCBhbGxvd09mZmxpbmVSZW5kZXJlcnMoKSk7Ci0gICAg
Q0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5kYXRhKCksICZwaXhlbEZvcm1hdE9iaiwgJm51
bVBpeGVsRm9ybWF0cyk7CisgICAgVmVjdG9yPENHTFBpeGVsRm9ybWF0QXR0cmlidXRlPiBhdHRy
aWJzOworICAgIENHTFBpeGVsRm9ybWF0T2JqIHBpeGVsRm9ybWF0T2JqID0gMDsKKyAgICBHTGlu
dCBudW1QaXhlbEZvcm1hdHMgPSAwOwogCi0gICAgaWYgKCFudW1QaXhlbEZvcm1hdHMpIHsKLSAg
ICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9yY2VTb2Z0d2Fy
ZVJlbmRlcmVyLCB0cnVlLCBmYWxzZSwgdXNlTXVsdGlzYW1wbGluZywgYXR0cnMuaXNXZWJHTDIs
IGFsbG93T2ZmbGluZVJlbmRlcmVycygpKTsKLSAgICAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQo
YXR0cmlicy5kYXRhKCksICZwaXhlbEZvcm1hdE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7CisgICAg
YXR0cmlicy5hcHBlbmQoa0NHTFBGQUFjY2VsZXJhdGVkKTsKKyAgICBhdHRyaWJzLmFwcGVuZChr
Q0dMUEZBQ29sb3JTaXplKTsKKyAgICBhdHRyaWJzLmFwcGVuZChzdGF0aWNfY2FzdDxDR0xQaXhl
bEZvcm1hdEF0dHJpYnV0ZT4oMzIpKTsKKyAgICBhdHRyaWJzLmFwcGVuZChrQ0dMUEZBRGVwdGhT
aXplKTsKKyAgICBhdHRyaWJzLmFwcGVuZChzdGF0aWNfY2FzdDxDR0xQaXhlbEZvcm1hdEF0dHJp
YnV0ZT4oMzIpKTsKIAotICAgICAgICBpZiAoIW51bVBpeGVsRm9ybWF0cykgewotICAgICAgICAg
ICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJl
bmRlcmVyLCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLmlzV2ViR0wyLCBh
bGxvd09mZmxpbmVSZW5kZXJlcnMoKSk7Ci0gICAgICAgICAgICBDR0xDaG9vc2VQaXhlbEZvcm1h
dChhdHRyaWJzLmRhdGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKKyAg
ICAvLyBUaGlzIGF0dHJpYnV0ZSwgd2hpbGUgbWVudGlvbmluZyBvZmZsaW5lIHJlbmRlcmVycywg
aXMgYWN0dWFsbHkKKyAgICAvLyBhbGxvd2luZyB1cyB0byByZXF1ZXN0IHRoZSBpbnRlZ3JhdGVk
IGdyYXBoaWNzIG9uIGEgZHVhbCBHUFUKKyAgICAvLyBzeXN0ZW0sIGFuZCBub3QgZm9yY2UgdGhl
IGRpc2NyZXRlIEdQVS4KKyAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xp
YnJhcnkvbWFjL3RlY2hub3Rlcy90bjIyMjkvX2luZGV4Lmh0bWwKKyAgICBpZiAoYWxsb3dPZmZs
aW5lUmVuZGVyZXJzKCkpCisgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFBbGxvd09mZmxp
bmVSZW5kZXJlcnMpOwogCi0gICAgICAgICAgICBpZiAoIW51bVBpeGVsRm9ybWF0cykgewotICAg
ICAgICAgICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAxNiwgIWF0dHJzLmZvcmNl
U29mdHdhcmVSZW5kZXJlciwgZmFsc2UsIGZhbHNlLCB1c2VNdWx0aXNhbXBsaW5nLCBhdHRycy5p
c1dlYkdMMiwgYWxsb3dPZmZsaW5lUmVuZGVyZXJzKCkpOwotICAgICAgICAgICAgICAgIENHTENo
b29zZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1QaXhl
bEZvcm1hdHMpOworICAgIGlmICh1c2VNdWx0aXNhbXBsaW5nKSB7CisgICAgICAgIGF0dHJpYnMu
YXBwZW5kKGtDR0xQRkFNdWx0aXNhbXBsZSk7CisgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQ
RkFTYW1wbGVCdWZmZXJzKTsKKyAgICAgICAgYXR0cmlicy5hcHBlbmQoc3RhdGljX2Nhc3Q8Q0dM
UGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KDEpKTsKKyAgICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBG
QVNhbXBsZXMpOworICAgICAgICBhdHRyaWJzLmFwcGVuZChzdGF0aWNfY2FzdDxDR0xQaXhlbEZv
cm1hdEF0dHJpYnV0ZT4oNCkpOworICAgIH0KIAotICAgICAgICAgICAgICAgIGlmICghYXR0cnMu
Zm9yY2VTb2Z0d2FyZVJlbmRlcmVyICYmICFudW1QaXhlbEZvcm1hdHMpIHsKLSAgICAgICAgICAg
ICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDE2LCBmYWxzZSwgZmFsc2UsIHRy
dWUsIGZhbHNlLCBhdHRycy5pc1dlYkdMMiwgYWxsb3dPZmZsaW5lUmVuZGVyZXJzKCkpOwotICAg
ICAgICAgICAgICAgICAgICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJzLmRhdGEoKSwgJnBp
eGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKLSAgICAgICAgICAgICAgICAgICAgdXNl
TXVsdGlzYW1wbGluZyA9IGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQorICAgIGlmIChhdHRycy5pc1dlYkdMMikgeworICAgICAgICAvLyBGSVhNRTog
SW5zdGVhZCBvZiBiYWNraW5nIGEgV2ViR0wyIEdyYXBoaWNzQ29udGV4dDNEIHdpdGggYSBPcGVu
R0wgNCBjb250ZXh0LCB3ZSBzaG91bGQgaW5zdGVhZCBiYWNrIGl0IHdpdGggQU5HTEUuCisgICAg
ICAgIC8vIFVzZSBhbiBPcGVuR0wgNCBjb250ZXh0IGZvciBub3cgdW50aWwgdGhlIEFOR0xFIGJh
Y2tlbmQgaXMgcmVhZHkuCisgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFPcGVuR0xQcm9m
aWxlKTsKKyAgICAgICAgYXR0cmlicy5hcHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRB
dHRyaWJ1dGU+KGtDR0xPR0xQVmVyc2lvbl9HTDRfQ29yZSkpOwogICAgIH0KIAorICAgIGF0dHJp
YnMuYXBwZW5kKHN0YXRpY19jYXN0PENHTFBpeGVsRm9ybWF0QXR0cmlidXRlPigwKSk7CisKKyAg
ICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJzLmRhdGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAm
bnVtUGl4ZWxGb3JtYXRzKTsKKwogICAgIGlmICghbnVtUGl4ZWxGb3JtYXRzKQogICAgICAgICBy
ZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDZm
ZTg1MzBmYjUxZGIxYmQxNGNiNGMzM2IyODIxNDc5Yzc1ZTY2YjAuLjFkMzQxMmJlMWU3ZjE3MDRh
MTU1MjRiNzFjYWZhNmRhNmY0N2E3MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbApAQCAtMTMwLDEwICsxMzAsNiBAQCBXZWJHTEVuYWJsZWQ6CiAgIHR5cGU6IGJv
b2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCiAKLUZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZzoK
LSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0KIEFjY2VsZXJhdGVkMmRDYW52
YXNFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggYTAzMTc5
OGRlZmJmZDg2MGYxYWFlMjhiMmIyZDYxY2E1ZTIxNTZiMC4uMjMyNjA1MDRkYjFjYjQ1MWIxMWIz
ZjAwMzY1ZTk2NzEzNDIyNWE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTQ2OSwxNiArNDY5LDYgQEAgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0V2ViR0xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPndlYkdMRW5hYmxlZCgpOwogfQogCi12b2lk
IFdLUHJlZmVyZW5jZXNTZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQotewotICAgIHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPnNldEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyhmbGFnKTsKLX0KLQotYm9vbCBX
S1ByZWZlcmVuY2VzR2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpCi17Ci0gICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PmZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZygpOwotfQotCiB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRBY2NlbGVyYXRlZDJEQ2FudmFzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0QWNjZWxl
cmF0ZWQyZENhbnZhc0VuYWJsZWQoZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCA1YzMzOThjYjI3
NTRmY2M0YzA1ZDUzZjI2ZTlkNmExMzc5YmQ4NTBjLi5iNDdhMGFkZDIxOWRjYzU4NzVjNzEzZTY5
ZGM2ZDEzMzhhYzM3NmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTkwLDEwICs5MCw2IEBAIFdLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRUaWxlZFNjcm9sbGluZ0luZGljYXRvclZpc2libGUo
V0tQcmVmZXJlbmNlc1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0V2ViR0xF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldFdlYkdMRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAotLy8gRGVmYXVsdHMgdG8g
ZmFsc2UuCi1XS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0Rm9yY2VTb2Z0d2FyZVdlYkdM
UmVuZGVyaW5nKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpOwotV0tfRVhQT1JUIGJvb2wgV0tQcmVm
ZXJlbmNlc0dldEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyhXS1ByZWZlcmVuY2VzUmVmKTsK
LQogLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
QWNjZWxlcmF0ZWQyRENhbnZhc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCk7CiBXS19F
WFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QWNjZWxlcmF0ZWQyRENhbnZhc0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA4NmFkZGY2YTExYjVlZmEz
ZTczYTBmNWMyMGEzNjhhNTRhY2NlZWFmLi5mMjJmMWZmYThjOTZlZWY5YWVlNDJkYjk0ZThmNWU2
ZWM0N2ZiNDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTExOCw3ICsxMTgsNiBAQAogI2Rl
ZmluZSBXZWJLaXRXZWJHTEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViR0xFbmFibGVk
IgogI2RlZmluZSBXZWJLaXRXZWJHTDJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkdM
MkVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYkdQVUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0V2ViR1BVRW5hYmxlZCIKLSNkZWZpbmUgV2ViS2l0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVy
aW5nUHJlZmVyZW5jZUtleSBAIldlYktpdEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZyIKICNk
ZWZpbmUgV2ViS2l0Rm9yY2VXZWJHTFVzZXNMb3dQb3dlclByZWZlcmVuY2VLZXkgQCJXZWJLaXRG
b3JjZVdlYkdMVXNlc0xvd1Bvd2VyIgogI2RlZmluZSBXZWJLaXRBY2NlbGVyYXRlZDJkQ2FudmFz
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCIK
ICNkZWZpbmUgV2ViS2l0RnJhbWVGbGF0dGVuaW5nUHJlZmVyZW5jZUtleSBAIldlYktpdEZyYW1l
RmxhdHRlbmluZyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCmluZGV4IGVjOTEzMjc2OTE0OGZhNzAwOGIxYzQ5YjI3MThjY2QyNjI0NGIw
OGQuLjAxNGFkZGUwMjJkYTFkZTZlMWU0NGFkMGVlY2RiODY4NmY0ZTE3NTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNTA2
LDcgKzUwNiw2IEBAIHB1YmxpYzoKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5P
XSwgICBXZWJLaXRTaW1wbGVMaW5lTGF5b3V0RGVidWdCb3JkZXJzRW5hYmxlZFByZWZlcmVuY2VL
ZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U2hvd1Jl
cGFpbnRDb3VudGVyUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhC
b29sOllFU10sICBXZWJLaXRXZWJHTEVuYWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBbTlNO
dW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVy
aW5nUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10s
ICAgV2ViS2l0Rm9yY2VXZWJHTFVzZXNMb3dQb3dlclByZWZlcmVuY2VLZXksCiAgICAgICAgIFtO
U051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCAgV2ViS2l0U3VicGl4ZWxDU1NPTUVsZW1lbnRNZXRyaWNzRW5hYmxlZFByZWZlcmVuY2VLZXks
CkBAIC0yMTQ0LDE2ICsyMTQzLDYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklE
ID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0V2Vi
R0wyRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCi0tIChCT09MKWZvcmNlU29mdHdhcmVXZWJH
TFJlbmRlcmluZwotewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEZv
cmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZ1ByZWZlcmVuY2VLZXldOwotfQotCi0tICh2b2lkKXNl
dEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZzooQk9PTClmb3JjZWQKLXsKLSAgICBbc2VsZiBf
c2V0Qm9vbFZhbHVlOmZvcmNlZCBmb3JLZXk6V2ViS2l0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVy
aW5nUHJlZmVyZW5jZUtleV07Ci19Ci0KIC0gKEJPT0wpZm9yY2VMb3dQb3dlckdQVUZvcldlYkdM
CiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0Rm9yY2VXZWJHTFVz
ZXNMb3dQb3dlclByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYThiOWFjNzIwNjI2
OGY0MjYwYWNiOTk2YzlkNmQ3ZWFiMDkzYmQ5OS4uMDlhODNiMjExOTA5ZDIzODkxYjNiNWVmMDQ0
MTEzYWRhOGFjYTUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0yNzUsOSArMjc1LDYgQEAgZXh0ZXJu
IE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmlj
YXRpb24gV0VCS0lUX0RFUFIKIC0gKEJPT0wpd2ViR0wyRW5hYmxlZDsKIC0gKHZvaWQpc2V0V2Vi
R0wyRW5hYmxlZDooQk9PTCllbmFibGVkOwogCi0tIChCT09MKWZvcmNlU29mdHdhcmVXZWJHTFJl
bmRlcmluZzsKLS0gKHZvaWQpc2V0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nOihCT09MKWZv
cmNlZDsKLQogLSAoQk9PTClmb3JjZUxvd1Bvd2VyR1BVRm9yV2ViR0w7CiAtICh2b2lkKXNldEZv
cmNlV2ViR0xVc2VzTG93UG93ZXI6KEJPT0wpZm9yY2VMb3dQb3dlcjsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGNkY2MwZmM2ZGM3N2M4OWRjNjYx
ODQ2YTdhYmJjMmYzYmI5NGNhMjEuLjUyNWM3MjVkNjZiMGI3ZDJjOWZkYmE0NzQ4YmVhZTlkOGMx
YTg5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAg
LTI5MzksNyArMjkzOSw2IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGlu
Z1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRTdWJwaXhlbENTU09NRWxlbWVudE1ldHJpY3NFbmFi
bGVkKFtwcmVmZXJlbmNlcyBzdWJwaXhlbENTU09NRWxlbWVudE1ldHJpY3NFbmFibGVkXSk7CiAg
ICAgc2V0dGluZ3Muc2V0U3VicGl4ZWxBbnRpYWxpYXNlZExheWVyVGV4dEVuYWJsZWQoW3ByZWZl
cmVuY2VzIHN1YnBpeGVsQW50aWFsaWFzZWRMYXllclRleHRFbmFibGVkXSk7CiAKLSAgICBzZXR0
aW5ncy5zZXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcoW3ByZWZlcmVuY2VzIGZvcmNlU29m
dHdhcmVXZWJHTFJlbmRlcmluZ10pOwogICAgIHNldHRpbmdzLnNldEZvcmNlV2ViR0xVc2VzTG93
UG93ZXIoW3ByZWZlcmVuY2VzIGZvcmNlTG93UG93ZXJHUFVGb3JXZWJHTF0pOwogICAgIHNldHRp
bmdzLnNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKFtwcmVmZXJlbmNlcyBhY2NlbGVyYXRl
ZDJkQ2FudmFzRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldExvYWREZWZlcnJpbmdFbmFibGVk
KHNob3VsZEVuYWJsZUxvYWREZWZlcnJpbmcoKSk7Cg==
</data>
<flag name="review"
          id="389903"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>