<?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>135695</bug_id>
          
          <creation_ts>2014-08-07 01:52:05 -0700</creation_ts>
          <short_desc>[GTK] Use WebKitNavigationAction also for WebKitNavigationPolicyDecision</short_desc>
          <delta_ts>2014-08-07 07:58:35 -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>WebKitGTK</component>
          <version>528+ (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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mrobinson</cc>
    
    <cc>sergio</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1027451</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-07 01:52:05 -0700</bug_when>
    <thetext>WebKitNavigationAction was introduced to extend WebKitWebView::create signal. Its API is mostly duplicated in WebKitNavigationPolicyDecision, so we can deprecate the duplicated methods and add webkit_navigation_policy_decision_get_navigation_data. This also makes it possible to know whether a navigation policy decision was triggered by a user gesture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027452</commentid>
    <comment_count>1</comment_count>
      <attachid>236181</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-07 02:09:01 -0700</bug_when>
    <thetext>Created attachment 236181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027453</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-07 02:10:50 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027454</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-07 02:11:01 -0700</bug_when>
    <thetext>Attachment 236181 did not pass style-queue:


WARNING: File exempt from style guide. Skipping: &quot;Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.h&quot;
WARNING: File exempt from style guide. Skipping: &quot;Source/WebKit2/UIProcess/API/gtk/WebKitDefines.h&quot;
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp:47:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp:53:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 2 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027488</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-07 07:58:35 -0700</bug_when>
    <thetext>Committed r172211: &lt;http://trac.webkit.org/changeset/172211&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236181</attachid>
            <date>2014-08-07 02:09:01 -0700</date>
            <delta_ts>2014-08-07 06:14:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-navigation-action-policy.diff</filename>
            <type>text/plain</type>
            <size>34305</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5YjRhYTAyLi4yNTFjM2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDgg
QEAKKzIwMTQtMDgtMDcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFVzZSBXZWJLaXROYXZpZ2F0aW9uQWN0aW9uIGFsc28gZm9yIFdl
YktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1Njk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0TmF2aWdhdGlvbkFjdGlvbiB3YXMgaW50cm9kdWNl
ZCB0byBleHRlbmQgV2ViS2l0V2ViVmlldzo6Y3JlYXRlIHNpZ25hbAorICAgICAgICBhbmQgaXRz
IEFQSSBpcyBtb3N0bHkgZHVwbGljYXRlZCBpbiBXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNp
b24uCisgICAgICAgIFVzZSBXZWJLaXROYXZpZ2F0aW9uQWN0aW9uIGluc3Rlcm5hbGx5IGluIFdl
YktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiBhbmQKKyAgICAgICAgZGVwcmVjYXRlZCBhbGwg
dGhlIGR1cGxpY2F0ZWQgQVBJIGluIGZhdm9yIG9mIGEgc2luZ2xlIHByb3BlcnR5IG5hdmlnYXRp
b24tYWN0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RGVmaW5lcy5o
OiBSZW1vdmUgdW51c2VkIG1hY3JvCisgICAgICAgIFdFQktJVF9PQlNPTEVURSBhbmQgYWRkIFdF
QktJVF9ERVBSRUNBVEVEIGFuZCBXRUJLSVRfREVQUkVDQVRFRF9GT1IuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmNwcDoKKyAgICAg
ICAgKF9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlOjp+X1dlYktpdE5hdmln
YXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUpOgorICAgICAgICBGcmVlIHRoZSBXZWJLaXROYXZp
Z2F0aW9uQWN0aW9uLgorICAgICAgICAod2Via2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uR2V0
UHJvcGVydHkpOiBBZGQgZ2V0dGVyIGZvcgorICAgICAgICBuYXZpZ2F0aW9uLWFjdGlvbiBhbmQg
dXNlIFdlYktpdE5hdmlnYXRpb25BY3Rpb24gaW4gYWxsIG90aGVyIGdldHRlcnMuCisgICAgICAg
ICh3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fY2xhc3NfaW5pdCk6IEFkZCBuYXZp
Z2F0aW9uLWFjdGlvbgorICAgICAgICBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlZCBhbGwgb3RoZXJz
IGV4Y2VwdCBmcmFtZS1uYW1lLgorICAgICAgICAod2Via2l0X25hdmlnYXRpb25fcG9saWN5X2Rl
Y2lzaW9uX2dldF9uYXZpZ2F0aW9uX2FjdGlvbik6IFJldHVybiB0aGUgV2ViS2l0TmF2aWdhdGlv
bkFjdGlvbi4KKyAgICAgICAgKHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRf
bmF2aWdhdGlvbl90eXBlKTogVXNlIFdlYktpdE5hdmlnYXRpb25BY3Rpb24uCisgICAgICAgICh3
ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X21vdXNlX2J1dHRvbik6IERpdHRv
LgorICAgICAgICAod2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9tb2RpZmll
cnMpOiBEaXR0by4KKyAgICAgICAgKHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9n
ZXRfcmVxdWVzdCk6IERpdHRvLgorICAgICAgICAod2Via2l0TmF2aWdhdGlvblBvbGljeURlY2lz
aW9uQ3JlYXRlKToKKyAgICAgICAgKHdlYmtpdE5ld1dpbmRvd1BvbGljeURlY2lzaW9uQ3JlYXRl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVj
aXNpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROYXZpZ2F0aW9uUG9s
aWN5RGVjaXNpb25Qcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
UG9saWN5Q2xpZW50LmNwcDogVXNlIGEgY3VzdG9tCisgICAgICAgIFBvbGljeUNsaWVudCBjbGFz
cyBzbyB0aGF0IHdlIHJlY2VpdmUgYSBOYXZpZ2F0aW9uQWN0aW9uRGF0YSBpbgorICAgICAgICB0
aGUgY2FsbGJhY2tzLgorICAgICAgICAoYXR0YWNoUG9saWN5Q2xpZW50VG9WaWV3KToKKyAgICAg
ICAgKHRvV2ViS2l0TmF2aWdhdGlvblR5cGUpOiBEZWxldGVkLgorICAgICAgICAoZGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChkZWNpZGVQb2xpY3lG
b3JOZXdXaW5kb3dBY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoZGVjaWRlUG9saWN5Rm9yUmVz
cG9uc2UpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFJlc3Bv
bnNlUG9saWN5RGVjaXNpb24uY3BwOgorICAgICAgICAod2Via2l0UmVzcG9uc2VQb2xpY3lEZWNp
c2lvbkNyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UmVzcG9uc2VQ
b2xpY3lEZWNpc2lvblByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2Nz
L3dlYmtpdDJndGstZG9jcy5zZ21sOiBBZGQgbmV3IHNlY3Rpb24gZm9yCisgICAgICAgIGRlcHJl
Y2F0ZWQgc3ltYm9scy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJn
dGstc2VjdGlvbnMudHh0OiBBZGQgbmV3IHN5bWJvbHMuCisKIDIwMTQtMDgtMDYgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZXMgb3Zlcmxh
eSBmbGFzaGVzIGEgbG90OyBzaG91bGQgaGF2ZSBzb21lIGh5c3RlcmVzaXMgYmVmb3JlIHNob3dp
bmcgb3ZlcmxheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0RGVmaW5lcy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
RGVmaW5lcy5oCmluZGV4IDhiNjM3NjUuLjUyMGU5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERlZmluZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREZWZpbmVzLmgKQEAgLTM4LDEwICszOCwxMSBAQAog
IyAgICBlbHNlCiAjICAgICAgICBkZWZpbmUgV0VCS0lUX0FQSSBfX2RlY2xzcGVjKGRsbGltcG9y
dCkKICMgICAgZW5kaWYKLSMgICAgZGVmaW5lIFdFQktJVF9PQlNPTEVURV9BUEkgV0VCS0lUX0FQ
SQogI2Vsc2UKICMgICAgZGVmaW5lIFdFQktJVF9BUEkgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0
eSgiZGVmYXVsdCIpKSkKLSMgICAgZGVmaW5lIFdFQktJVF9PQlNPTEVURV9BUEkgV0VCS0lUX0FQ
SSBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKSkKICNlbmRpZgogCisjZGVmaW5lIFdFQktJVF9E
RVBSRUNBVEVEIFdFQktJVF9BUEkgR19ERVBSRUNBVEVECisjZGVmaW5lIFdFQktJVF9ERVBSRUNB
VEVEX0ZPUihmKSBXRUJLSVRfQVBJIEdfREVQUkVDQVRFRF9GT1IoZikKKwogI2VuZGlmIC8vIFdl
YktpdERlZmluZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbi5jcHAKaW5kZXgg
ODMzNjZkYy4uMDBiZDhhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24uY3Bw
CkBAIC0yMCw5ICsyMCw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0
TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmgiCiAKLSNpbmNsdWRlICJBUElVUkxSZXF1ZXN0Lmgi
Ci0jaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRFbnVtVHlwZXMuaCIKKyNp
bmNsdWRlICJXZWJLaXROYXZpZ2F0aW9uQWN0aW9uUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktp
dE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQb2xp
Y3lEZWNpc2lvblByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZS5o
IgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CkBAIC00NCwxMCArNDQsMTIgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAgKi8KIAogc3RydWN0IF9XZWJLaXROYXZpZ2F0aW9uUG9saWN5
RGVjaXNpb25Qcml2YXRlIHsKLSAgICBXZWJLaXROYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlw
ZTsKLSAgICB1bnNpZ25lZCBtb2RpZmllcnM7Ci0gICAgdW5zaWduZWQgbW91c2VCdXR0b247Ci0g
ICAgR1JlZlB0cjxXZWJLaXRVUklSZXF1ZXN0PiByZXF1ZXN0OworICAgIH5fV2ViS2l0TmF2aWdh
dGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZSgpCisgICAgeworICAgICAgICB3ZWJraXRfbmF2aWdh
dGlvbl9hY3Rpb25fZnJlZShuYXZpZ2F0aW9uQWN0aW9uKTsKKyAgICB9CisKKyAgICBXZWJLaXRO
YXZpZ2F0aW9uQWN0aW9uKiBuYXZpZ2F0aW9uQWN0aW9uOwogICAgIENTdHJpbmcgZnJhbWVOYW1l
OwogfTsKIApAQCAtNTUsNiArNTcsNyBAQCBXRUJLSVRfREVGSU5FX1RZUEUoV2ViS2l0TmF2aWdh
dGlvblBvbGljeURlY2lzaW9uLCB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaQogCiBlbnVt
IHsKICAgICBQUk9QXzAsCisgICAgUFJPUF9OQVZJR0FUSU9OX0FDVElPTiwKICAgICBQUk9QX05B
VklHQVRJT05fVFlQRSwKICAgICBQUk9QX01PVVNFX0JVVFRPTiwKICAgICBQUk9QX01PRElGSUVS
UywKQEAgLTY2LDE3ICs2OSwyMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXROYXZpZ2F0aW9uUG9saWN5
RGVjaXNpb25HZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHBybwogewogICAgIFdl
YktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNpb24gPSBXRUJLSVRfTkFWSUdBVElP
Tl9QT0xJQ1lfREVDSVNJT04ob2JqZWN0KTsKICAgICBzd2l0Y2ggKHByb3BJZCkgeworICAgIGNh
c2UgUFJPUF9OQVZJR0FUSU9OX0FDVElPTjoKKyAgICAgICAgZ192YWx1ZV9zZXRfYm94ZWQodmFs
dWUsIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl9hY3Rp
b24oZGVjaXNpb24pKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX05BVklHQVRJT05f
VFlQRToKLSAgICAgICAgZ192YWx1ZV9zZXRfZW51bSh2YWx1ZSwgd2Via2l0X25hdmlnYXRpb25f
cG9saWN5X2RlY2lzaW9uX2dldF9uYXZpZ2F0aW9uX3R5cGUoZGVjaXNpb24pKTsKKyAgICAgICAg
Z192YWx1ZV9zZXRfZW51bSh2YWx1ZSwgd2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF9uYXZp
Z2F0aW9uX3R5cGUoZGVjaXNpb24tPnByaXYtPm5hdmlnYXRpb25BY3Rpb24pKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBQUk9QX01PVVNFX0JVVFRPTjoKLSAgICAgICAgZ192YWx1ZV9zZXRf
ZW51bSh2YWx1ZSwgd2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9tb3VzZV9i
dXR0b24oZGVjaXNpb24pKTsKKyAgICAgICAgZ192YWx1ZV9zZXRfZW51bSh2YWx1ZSwgd2Via2l0
X25hdmlnYXRpb25fYWN0aW9uX2dldF9tb3VzZV9idXR0b24oZGVjaXNpb24tPnByaXYtPm5hdmln
YXRpb25BY3Rpb24pKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX01PRElGSUVSUzoK
LSAgICAgICAgZ192YWx1ZV9zZXRfdWludCh2YWx1ZSwgd2Via2l0X25hdmlnYXRpb25fcG9saWN5
X2RlY2lzaW9uX2dldF9tb2RpZmllcnMoZGVjaXNpb24pKTsKKyAgICAgICAgZ192YWx1ZV9zZXRf
dWludCh2YWx1ZSwgd2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF9tb2RpZmllcnMoZGVjaXNp
b24tPnByaXYtPm5hdmlnYXRpb25BY3Rpb24pKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
Uk9QX1JFUVVFU1Q6Ci0gICAgICAgIGdfdmFsdWVfc2V0X29iamVjdCh2YWx1ZSwgd2Via2l0X25h
dmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9yZXF1ZXN0KGRlY2lzaW9uKSk7CisgICAgICAg
IGdfdmFsdWVfc2V0X29iamVjdCh2YWx1ZSwgd2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF9y
ZXF1ZXN0KGRlY2lzaW9uLT5wcml2LT5uYXZpZ2F0aW9uQWN0aW9uKSk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgUFJPUF9GUkFNRV9OQU1FOgogICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmco
dmFsdWUsIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfZnJhbWVfbmFtZShk
ZWNpc2lvbikpOwpAQCAtOTMsMTEgKzk5LDMwIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbl9jbGFzc19pbml0KFdlYktpdE5hdmlnYXRpb25Qb2xpY3lECiAg
ICAgb2JqZWN0Q2xhc3MtPmdldF9wcm9wZXJ0eSA9IHdlYmtpdE5hdmlnYXRpb25Qb2xpY3lEZWNp
c2lvbkdldFByb3BlcnR5OwogCiAgICAgLyoqCisgICAgICogV2ViS2l0TmF2aWdhdGlvblBvbGlj
eURlY2lzaW9uOm5hdmlnYXRpb24tYWN0aW9uOgorICAgICAqCisgICAgICogVGhlICNXZWJLaXRO
YXZpZ2F0aW9uQWN0aW9uIHRoYXQgdHJpZ2dlcmVkIHRoaXMgcG9saWN5IGRlY2lzaW9uLgorICAg
ICAqCisgICAgICogU2luY2U6IDIuNgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3Rh
bGxfcHJvcGVydHkoCisgICAgICAgIG9iamVjdENsYXNzLAorICAgICAgICBQUk9QX05BVklHQVRJ
T05fQUNUSU9OLAorICAgICAgICBnX3BhcmFtX3NwZWNfYm94ZWQoCisgICAgICAgICAgICAibmF2
aWdhdGlvbi1hY3Rpb24iLAorICAgICAgICAgICAgXygiTmF2aWdhdGlvbiBhY3Rpb24iKSwKKyAg
ICAgICAgICAgIF8oIlRoZSBXZWJLaXROYXZpZ2F0aW9uQWN0aW9uIHRyaWdnZXJpbmcgdGhpcyBk
ZWNpc2lvbiIpLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfTkFWSUdBVElPTl9BQ1RJT04sCisg
ICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKKworICAgIC8qKgogICAgICAqIFdl
YktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbjpuYXZpZ2F0aW9uLXR5cGU6CiAgICAgICoKICAg
ICAgKiBUaGUgdHlwZSBvZiBuYXZpZ2F0aW9uIHRoYXQgdHJpZ2dlcmVkIHRoaXMgcG9saWN5IGRl
Y2lzaW9uLiBUaGlzIGlzCiAgICAgICogdXNlZnVsIGZvciBlbmFjdGluZyBkaWZmZXJlbnQgcG9s
aWNpZXMgZGVwZW5kaW5nIG9uIHdoYXQgdHlwZSBvZiB1c2VyCiAgICAgICogYWN0aW9uIGNhdXNl
ZCB0aGUgbmF2aWdhdGlvbi4KKyAgICAgKgorICAgICAqIERlcHJlY2F0ZWQ6IDIuNjogVXNlICNX
ZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb246bmF2aWdhdGlvbi1hY3Rpb24gaW5zdGVhZAog
ICAgICAqLwogICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkob2JqZWN0Q2xhc3Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX05BVklHQVRJT05fVFlQ
RSwKQEAgLTExNiw2ICsxNDEsOCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfbmF2aWdhdGlvbl9wb2xp
Y3lfZGVjaXNpb25fY2xhc3NfaW5pdChXZWJLaXROYXZpZ2F0aW9uUG9saWN5RAogICAgICAqIG9m
IHRoZSBidXR0b24gdHJpZ2dlcmluZyB0aGF0IGV2ZW50LiBUaGUgYnV0dG9uIG51bWJlcnMgbWF0
Y2ggdGhvc2UgZnJvbSBHREsuCiAgICAgICogSWYgdGhlIG5hdmlnYXRpb24gd2FzIG5vdCB0cmln
Z2VyZWQgYnkgYSBtb3VzZSBldmVudCwgdGhlIHZhbHVlIG9mIHRoaXMKICAgICAgKiBwcm9wZXJ0
eSB3aWxsIGJlIDAuCisgICAgICoKKyAgICAgKiBEZXByZWNhdGVkOiAyLjY6IFVzZSAjV2ViS2l0
TmF2aWdhdGlvblBvbGljeURlY2lzaW9uOm5hdmlnYXRpb24tYWN0aW9uIGluc3RlYWQKICAgICAg
Ki8KICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9iamVjdENsYXNzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9NT1VTRV9CVVRUT04sCkBAIC0x
MzMsNiArMTYwLDggQEAgc3RhdGljIHZvaWQgd2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lz
aW9uX2NsYXNzX2luaXQoV2ViS2l0TmF2aWdhdGlvblBvbGljeUQKICAgICAgKiAjR2RrTW9kaWZp
ZXJUeXBlIHZhbHVlcyBkZXNjcmliaW5nIHRoZSBtb2RpZmllcnMgdXNlZCBmb3IgdGhhdCBjbGlj
ay4KICAgICAgKiBJZiB0aGUgbmF2aWdhdGlvbiB3YXMgbm90IHRyaWdnZXJlZCBieSBhIG1vdXNl
IGV2ZW50IG9yIG5vIG1vZGlmaWVycwogICAgICAqIHdlcmUgYWN0aXZlLCB0aGUgdmFsdWUgb2Yg
dGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHplcm8uCisgICAgICoKKyAgICAgKiBEZXByZWNhdGVkOiAy
LjY6IFVzZSAjV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uOm5hdmlnYXRpb24tYWN0aW9u
IGluc3RlYWQKICAgICAgKi8KICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9i
amVjdENsYXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9NT0RJ
RklFUlMsCkBAIC0xNDcsNiArMTc2LDggQEAgc3RhdGljIHZvaWQgd2Via2l0X25hdmlnYXRpb25f
cG9saWN5X2RlY2lzaW9uX2NsYXNzX2luaXQoV2ViS2l0TmF2aWdhdGlvblBvbGljeUQKICAgICAg
KgogICAgICAqIFRoaXMgcHJvcGVydHkgY29udGFpbnMgdGhlICNXZWJLaXRVUklSZXF1ZXN0IGFz
c29jaWF0ZWQgd2l0aCB0aGlzCiAgICAgICogbmF2aWdhdGlvbi4KKyAgICAgKgorICAgICAqIERl
cHJlY2F0ZWQ6IDIuNjogVXNlICNXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb246bmF2aWdh
dGlvbi1hY3Rpb24gaW5zdGVhZAogICAgICAqLwogICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxf
cHJvcGVydHkob2JqZWN0Q2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQUk9QX1JFUVVFU1QsCkBAIC0xNzQsMTcgKzIwNSwzNSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
bmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fY2xhc3NfaW5pdChXZWJLaXROYXZpZ2F0aW9uUG9s
aWN5RAogfQogCiAvKioKKyAqIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRf
bmF2aWdhdGlvbl9hY3Rpb246CisgKiBAZGVjaXNpb246IGEgI1dlYktpdE5hdmlnYXRpb25Qb2xp
Y3lEZWNpc2lvbgorICoKKyAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSAjV2ViS2l0TmF2aWdhdGlv
blBvbGljeURlY2lzaW9uOm5hdmlnYXRpb24tYWN0aW9uIHByb3BlcnR5LgorICoKKyAqIFJldHVy
bnM6ICh0cmFuc2ZlciBub25lKTogVGhlICNXZWJLaXROYXZpZ2F0aW9uQWN0aW9uIHRyaWdnZXJp
bmcgdGhpcyBwb2xpY3kgZGVjaXNpb24uCisgKgorICogU2luY2U6IDIuNgorICovCitXZWJLaXRO
YXZpZ2F0aW9uQWN0aW9uKiB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X25h
dmlnYXRpb25fYWN0aW9uKFdlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiogZGVjaXNpb24p
Cit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX05BVklHQVRJT05fUE9MSUNZ
X0RFQ0lTSU9OKGRlY2lzaW9uKSwgbnVsbHB0cik7CisgICAgcmV0dXJuIGRlY2lzaW9uLT5wcml2
LT5uYXZpZ2F0aW9uQWN0aW9uOworfQorCisvKioKICAqIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGlj
eV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl90eXBlOgogICogQGRlY2lzaW9uOiBhICNXZWJLaXRO
YXZpZ2F0aW9uUG9saWN5RGVjaXNpb24KICAqCiAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgI1dl
YktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbjpuYXZpZ2F0aW9uLXR5cGUgcHJvcGVydHkuCiAg
KgogICogUmV0dXJuczogVGhlIHR5cGUgb2YgbmF2aWdhdGlvbiB0cmlnZ2VyaW5nIHRoaXMgcG9s
aWN5IGRlY2lzaW9uLgorICoKKyAqIERlcHJlY2F0ZWQ6IDIuNjogVXNlIHdlYmtpdF9uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl9hY3Rpb24oKSBpbnN0ZWFkLgogICov
CiBXZWJLaXROYXZpZ2F0aW9uVHlwZSB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25f
Z2V0X25hdmlnYXRpb25fdHlwZShXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24qIGRlY2lz
aW9uKQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19OQVZJR0FUSU9OX1BP
TElDWV9ERUNJU0lPTihkZWNpc2lvbiksIFdFQktJVF9OQVZJR0FUSU9OX1RZUEVfT1RIRVIpOwot
ICAgIHJldHVybiBkZWNpc2lvbi0+cHJpdi0+bmF2aWdhdGlvblR5cGU7CisgICAgcmV0dXJuIHdl
YmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfbmF2aWdhdGlvbl90eXBlKGRlY2lzaW9uLT5wcml2
LT5uYXZpZ2F0aW9uQWN0aW9uKTsKIH0KIAogLyoqCkBAIC0xOTQsMTEgKzI0MywxMyBAQCBXZWJL
aXROYXZpZ2F0aW9uVHlwZSB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X25h
dmlnYXRpb25fdHlwZShXZWJLaQogICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlICNXZWJLaXROYXZp
Z2F0aW9uUG9saWN5RGVjaXNpb246bW91c2UtYnV0dG9uIHByb3BlcnR5LgogICoKICAqIFJldHVy
bnM6IFRoZSBtb3VzZSBidXR0b24gdXNlZCBpZiB0aGlzIGRlY2lzaW9uIHdhcyB0cmlnZ2VyZWQg
YnkgYSBtb3VzZSBldmVudCBvciAwIG90aGVyd2lzZQorICoKKyAqIERlcHJlY2F0ZWQ6IDIuNjog
VXNlIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl9hY3Rp
b24oKSBpbnN0ZWFkLgogICovCiBndWludCB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNp
b25fZ2V0X21vdXNlX2J1dHRvbihXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24qIGRlY2lz
aW9uKQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19OQVZJR0FUSU9OX1BP
TElDWV9ERUNJU0lPTihkZWNpc2lvbiksIDApOwotICAgIHJldHVybiBkZWNpc2lvbi0+cHJpdi0+
bW91c2VCdXR0b247CisgICAgcmV0dXJuIHdlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfbW91
c2VfYnV0dG9uKGRlY2lzaW9uLT5wcml2LT5uYXZpZ2F0aW9uQWN0aW9uKTsKIH0KIAogLyoqCkBA
IC0yMDgsMTEgKzI1OSwxMyBAQCBndWludCB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNp
b25fZ2V0X21vdXNlX2J1dHRvbihXZWJLaXROYXZpZ2F0aW9uUG9saWN5RAogICogR2V0cyB0aGUg
dmFsdWUgb2YgdGhlICNXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb246bW9kaWZpZXJzIHBy
b3BlcnR5LgogICoKICAqIFJldHVybnM6IFRoZSBtb2RpZmllcnMgYWN0aXZlIGlmIHRoaXMgZGVj
aXNpb24gd2FzIHRyaWdnZXJlZCBieSBhIG1vdXNlIGV2ZW50CisgKgorICogRGVwcmVjYXRlZDog
Mi42OiBVc2Ugd2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9uYXZpZ2F0aW9u
X2FjdGlvbigpIGluc3RlYWQuCiAgKi8KIHVuc2lnbmVkIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGlj
eV9kZWNpc2lvbl9nZXRfbW9kaWZpZXJzKFdlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiog
ZGVjaXNpb24pCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX05BVklHQVRJ
T05fUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uKSwgMCk7Ci0gICAgcmV0dXJuIGRlY2lzaW9uLT5w
cml2LT5tb2RpZmllcnM7CisgICAgcmV0dXJuIHdlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRf
bW9kaWZpZXJzKGRlY2lzaW9uLT5wcml2LT5uYXZpZ2F0aW9uQWN0aW9uKTsKIH0KIAogLyoqCkBA
IC0yMjIsMTEgKzI3NSwxMyBAQCB1bnNpZ25lZCB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVj
aXNpb25fZ2V0X21vZGlmaWVycyhXZWJLaXROYXZpZ2F0aW9uUG9saWN5RAogICogR2V0cyB0aGUg
dmFsdWUgb2YgdGhlICNXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb246cmVxdWVzdCBwcm9w
ZXJ0eS4KICAqCiAgKiBSZXR1cm5zOiAodHJhbnNmZXIgbm9uZSk6IFRoZSBVUkkgcmVxdWVzdCB0
aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG5hdmlnYXRpb24KKyAqCisgKiBEZXByZWNhdGVk
OiAyLjY6IFVzZSB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X25hdmlnYXRp
b25fYWN0aW9uKCkgaW5zdGVhZC4KICAqLwogV2ViS2l0VVJJUmVxdWVzdCogd2Via2l0X25hdmln
YXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9yZXF1ZXN0KFdlYktpdE5hdmlnYXRpb25Qb2xpY3lE
ZWNpc2lvbiogZGVjaXNpb24pCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lT
X05BVklHQVRJT05fUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uKSwgMCk7Ci0gICAgcmV0dXJuIGRl
Y2lzaW9uLT5wcml2LT5yZXF1ZXN0LmdldCgpOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTihkZWNpc2lvbiksIG51bGxwdHIpOwor
ICAgIHJldHVybiB3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X3JlcXVlc3QoZGVjaXNpb24t
PnByaXYtPm5hdmlnYXRpb25BY3Rpb24pOwogfQogCiAvKioKQEAgLTI0MywxNCArMjk4LDE5IEBA
IGNvbnN0IGNoYXIqIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfZnJhbWVf
bmFtZShXZWJLaXROYXZpZ2F0aW9uUG9sCiAgICAgcmV0dXJuIGRlY2lzaW9uLT5wcml2LT5mcmFt
ZU5hbWUuZGF0YSgpOwogfQogCi1XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24qIHdlYmtp
dE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbkNyZWF0ZShXZWJLaXROYXZpZ2F0aW9uVHlwZSBuYXZp
Z2F0aW9uVHlwZSwgdW5zaWduZWQgbW91c2VCdXR0b24sIHVuc2lnbmVkIG1vZGlmaWVycywgQVBJ
OjpVUkxSZXF1ZXN0KiByZXF1ZXN0LCBjb25zdCBjaGFyKiBmcmFtZU5hbWUsIFdlYkZyYW1lUG9s
aWN5TGlzdGVuZXJQcm94eSogbGlzdGVuZXIpCitXZWJLaXRQb2xpY3lEZWNpc2lvbiogd2Via2l0
TmF2aWdhdGlvblBvbGljeURlY2lzaW9uQ3JlYXRlKGNvbnN0IE5hdmlnYXRpb25BY3Rpb25EYXRh
JiBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBX
ZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkqIGxpc3RlbmVyKQoreworICAgIFdlYktpdE5hdmln
YXRpb25Qb2xpY3lEZWNpc2lvbiogbmF2aWdhdGlvbkRlY2lzaW9uID0gV0VCS0lUX05BVklHQVRJ
T05fUE9MSUNZX0RFQ0lTSU9OKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9OQVZJR0FUSU9OX1BP
TElDWV9ERUNJU0lPTiwgbnVsbHB0cikpOworICAgIEdSZWZQdHI8V2ViS2l0VVJJUmVxdWVzdD4g
dXJpUmVxdWVzdCA9IGFkb3B0R1JlZih3ZWJraXRVUklSZXF1ZXN0Q3JlYXRlRm9yUmVzb3VyY2VS
ZXF1ZXN0KHJlcXVlc3QpKTsKKyAgICBuYXZpZ2F0aW9uRGVjaXNpb24tPnByaXYtPm5hdmlnYXRp
b25BY3Rpb24gPSB3ZWJraXROYXZpZ2F0aW9uQWN0aW9uQ3JlYXRlKHVyaVJlcXVlc3QuZ2V0KCks
IG5hdmlnYXRpb25BY3Rpb25EYXRhKTsKKyAgICBXZWJLaXRQb2xpY3lEZWNpc2lvbiogZGVjaXNp
b24gPSBXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OKG5hdmlnYXRpb25EZWNpc2lvbik7CisgICAgd2Vi
a2l0UG9saWN5RGVjaXNpb25TZXRMaXN0ZW5lcihkZWNpc2lvbiwgbGlzdGVuZXIpOworICAgIHJl
dHVybiBkZWNpc2lvbjsKK30KKworV2ViS2l0UG9saWN5RGVjaXNpb24qIHdlYmtpdE5ld1dpbmRv
d1BvbGljeURlY2lzaW9uQ3JlYXRlKGNvbnN0IE5hdmlnYXRpb25BY3Rpb25EYXRhJiBuYXZpZ2F0
aW9uQWN0aW9uRGF0YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJp
bmcmIGZyYW1lTmFtZSwgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikKIHsK
LSAgICBXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uID0gV0VCS0lUX05B
VklHQVRJT05fUE9MSUNZX0RFQ0lTSU9OKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9OQVZJR0FU
SU9OX1BPTElDWV9ERUNJU0lPTiwgTlVMTCkpOwotICAgIGRlY2lzaW9uLT5wcml2LT5uYXZpZ2F0
aW9uVHlwZSA9IG5hdmlnYXRpb25UeXBlOwotICAgIGRlY2lzaW9uLT5wcml2LT5tb3VzZUJ1dHRv
biA9IG1vdXNlQnV0dG9uOwotICAgIGRlY2lzaW9uLT5wcml2LT5tb2RpZmllcnMgPSBtb2RpZmll
cnM7Ci0gICAgZGVjaXNpb24tPnByaXYtPnJlcXVlc3QgPSBhZG9wdEdSZWYod2Via2l0VVJJUmVx
dWVzdENyZWF0ZUZvclJlc291cmNlUmVxdWVzdChyZXF1ZXN0LT5yZXNvdXJjZVJlcXVlc3QoKSkp
OwotICAgIGRlY2lzaW9uLT5wcml2LT5mcmFtZU5hbWUgPSBmcmFtZU5hbWU7Ci0gICAgd2Via2l0
UG9saWN5RGVjaXNpb25TZXRMaXN0ZW5lcihXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9u
KSwgbGlzdGVuZXIpOworICAgIFdlYktpdFBvbGljeURlY2lzaW9uKiBkZWNpc2lvbiA9IHdlYmtp
dE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbkNyZWF0ZShuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgcmVx
dWVzdCwgbGlzdGVuZXIpOworICAgIFdFQktJVF9OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTihk
ZWNpc2lvbiktPnByaXYtPmZyYW1lTmFtZSA9IGZyYW1lTmFtZS51dGY4KCkuZGF0YSgpOwogICAg
IHJldHVybiBkZWNpc2lvbjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbi5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmgKaW5k
ZXggZTg1MjQ2MS4uMGQ5ZmIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmgK
QEAgLTYyLDE2ICs2MiwyNCBAQCBzdHJ1Y3QgX1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lv
bkNsYXNzIHsKIFdFQktJVF9BUEkgR1R5cGUKIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNp
c2lvbl9nZXRfdHlwZSAgICAgICAgICAgICh2b2lkKTsKIAotV0VCS0lUX0FQSSBXZWJLaXROYXZp
Z2F0aW9uVHlwZQotd2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9uYXZpZ2F0
aW9uX3R5cGUgKFdlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiAqZGVjaXNpb24pOwotV0VC
S0lUX0FQSSBndWludAotd2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9tb3Vz
ZV9idXR0b24gICAgKFdlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiAqZGVjaXNpb24pOwot
V0VCS0lUX0FQSSBndWludAotd2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9t
b2RpZmllcnMgICAgICAgKFdlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiAqZGVjaXNpb24p
OwotV0VCS0lUX0FQSSBXZWJLaXRVUklSZXF1ZXN0ICoKLXdlYmtpdF9uYXZpZ2F0aW9uX3BvbGlj
eV9kZWNpc2lvbl9nZXRfcmVxdWVzdCAgICAgICAgIChXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVj
aXNpb24gKmRlY2lzaW9uKTsKK1dFQktJVF9BUEkgV2ViS2l0TmF2aWdhdGlvbkFjdGlvbiAqCit3
ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X25hdmlnYXRpb25fYWN0aW9uIChX
ZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24gKmRlY2lzaW9uKTsKKworV0VCS0lUX0RFUFJF
Q0FURURfRk9SKHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlv
bl9hY3Rpb24pIFdlYktpdE5hdmlnYXRpb25UeXBlCit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lf
ZGVjaXNpb25fZ2V0X25hdmlnYXRpb25fdHlwZSAgIChXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVj
aXNpb24gKmRlY2lzaW9uKTsKKworV0VCS0lUX0RFUFJFQ0FURURfRk9SKHdlYmtpdF9uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl9hY3Rpb24pIGd1aW50Cit3ZWJraXRf
bmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X21vdXNlX2J1dHRvbiAgICAgIChXZWJLaXRO
YXZpZ2F0aW9uUG9saWN5RGVjaXNpb24gKmRlY2lzaW9uKTsKKworV0VCS0lUX0RFUFJFQ0FURURf
Rk9SKHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl9hY3Rp
b24pIGd1aW50Cit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X21vZGlmaWVy
cyAgICAgICAgIChXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24gKmRlY2lzaW9uKTsKKwor
V0VCS0lUX0RFUFJFQ0FURURfRk9SKHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9n
ZXRfbmF2aWdhdGlvbl9hY3Rpb24pIFdlYktpdFVSSVJlcXVlc3QgKgord2Via2l0X25hdmlnYXRp
b25fcG9saWN5X2RlY2lzaW9uX2dldF9yZXF1ZXN0ICAgICAgICAgICAoV2ViS2l0TmF2aWdhdGlv
blBvbGljeURlY2lzaW9uICpkZWNpc2lvbik7CisKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgot
d2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9mcmFtZV9uYW1lICAgICAgKFdl
YktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiAqZGVjaXNpb24pOword2Via2l0X25hdmlnYXRp
b25fcG9saWN5X2RlY2lzaW9uX2dldF9mcmFtZV9uYW1lICAgICAgICAoV2ViS2l0TmF2aWdhdGlv
blBvbGljeURlY2lzaW9uICpkZWNpc2lvbik7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0TmF2aWdhdGlv
blBvbGljeURlY2lzaW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZS5oCmluZGV4IDg0ZWU4Mjcu
LjlkOTRlZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRl
LmgKQEAgLTIwLDkgKzIwLDExIEBACiAjaWZuZGVmIFdlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNp
c2lvblByaXZhdGVfaAogI2RlZmluZSBXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb25Qcml2
YXRlX2gKIAorI2luY2x1ZGUgIk5hdmlnYXRpb25BY3Rpb25EYXRhLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLmgiCiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5o
IgogCi1XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24qIHdlYmtpdE5hdmlnYXRpb25Qb2xp
Y3lEZWNpc2lvbkNyZWF0ZShXZWJLaXROYXZpZ2F0aW9uVHlwZSwgdW5zaWduZWQgbW91c2VCdXR0
b24sIHVuc2lnbmVkIG1vZGlmaWVycywgQVBJOjpVUkxSZXF1ZXN0KiwgY29uc3QgY2hhciogZnJh
bWVOYW1lLCBXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSopOworV2ViS2l0UG9s
aWN5RGVjaXNpb24qIHdlYmtpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbkNyZWF0ZShjb25zdCBX
ZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkqKTsKK1dlYktpdFBvbGlj
eURlY2lzaW9uKiB3ZWJraXROZXdXaW5kb3dQb2xpY3lEZWNpc2lvbkNyZWF0ZShjb25zdCBXZWJL
aXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgU3RyaW5nJiBmcmFtZU5hbWUsIFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5l
clByb3h5Kik7CiAKICNlbmRpZiAvLyBXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb25Qcml2
YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFBvbGljeUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRQb2xpY3lDbGllbnQuY3BwCmluZGV4IDFhZTliMTAuLmYyNzM3ZWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBvbGljeUNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UG9saWN5Q2xpZW50LmNw
cApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktp
dFBvbGljeUNsaWVudC5oIgogCisjaW5jbHVkZSAiQVBJUG9saWN5Q2xpZW50LmgiCiAjaW5jbHVk
ZSAiV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldl
YktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb25Qcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2Vi
Vmlld0Jhc2VQcml2YXRlLmgiCkBAIC0yOSw3NyArMzAsMzcgQEAKIAogdXNpbmcgbmFtZXNwYWNl
IFdlYktpdDsKIAotc3RhdGljIGlubGluZSBXZWJLaXROYXZpZ2F0aW9uVHlwZSB0b1dlYktpdE5h
dmlnYXRpb25UeXBlKFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSB0eXBlKQotewotICAgIHN3aXRjaCAo
dHlwZSkgewotICAgIGNhc2Uga1dLRnJhbWVOYXZpZ2F0aW9uVHlwZUxpbmtDbGlja2VkOgotICAg
ICAgICByZXR1cm4gV0VCS0lUX05BVklHQVRJT05fVFlQRV9MSU5LX0NMSUNLRUQ7Ci0gICAgY2Fz
ZSBrV0tGcmFtZU5hdmlnYXRpb25UeXBlRm9ybVN1Ym1pdHRlZDoKLSAgICAgICAgcmV0dXJuIFdF
QktJVF9OQVZJR0FUSU9OX1RZUEVfRk9STV9TVUJNSVRURUQ7Ci0gICAgY2FzZSBrV0tGcmFtZU5h
dmlnYXRpb25UeXBlQmFja0ZvcndhcmQ6Ci0gICAgICAgIHJldHVybiBXRUJLSVRfTkFWSUdBVElP
Tl9UWVBFX0JBQ0tfRk9SV0FSRDsKLSAgICBjYXNlIGtXS0ZyYW1lTmF2aWdhdGlvblR5cGVSZWxv
YWQ6Ci0gICAgICAgIHJldHVybiBXRUJLSVRfTkFWSUdBVElPTl9UWVBFX1JFTE9BRDsKLSAgICBj
YXNlIGtXS0ZyYW1lTmF2aWdhdGlvblR5cGVGb3JtUmVzdWJtaXR0ZWQ6Ci0gICAgICAgIHJldHVy
biBXRUJLSVRfTkFWSUdBVElPTl9UWVBFX0ZPUk1fUkVTVUJNSVRURUQ7Ci0gICAgY2FzZSBrV0tG
cmFtZU5hdmlnYXRpb25UeXBlT3RoZXI6Ci0gICAgICAgIHJldHVybiBXRUJLSVRfTkFWSUdBVElP
Tl9UWVBFX09USEVSOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICByZXR1cm4gV0VCS0lUX05BVklHQVRJT05fVFlQRV9MSU5LX0NMSUNLRUQ7Citj
bGFzcyBQb2xpY3lDbGllbnQ6IHB1YmxpYyBBUEk6OlBvbGljeUNsaWVudCB7CitwdWJsaWM6Cisg
ICAgZXhwbGljaXQgUG9saWN5Q2xpZW50KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCisgICAgICAg
IDogbV93ZWJWaWV3KHdlYlZpZXcpCisgICAgewogICAgIH0KLX0KIAotc3RhdGljIHZvaWQgZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLRnJh
bWVOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmll
cnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgV0tGcmFtZVJlZiwgV0tVUkxSZXF1
ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBl
UmVmIC8qIHVzZXJEYXRhICovLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQotewotICAgIEdSZWZQ
dHI8V2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uPiBkZWNpc2lvbiA9Ci0gICAgICAgIGFk
b3B0R1JlZih3ZWJraXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb25DcmVhdGUodG9XZWJLaXROYXZp
Z2F0aW9uVHlwZShuYXZpZ2F0aW9uVHlwZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgd2tFdmVudE1vdXNlQnV0dG9uVG9XZWJLaXRNb3Vz
ZUJ1dHRvbihtb3VzZUJ1dHRvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2tFdmVudE1vZGlmaWVyc1RvR2RrTW9kaWZpZXJzKG1vZGlm
aWVycyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdG9JbXBsKHJlcXVlc3QpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDAsIC8qIGZyYW1lIG5hbWUgKi8KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b0ltcGwobGlzdGVuZXIp
KSk7Ci0gICAgd2Via2l0V2ViVmlld01ha2VQb2xpY3lEZWNpc2lvbihXRUJLSVRfV0VCX1ZJRVco
Y2xpZW50SW5mbyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRf
UE9MSUNZX0RFQ0lTSU9OX1RZUEVfTkFWSUdBVElPTl9BQ1RJT04sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uLmdldCgp
KSk7Ci19Citwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCBjb25zdCBOYXZpZ2F0aW9u
QWN0aW9uRGF0YSYgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIFdlYkZyYW1lUHJveHkqIC8qb3JpZ2lu
YXRpbmdGcmFtZSovLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIC8qb3JpZ2luYWxS
ZXF1ZXN0Ki8sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVmUHRy
PFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiAvKnVz
ZXJEYXRhKi8pIG92ZXJyaWRlCisgICAgeworICAgICAgICBHUmVmUHRyPFdlYktpdFBvbGljeURl
Y2lzaW9uPiBkZWNpc2lvbiA9IGFkb3B0R1JlZih3ZWJraXROYXZpZ2F0aW9uUG9saWN5RGVjaXNp
b25DcmVhdGUobmF2aWdhdGlvbkFjdGlvbkRhdGEsIHJlcXVlc3QsIGxpc3RlbmVyLmdldCgpKSk7
CisgICAgICAgIHdlYmtpdFdlYlZpZXdNYWtlUG9saWN5RGVjaXNpb24obV93ZWJWaWV3LCBXRUJL
SVRfUE9MSUNZX0RFQ0lTSU9OX1RZUEVfTkFWSUdBVElPTl9BQ1RJT04sIGRlY2lzaW9uLmdldCgp
KTsKKyAgICB9CiAKLXN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihX
S1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlw
ZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1
dHRvbiwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLU3RyaW5nUmVmIGZyYW1lTmFtZSwgV0tG
cmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYgLyogdXNlckRhdGEgKi8s
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgR1JlZlB0cjxXZWJLaXROYXZpZ2F0aW9u
UG9saWN5RGVjaXNpb24+IGRlY2lzaW9uID0KLSAgICAgICAgYWRvcHRHUmVmKHdlYmtpdE5hdmln
YXRpb25Qb2xpY3lEZWNpc2lvbkNyZWF0ZSh0b1dlYktpdE5hdmlnYXRpb25UeXBlKG5hdmlnYXRp
b25UeXBlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB3a0V2ZW50TW91c2VCdXR0b25Ub1dlYktpdE1vdXNlQnV0dG9uKG1vdXNlQnV0dG9u
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB3a0V2ZW50TW9kaWZpZXJzVG9HZGtNb2RpZmllcnMobW9kaWZpZXJzKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b0ltcGwocmVxdWVz
dCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdG9JbXBsKGZyYW1lTmFtZSktPnN0cmluZygpLnV0ZjgoKS5kYXRhKCksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9JbXBsKGxpc3Rl
bmVyKSkpOwotICAgIHdlYmtpdFdlYlZpZXdNYWtlUG9saWN5RGVjaXNpb24oV0VCS0lUX1dFQl9W
SUVXKGNsaWVudEluZm8pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VC
S0lUX1BPTElDWV9ERUNJU0lPTl9UWVBFX05FV19XSU5ET1dfQUNUSU9OLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BPTElDWV9ERUNJU0lPTihkZWNpc2lvbi5n
ZXQoKSkpOwotfQorICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rp
b24oV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0IE5hdmlnYXRpb25BY3Rpb25E
YXRhJiBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgUmVmUHRyPFdlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eT4gbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiAvKnVzZXJEYXRhKi8pIG92ZXJy
aWRlCisgICAgeworICAgICAgICBHUmVmUHRyPFdlYktpdFBvbGljeURlY2lzaW9uPiBkZWNpc2lv
biA9IGFkb3B0R1JlZih3ZWJraXROZXdXaW5kb3dQb2xpY3lEZWNpc2lvbkNyZWF0ZShuYXZpZ2F0
aW9uQWN0aW9uRGF0YSwgcmVxdWVzdCwgZnJhbWVOYW1lLCBsaXN0ZW5lci5nZXQoKSkpOworICAg
ICAgICB3ZWJraXRXZWJWaWV3TWFrZVBvbGljeURlY2lzaW9uKG1fd2ViVmlldywgV0VCS0lUX1BP
TElDWV9ERUNJU0lPTl9UWVBFX05FV19XSU5ET1dfQUNUSU9OLCBkZWNpc2lvbi5nZXQoKSk7Cisg
ICAgfQogCi1zdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZShXS1BhZ2VSZWYsIFdL
RnJhbWVSZWYsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1
ZXN0LCBib29sIGNhblNob3dNSU1FVHlwZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3Rl
bmVyLCBXS1R5cGVSZWYgLyogdXNlckRhdGEgKi8sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17
Ci0gICAgR1JlZlB0cjxXZWJLaXRSZXNwb25zZVBvbGljeURlY2lzaW9uPiBkZWNpc2lvbiA9Ci0g
ICAgICAgIGFkb3B0R1JlZih3ZWJraXRSZXNwb25zZVBvbGljeURlY2lzaW9uQ3JlYXRlKHRvSW1w
bChyZXF1ZXN0KSwgdG9JbXBsKHJlc3BvbnNlKSwgY2FuU2hvd01JTUVUeXBlLCB0b0ltcGwobGlz
dGVuZXIpKSk7Ci0gICAgd2Via2l0V2ViVmlld01ha2VQb2xpY3lEZWNpc2lvbihXRUJLSVRfV0VC
X1ZJRVcoY2xpZW50SW5mbyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBX
RUJLSVRfUE9MSUNZX0RFQ0lTSU9OX1RZUEVfUkVTUE9OU0UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uLmdldCgpKSk7
Ci19CisgICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdlYlBhZ2VQcm94
eSosIFdlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBib29sIGNhblNo
b3dNSU1FVHlwZSwgUmVmUHRyPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbGlzdGVuZXIs
IEFQSTo6T2JqZWN0KiAvKnVzZXJEYXRhKi8pIG92ZXJyaWRlCisgICAgeworICAgICAgICBHUmVm
UHRyPFdlYktpdFBvbGljeURlY2lzaW9uPiBkZWNpc2lvbiA9IGFkb3B0R1JlZih3ZWJraXRSZXNw
b25zZVBvbGljeURlY2lzaW9uQ3JlYXRlKHJlcXVlc3QsIHJlc3BvbnNlLCBjYW5TaG93TUlNRVR5
cGUsIGxpc3RlbmVyLmdldCgpKSk7CisgICAgICAgIHdlYmtpdFdlYlZpZXdNYWtlUG9saWN5RGVj
aXNpb24obV93ZWJWaWV3LCBXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OX1RZUEVfUkVTUE9OU0UsIGRl
Y2lzaW9uLmdldCgpKTsKKyAgICB9CisKKyAgICBXZWJLaXRXZWJWaWV3KiBtX3dlYlZpZXc7Cit9
OwogCiB2b2lkIGF0dGFjaFBvbGljeUNsaWVudFRvVmlldyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3
KQogewotICAgIFdLUGFnZVBvbGljeUNsaWVudFYxIHBvbGljeUNsaWVudCA9IHsKLSAgICAgICAg
ewotICAgICAgICAgICAgMSwgLy8gdmVyc2lvbgotICAgICAgICAgICAgd2ViVmlldywgLy8gY2xp
ZW50SW5mbwotICAgICAgICB9LAotICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAKLSAgICAgICAgZGVjaWRlUG9saWN5Rm9y
TmV3V2luZG93QWN0aW9uLAotICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZV9k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwCi0gICAgICAgIDAsIC8vIHVuYWJsZVRvSW1wbGVtZW50UG9s
aWN5Ci0gICAgICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24sCi0gICAgICAgIGRl
Y2lkZVBvbGljeUZvclJlc3BvbnNlCi0gICAgfTsKLSAgICBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xp
ZW50KHRvQVBJKHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3
ZWJWaWV3KSkpLCAmcG9saWN5Q2xpZW50LmJhc2UpOworICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9
IHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSk7
CisgICAgcGFnZS0+c2V0UG9saWN5Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8UG9saWN5Q2xpZW50
Pih3ZWJWaWV3KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRSZXNwb25zZVBvbGljeURlY2lzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24uY3BwCmluZGV4IGI2
MDU0YjguLjc2YzNiOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24uY3BwCkBAIC0y
MCw4ICsyMCw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0UmVzcG9u
c2VQb2xpY3lEZWNpc2lvbi5oIgogCi0jaW5jbHVkZSAiQVBJVVJMUmVxdWVzdC5oIgotI2luY2x1
ZGUgIkFQSVVSTFJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiV2ViS2l0UG9saWN5RGVjaXNpb25Qcml2
YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFVSSVJl
cXVlc3RQcml2YXRlLmgiCkBAIC0zMSw2ICsyOSw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIC8qKgogICogU0VDVElPTjogV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbgpAQCAt
MTU1LDEyICsxNTQsMTMgQEAgZ2Jvb2xlYW4gd2Via2l0X3Jlc3BvbnNlX3BvbGljeV9kZWNpc2lv
bl9pc19taW1lX3R5cGVfc3VwcG9ydGVkKFdlYktpdFJlc3BvbnNlUG8KICAgICByZXR1cm4gZGVj
aXNpb24tPnByaXYtPmNhblNob3dNSU1FVHlwZTsKIH0KIAotV2ViS2l0UmVzcG9uc2VQb2xpY3lE
ZWNpc2lvbiogd2Via2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbkNyZWF0ZShBUEk6OlVSTFJlcXVl
c3QqIHJlcXVlc3QsIEFQSTo6VVJMUmVzcG9uc2UqIHJlc3BvbnNlLCBib29sIGNhblNob3dNSU1F
VHlwZSwgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikKK1dlYktpdFBvbGlj
eURlY2lzaW9uKiB3ZWJraXRSZXNwb25zZVBvbGljeURlY2lzaW9uQ3JlYXRlKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGJv
b2wgY2FuU2hvd01JTUVUeXBlLCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkqIGxpc3RlbmVy
KQogewotICAgIFdlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uID0gV0VCS0lU
X1JFU1BPTlNFX1BPTElDWV9ERUNJU0lPTihnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfUkVTUE9O
U0VfUE9MSUNZX0RFQ0lTSU9OLCBOVUxMKSk7Ci0gICAgZGVjaXNpb24tPnByaXYtPnJlcXVlc3Qg
PSBhZG9wdEdSZWYod2Via2l0VVJJUmVxdWVzdENyZWF0ZUZvclJlc291cmNlUmVxdWVzdChyZXF1
ZXN0LT5yZXNvdXJjZVJlcXVlc3QoKSkpOwotICAgIGRlY2lzaW9uLT5wcml2LT5yZXNwb25zZSA9
IGFkb3B0R1JlZih3ZWJraXRVUklSZXNwb25zZUNyZWF0ZUZvclJlc291cmNlUmVzcG9uc2UocmVz
cG9uc2UtPnJlc291cmNlUmVzcG9uc2UoKSkpOwotICAgIGRlY2lzaW9uLT5wcml2LT5jYW5TaG93
TUlNRVR5cGUgPSBjYW5TaG93TUlNRVR5cGU7Ci0gICAgd2Via2l0UG9saWN5RGVjaXNpb25TZXRM
aXN0ZW5lcihXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uKSwgbGlzdGVuZXIpOworICAg
IFdlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24qIHJlc3BvbnNlRGVjaXNpb24gPSBXRUJLSVRf
UkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9OKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9SRVNQT05T
RV9QT0xJQ1lfREVDSVNJT04sIG51bGxwdHIpKTsKKyAgICByZXNwb25zZURlY2lzaW9uLT5wcml2
LT5yZXF1ZXN0ID0gYWRvcHRHUmVmKHdlYmtpdFVSSVJlcXVlc3RDcmVhdGVGb3JSZXNvdXJjZVJl
cXVlc3QocmVxdWVzdCkpOworICAgIHJlc3BvbnNlRGVjaXNpb24tPnByaXYtPnJlc3BvbnNlID0g
YWRvcHRHUmVmKHdlYmtpdFVSSVJlc3BvbnNlQ3JlYXRlRm9yUmVzb3VyY2VSZXNwb25zZShyZXNw
b25zZSkpOworICAgIHJlc3BvbnNlRGVjaXNpb24tPnByaXYtPmNhblNob3dNSU1FVHlwZSA9IGNh
blNob3dNSU1FVHlwZTsKKyAgICBXZWJLaXRQb2xpY3lEZWNpc2lvbiogZGVjaXNpb24gPSBXRUJL
SVRfUE9MSUNZX0RFQ0lTSU9OKHJlc3BvbnNlRGVjaXNpb24pOworICAgIHdlYmtpdFBvbGljeURl
Y2lzaW9uU2V0TGlzdGVuZXIoZGVjaXNpb24sIGxpc3RlbmVyKTsKICAgICByZXR1cm4gZGVjaXNp
b247CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRSZXNwb25zZVBvbGljeURlY2lzaW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvblByaXZhdGUuaAppbmRleCBm
ZjgzYTdkLi4yZmY5MTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRSZXNwb25zZVBvbGljeURlY2lzaW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb25Qcml2
YXRlLmgKQEAgLTIzLDYgKzIzLDYgQEAKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5j
bHVkZSAiV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbi5oIgogCi1XZWJLaXRSZXNwb25zZVBv
bGljeURlY2lzaW9uKiB3ZWJraXRSZXNwb25zZVBvbGljeURlY2lzaW9uQ3JlYXRlKEFQSTo6VVJM
UmVxdWVzdCosIEFQSTo6VVJMUmVzcG9uc2UqLCBib29sIGNhblNob3dNSU1FVHlwZSwgV2ViS2l0
OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkqKTsKK1dlYktpdFBvbGljeURlY2lzaW9uKiB3
ZWJraXRSZXNwb25zZVBvbGljeURlY2lzaW9uQ3JlYXRlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBib29sIGNhblNob3dN
SU1FVHlwZSwgV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkqKTsKIAogI2VuZGlm
IC8vIFdlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb25Qcml2YXRlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWwg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstZG9jcy5z
Z21sCmluZGV4IDAzMGQ1NjAuLjY2Mzg3ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2NzLnNnbWwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLWRvY3Muc2dtbApAQCAtNTgs
MTEgKzU4LDE2IEBACiAgIDxpbmRleCBpZD0iaW5kZXgtYWxsIj4KICAgICA8dGl0bGU+SW5kZXg8
L3RpdGxlPgogICA8L2luZGV4PgotICAKKworICA8aW5kZXggaWQ9ImFwaS1pbmRleC1kZXByZWNh
dGVkIiByb2xlPSJkZXByZWNhdGVkIj4KKyAgICA8dGl0bGU+SW5kZXggb2YgZGVwcmVjYXRlZCBz
eW1ib2xzPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LWRlcHJl
Y2F0ZWQueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisKICAg
PGluZGV4IGlkPSJhcGktaW5kZXgtMi0yIiByb2xlPSIyLjIiPgogICAgIDx0aXRsZT5JbmRleCBv
ZiBuZXcgc3ltYm9scyBpbiAyLjI8L3RpdGxlPgogICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9h
cGktaW5kZXgtMi4yLnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgotICA8L2luZGV4
PiAgCisgIDwvaW5kZXg+CiAKICAgPGluZGV4IGlkPSJhcGktaW5kZXgtMi00IiByb2xlPSIyLjQi
PgogICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjQ8L3RpdGxlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNl
Y3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0
Mmd0ay1zZWN0aW9ucy50eHQKaW5kZXggZTQ2ZGMyZS4uN2M0ODAzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGst
c2VjdGlvbnMudHh0CkBAIC0xNiw3ICsxNiw4IEBAIFdFQktJVF9XRUJfVklFV19CQVNFX0dFVF9D
TEFTUwogd2Via2l0X3dlYl92aWV3X2Jhc2VfZ2V0X3R5cGUKIFdlYktpdFdlYlZpZXdCYXNlUHJp
dmF0ZQogV0VCS0lUX0FQSQotV0VCS0lUX09CU09MRVRFX0FQSQorV0VCS0lUX0RFUFJFQ0FURUQK
K1dFQktJVF9ERVBSRUNBVEVEX0ZPUgogPC9TRUNUSU9OPgogCiA8U0VDVElPTj4KQEAgLTYxMyw2
ICs2MTQsNyBAQCB3ZWJraXRfcG9saWN5X2RlY2lzaW9uX2dldF90eXBlCiA8RklMRT5XZWJLaXRO
YXZpZ2F0aW9uUG9saWN5RGVjaXNpb248L0ZJTEU+CiBXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVj
aXNpb24KIFdlYktpdE5hdmlnYXRpb25UeXBlCit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVj
aXNpb25fZ2V0X25hdmlnYXRpb25fYWN0aW9uCiB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVj
aXNpb25fZ2V0X2ZyYW1lX25hbWUKIHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9n
ZXRfbW9kaWZpZXJzCiB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X21vdXNl
X2J1dHRvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGNjZmE4OTIuLjlhYWJkNTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNC0wOC0wNyAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gVXNlIFdlYktp
dE5hdmlnYXRpb25BY3Rpb24gYWxzbyBmb3IgV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU2OTUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgV2Vi
S2l0TmF2aWdhdGlvbkFjdGlvbiBBUEkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJv
d3NlcldpbmRvdy5jOgorICAgICAgICAod2ViVmlld0RlY2lkZVBvbGljeSk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRQb2xpY3lDbGllbnQuY3Bw
OgorICAgICAgICAodGVzdE5hdmlnYXRpb25Qb2xpY3kpOgorCiAyMDE0LTA4LTA2ICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBFTkFCTEVfQ1NTX1RSQU5TRk9STVNf
QU5JTUFUSU9OU19VTlBSRUZJWEVEIGlzIG5vdCB1c2VkIGFueXdoZXJlLiBSZW1vdmUgaXQuCmRp
ZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jIGIvVG9vbHMv
TWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYwppbmRleCA2NWIwOTZjLi4yNzU0OTMxIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jCisrKyBiL1Rv
b2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMKQEAgLTM3MCwxNSArMzcwLDE1IEBA
IHN0YXRpYyBnYm9vbGVhbiB3ZWJWaWV3RGVjaWRlUG9saWN5KFdlYktpdFdlYlZpZXcgKndlYlZp
ZXcsIFdlYktpdFBvbGljeURlY2lzaW9uCiB7CiAgICAgc3dpdGNoIChkZWNpc2lvblR5cGUpIHsK
ICAgICBjYXNlIFdFQktJVF9QT0xJQ1lfREVDSVNJT05fVFlQRV9OQVZJR0FUSU9OX0FDVElPTjog
ewotICAgICAgICBXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24gKm5hdmlnYXRpb25EZWNp
c2lvbiA9IFdFQktJVF9OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTihkZWNpc2lvbik7Ci0gICAg
ICAgIGlmICh3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X25hdmlnYXRpb25f
dHlwZShuYXZpZ2F0aW9uRGVjaXNpb24pICE9IFdFQktJVF9OQVZJR0FUSU9OX1RZUEVfTElOS19D
TElDS0VECi0gICAgICAgICAgICB8fCB3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25f
Z2V0X21vdXNlX2J1dHRvbihuYXZpZ2F0aW9uRGVjaXNpb24pICE9IEdES19CVVRUT05fTUlERExF
KQorICAgICAgICBXZWJLaXROYXZpZ2F0aW9uQWN0aW9uICpuYXZpZ2F0aW9uQWN0aW9uID0gd2Vi
a2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9uYXZpZ2F0aW9uX2FjdGlvbihXRUJL
SVRfTkFWSUdBVElPTl9QT0xJQ1lfREVDSVNJT04oZGVjaXNpb24pKTsKKyAgICAgICAgaWYgKHdl
YmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfbmF2aWdhdGlvbl90eXBlKG5hdmlnYXRpb25BY3Rp
b24pICE9IFdFQktJVF9OQVZJR0FUSU9OX1RZUEVfTElOS19DTElDS0VECisgICAgICAgICAgICB8
fCB3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X21vdXNlX2J1dHRvbihuYXZpZ2F0aW9uQWN0
aW9uKSAhPSBHREtfQlVUVE9OX01JRERMRSkKICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKIAog
ICAgICAgICAvLyBPcGVuaW5nIGEgbmV3IHdpbmRvdyBpZiBsaW5rIGNsaWNrZWQgd2l0aCB0aGUg
bWlkZGxlIGJ1dHRvbi4KICAgICAgICAgV2ViS2l0V2ViVmlldyAqbmV3V2ViVmlldyA9IFdFQktJ
VF9XRUJfVklFVyh3ZWJraXRfd2ViX3ZpZXdfbmV3X3dpdGhfY29udGV4dCh3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X2NvbnRleHQod2ViVmlldykpKTsKICAgICAgICAgR3RrV2lkZ2V0ICpuZXdXaW5kb3cg
PSBicm93c2VyX3dpbmRvd19uZXcobmV3V2ViVmlldywgR1RLX1dJTkRPVyh3aW5kb3cpKTsKLSAg
ICAgICAgd2Via2l0X3dlYl92aWV3X2xvYWRfcmVxdWVzdChuZXdXZWJWaWV3LCB3ZWJraXRfbmF2
aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X3JlcXVlc3QobmF2aWdhdGlvbkRlY2lzaW9uKSk7
CisgICAgICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX3JlcXVlc3QobmV3V2ViVmlldywgd2Via2l0
X25hdmlnYXRpb25fYWN0aW9uX2dldF9yZXF1ZXN0KG5hdmlnYXRpb25BY3Rpb24pKTsKICAgICAg
ICAgZ3RrX3dpZGdldF9zaG93KG5ld1dpbmRvdyk7CiAKICAgICAgICAgd2Via2l0X3BvbGljeV9k
ZWNpc2lvbl9pZ25vcmUoZGVjaXNpb24pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRQb2xpY3lDbGllbnQuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRQb2xpY3lDbGllbnQuY3BwCmlu
ZGV4IGZhOTEyNTcuLjg1MTQwZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mkd0ay9UZXN0V2ViS2l0UG9saWN5Q2xpZW50LmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvVGVzdFdlYktpdFBvbGljeUNsaWVudC5jcHAKQEAg
LTExNywxMSArMTE3LDEyIEBAIHN0YXRpYyB2b2lkIHRlc3ROYXZpZ2F0aW9uUG9saWN5KFBvbGlj
eUNsaWVudFRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgLy8gSWRlYWxseSB3ZSdkIGxp
a2UgdG8gaGF2ZSBhIG1vcmUgaW50ZW5zaXZlIHRlc3QgaGVyZSwgYnV0IGl0J3Mgc3RpbGwgcHJl
dHR5IHRyaWNreQogICAgIC8vIHRvIHRyaWdnZXIgZGlmZmVyZW50IHR5cGVzIG9mIG5hdmlnYXRp
b25zIHdpdGggdGhlIEdUSysgV2ViS2l0MiBBUEkuCiAgICAgV2ViS2l0TmF2aWdhdGlvblBvbGlj
eURlY2lzaW9uKiBkZWNpc2lvbiA9IFdFQktJVF9OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTih0
ZXN0LT5tX3ByZXZpb3VzUG9saWN5RGVjaXNpb24uZ2V0KCkpOwotICAgIGdfYXNzZXJ0X2NtcGlu
dCh3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X25hdmlnYXRpb25fdHlwZShk
ZWNpc2lvbiksID09LCBXRUJLSVRfTkFWSUdBVElPTl9UWVBFX09USEVSKTsKLSAgICBnX2Fzc2Vy
dF9jbXBpbnQod2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9tb3VzZV9idXR0
b24oZGVjaXNpb24pLCA9PSwgMCk7Ci0gICAgZ19hc3NlcnRfY21waW50KHdlYmtpdF9uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbW9kaWZpZXJzKGRlY2lzaW9uKSwgPT0sIDApOwotICAg
IGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X2Zy
YW1lX25hbWUoZGVjaXNpb24pLCA9PSwgMCk7Ci0gICAgV2ViS2l0VVJJUmVxdWVzdCogcmVxdWVz
dCA9IHdlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfcmVxdWVzdChkZWNpc2lv
bik7CisgICAgV2ViS2l0TmF2aWdhdGlvbkFjdGlvbiogbmF2aWdhdGlvbkFjdGlvbiA9IHdlYmtp
dF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl9hY3Rpb24oZGVjaXNp
b24pOworICAgIGdfYXNzZXJ0X2NtcGludCh3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X25h
dmlnYXRpb25fdHlwZShuYXZpZ2F0aW9uQWN0aW9uKSwgPT0sIFdFQktJVF9OQVZJR0FUSU9OX1RZ
UEVfT1RIRVIpOworICAgIGdfYXNzZXJ0X2NtcGludCh3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25f
Z2V0X21vdXNlX2J1dHRvbihuYXZpZ2F0aW9uQWN0aW9uKSwgPT0sIDApOworICAgIGdfYXNzZXJ0
X2NtcGludCh3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X21vZGlmaWVycyhuYXZpZ2F0aW9u
QWN0aW9uKSwgPT0sIDApOworICAgIGdfYXNzZXJ0KCF3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lf
ZGVjaXNpb25fZ2V0X2ZyYW1lX25hbWUoZGVjaXNpb24pKTsKKyAgICBXZWJLaXRVUklSZXF1ZXN0
KiByZXF1ZXN0ID0gd2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF9yZXF1ZXN0KG5hdmlnYXRp
b25BY3Rpb24pOwogICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X3Vy
aShyZXF1ZXN0KSwgPT0sICJodHRwOi8vd2Via2l0Z3RrLm9yZy8iKTsKIAogICAgIHRlc3QtPm1f
cG9saWN5RGVjaXNpb25SZXNwb25zZSA9IFBvbGljeUNsaWVudFRlc3Q6OlVzZTsK
</data>
<flag name="review"
          id="260767"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>