<?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>173312</bug_id>
          
          <creation_ts>2017-06-13 06:15:58 -0700</creation_ts>
          <short_desc>[GTK] Use API::NotificationProvider</short_desc>
          <delta_ts>2017-06-15 01:32:20 -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>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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>173309</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>buildbot</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1318635</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-13 06:15:58 -0700</bug_when>
    <thetext>Instead of the C API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318636</commentid>
    <comment_count>1</comment_count>
      <attachid>312767</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-13 06:19:30 -0700</bug_when>
    <thetext>Created attachment 312767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319017</commentid>
    <comment_count>2</comment_count>
      <attachid>312864</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-13 23:23:36 -0700</bug_when>
    <thetext>Created attachment 312864
Patch

I submitted a patch from a different bug :-P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319018</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-13 23:25:33 -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>1319048</commentid>
    <comment_count>4</comment_count>
      <attachid>312864</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-06-14 01:24:03 -0700</bug_when>
    <thetext>Comment on attachment 312864
Patch

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

Informal r+, but please fix the issue with the header before landing.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitNotificationProvider.cpp:31
&gt; +#include &quot;APINotificationProvider.h&quot;

The EWS cannot find this header. I think some include directory may be missing from
the compiler command line. It seems to be the same issue as for the patch attached
in bug #173351.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319049</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-14 01:25:45 -0700</bug_when>
    <thetext>It depends on bug #173309</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319498</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-15 01:32:20 -0700</bug_when>
    <thetext>Committed r218322: &lt;http://trac.webkit.org/changeset/218322&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312767</attachid>
            <date>2017-06-13 06:19:30 -0700</date>
            <delta_ts>2017-06-13 23:23:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-api-notification-provider.diff</filename>
            <type>text/plain</type>
            <size>23311</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmODI2NmY2ZTQ5MC4uM2Y3MmM3ZTMxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw0NyBAQAogMjAxNy0wNi0xMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgQWRkIEFQSTo6Tm90aWZpY2F0aW9uUHJvdmlkZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzMwOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0IHdpbGwgYmUgdXNl
ZCBieSB0aGUgR1RLKyBwb3J0IGluc3RlYWQgb2YgdGhlIEMgQVBJLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9BUElOb3RpZmljYXRpb25Qcm92aWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5o
LgorICAgICAgICAoQVBJOjpOb3RpZmljYXRpb25Qcm92aWRlcjo6c2hvdyk6CisgICAgICAgIChB
UEk6Ok5vdGlmaWNhdGlvblByb3ZpZGVyOjpjYW5jZWwpOgorICAgICAgICAoQVBJOjpOb3RpZmlj
YXRpb25Qcm92aWRlcjo6ZGlkRGVzdHJveU5vdGlmaWNhdGlvbik6CisgICAgICAgIChBUEk6Ok5v
dGlmaWNhdGlvblByb3ZpZGVyOjpjbGVhck5vdGlmaWNhdGlvbnMpOgorICAgICAgICAoQVBJOjpO
b3RpZmljYXRpb25Qcm92aWRlcjo6YWRkTm90aWZpY2F0aW9uTWFuYWdlcik6CisgICAgICAgIChB
UEk6Ok5vdGlmaWNhdGlvblByb3ZpZGVyOjpyZW1vdmVOb3RpZmljYXRpb25NYW5hZ2VyKToKKyAg
ICAgICAgKEFQSTo6Tm90aWZpY2F0aW9uUHJvdmlkZXI6Om5vdGlmaWNhdGlvblBlcm1pc3Npb25z
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoK
KyAgICAgICAgKFdLTm90aWZpY2F0aW9uTWFuYWdlclNldFByb3ZpZGVyKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OldlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJQcm94eTo6c2V0UHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25N
YW5hZ2VyUHJveHk6OnByb2Nlc3NQb29sRGVzdHJveWVkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5Ojpub3RpZmljYXRpb25QZXJtaXNzaW9ucyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6c2hvdyk6CisgICAgICAg
IChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6Y2FuY2VsKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpkaWREZXN0cm95Tm90aWZpY2F0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpjbGVh
ck5vdGlmaWNhdGlvbnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90
aWZpY2F0aW9uUHJvdmlkZXI6OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyKToKKyAgICAgICAgKFdl
YktpdDo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnNob3cpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6Y2FuY2VsKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90
aWZpY2F0aW9uUHJvdmlkZXI6OmRpZERlc3Ryb3lOb3RpZmljYXRpb24pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6YWRkTm90aWZpY2F0aW9uTWFuYWdlcik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpyZW1vdmVOb3RpZmljYXRp
b25NYW5hZ2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6Om5v
dGlmaWNhdGlvblBlcm1pc3Npb25zKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdX
ZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKKzIwMTctMDYtMTMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCiAgICAgICAgIE9iamVjdHMgb3duaW5nIEFQSSBjbGllbnRzIHNob3VsZCB1c2UgVW5pcXVl
UmVmCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzMy
NjYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElOb3RpZmlj
YXRpb25Qcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElOb3RpZmlj
YXRpb25Qcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41
YzhjOWJkYjY5NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQVBJTm90aWZpY2F0aW9uUHJvdmlkZXIuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViTm90aWZpY2F0aW9uOworY2xhc3MgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlclByb3h5OworY2xhc3MgV2ViUGFnZVByb3h5OworfQorCituYW1lc3BhY2Ug
QVBJIHsKKworY2xhc3MgTm90aWZpY2F0aW9uUHJvdmlkZXIgeworcHVibGljOgorICAgIHZpcnR1
YWwgfk5vdGlmaWNhdGlvblByb3ZpZGVyKCkgPSBkZWZhdWx0OworCisgICAgdmlydHVhbCB2b2lk
IHNob3coV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbiYpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoV2ViS2l0OjpXZWJOb3RpZmljYXRpb24mKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbihXZWJLaXQ6OldlYk5vdGlm
aWNhdGlvbiYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoY29uc3Qg
VmVjdG9yPHVpbnQ2NF90PiYgLypub3RpZmljYXRpb25JRHMqLykgeyB9CisKKyAgICB2aXJ0dWFs
IHZvaWQgYWRkTm90aWZpY2F0aW9uTWFuYWdlcihXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJQcm94eSYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZW1vdmVOb3RpZmljYXRpb25NYW5hZ2Vy
KFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5JikgeyB9CisKKyAgICB2aXJ0dWFs
IEhhc2hNYXA8V1RGOjpTdHJpbmcsIGJvb2w+IG5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCkgeyBy
ZXR1cm4gSGFzaE1hcDxXVEY6OlN0cmluZywgYm9vbD4oKTsgfTsKK307CisKK30gLy8gbmFtZXNw
YWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90
aWZpY2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tO
b3RpZmljYXRpb25NYW5hZ2VyLmNwcAppbmRleCA0NzZmMDhiYmExMy4uYjIyM2Q2Zjg3YmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNh
dGlvbk1hbmFnZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiV0tBUElDYXN0Lmgi
CiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9u
TWFuYWdlclByb3h5LmgiCisjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaCIKIAog
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNDAsNyArNDEsNyBAQCBXS1R5cGVJRCBXS05v
dGlmaWNhdGlvbk1hbmFnZXJHZXRUeXBlSUQoKQogCiB2b2lkIFdLTm90aWZpY2F0aW9uTWFuYWdl
clNldFByb3ZpZGVyKFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZiBtYW5hZ2VyUmVmLCBjb25zdCBX
S05vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSogd2tQcm92aWRlcikKIHsKLSAgICB0b0ltcGwobWFu
YWdlclJlZiktPmluaXRpYWxpemVQcm92aWRlcih3a1Byb3ZpZGVyKTsKKyAgICB0b0ltcGwobWFu
YWdlclJlZiktPnNldFByb3ZpZGVyKHN0ZDo6bWFrZV91bmlxdWU8V2ViTm90aWZpY2F0aW9uUHJv
dmlkZXI+KHdrUHJvdmlkZXIpKTsKIH0KIAogdm9pZCBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92
aWRlckRpZFNob3dOb3RpZmljYXRpb24oV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIG1hbmFnZXJS
ZWYsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXJQcm94eS5jcHAKaW5kZXggMjE4YmMyZmQ0MGUuLjE1OGEzOWQ5YzJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25N
YW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAgLTI3LDcgKzI3LDcgQEAKICNp
bmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaCIKIAogI2luY2x1ZGUgIkFQSUFy
cmF5LmgiCi0jaW5jbHVkZSAiQVBJRGljdGlvbmFyeS5oIgorI2luY2x1ZGUgIkFQSU5vdGlmaWNh
dGlvblByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiQVBJU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJXZWJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVz
c2FnZXMuaCIKQEAgLTU3LDIwICs1NywyNiBAQCBSZWY8V2ViTm90aWZpY2F0aW9uTWFuYWdlclBy
b3h5PiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OmNyZWF0ZShXZWJQcm9jZXNzUAogCiBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eShX
ZWJQcm9jZXNzUG9vbCogcHJvY2Vzc1Bvb2wpCiAgICAgOiBXZWJDb250ZXh0U3VwcGxlbWVudChw
cm9jZXNzUG9vbCkKKyAgICAsIG1fcHJvdmlkZXIobWFrZVVuaXF1ZVJlZjxBUEk6Ok5vdGlmaWNh
dGlvblByb3ZpZGVyPigpKQogewogfQogCi12b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94
eTo6aW5pdGlhbGl6ZVByb3ZpZGVyKGNvbnN0IFdLTm90aWZpY2F0aW9uUHJvdmlkZXJCYXNlKiBw
cm92aWRlcikKK3ZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzZXRQcm92aWRlcihz
dGQ6OnVuaXF1ZV9wdHI8QVBJOjpOb3RpZmljYXRpb25Qcm92aWRlcj4mJiBwcm92aWRlcikKIHsK
LSAgICBtX3Byb3ZpZGVyLmluaXRpYWxpemUocHJvdmlkZXIpOwotICAgIG1fcHJvdmlkZXIuYWRk
Tm90aWZpY2F0aW9uTWFuYWdlcih0aGlzKTsKKyAgICBpZiAoIXByb3ZpZGVyKSB7CisgICAgICAg
IG1fcHJvdmlkZXIgPSBtYWtlVW5pcXVlUmVmPEFQSTo6Tm90aWZpY2F0aW9uUHJvdmlkZXI+KCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3Byb3ZpZGVyID0gV1RGTW92ZShwcm92
aWRlcik7CisgICAgbV9wcm92aWRlci0+YWRkTm90aWZpY2F0aW9uTWFuYWdlcigqdGhpcyk7CiB9
CiAKIC8vIFdlYkNvbnRleHRTdXBwbGVtZW50CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdl
clByb3h5Ojpwcm9jZXNzUG9vbERlc3Ryb3llZCgpCiB7Ci0gICAgbV9wcm92aWRlci5yZW1vdmVO
b3RpZmljYXRpb25NYW5hZ2VyKHRoaXMpOworICAgIG1fcHJvdmlkZXItPnJlbW92ZU5vdGlmaWNh
dGlvbk1hbmFnZXIoKnRoaXMpOwogfQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94
eTo6cmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKQpAQCAtODMsMTkgKzg5LDkgQEAgdm9pZCBXZWJO
b3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OmRlcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKQogICAg
IEFQSTo6T2JqZWN0OjpkZXJlZigpOwogfQogCi12b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQ
cm94eTo6cG9wdWxhdGVDb3B5T2ZOb3RpZmljYXRpb25QZXJtaXNzaW9ucyhIYXNoTWFwPFN0cmlu
ZywgYm9vbD4mIHBlcm1pc3Npb25zKQorSGFzaE1hcDxTdHJpbmcsIGJvb2w+IFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eTo6bm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKQogewotICAgIFJlZlB0
cjxBUEk6OkRpY3Rpb25hcnk+IGtub3duUGVybWlzc2lvbnMgPSBtX3Byb3ZpZGVyLm5vdGlmaWNh
dGlvblBlcm1pc3Npb25zKCk7Ci0KLSAgICBpZiAoIWtub3duUGVybWlzc2lvbnMpCi0gICAgICAg
IHJldHVybjsKLQotICAgIHBlcm1pc3Npb25zLmNsZWFyKCk7Ci0gICAgUmVmPEFQSTo6QXJyYXk+
IGtub3duT3JpZ2lucyA9IGtub3duUGVybWlzc2lvbnMtPmtleXMoKTsKLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGtub3duT3JpZ2lucy0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgQVBJOjpT
dHJpbmcqIG9yaWdpbiA9IGtub3duT3JpZ2lucy0+YXQ8QVBJOjpTdHJpbmc+KGkpOwotICAgICAg
ICBwZXJtaXNzaW9ucy5zZXQob3JpZ2luLT5zdHJpbmcoKSwga25vd25QZXJtaXNzaW9ucy0+Z2V0
PEFQSTo6Qm9vbGVhbj4ob3JpZ2luLT5zdHJpbmcoKSktPnZhbHVlKCkpOwotICAgIH0KKyAgICBy
ZXR1cm4gbV9wcm92aWRlci0+bm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKIH0KIAogdm9pZCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OnNob3coV2ViUGFnZVByb3h5KiB3ZWJQYWdlLCBj
b25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNv
blVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgbGFuZywgV2ViQ29yZTo6Tm90
aWZpY2F0aW9uRGlyZWN0aW9uIGRpciwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2
NF90IHBhZ2VOb3RpZmljYXRpb25JRCkKQEAgLTEwNSwxMyArMTAxLDEzIEBAIHZvaWQgV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzaG93KFdlYlBhZ2VQcm94eSogd2ViUGFnZSwgY29uc3Qg
U3RyaW5nJiB0aXRsCiAgICAgc3RkOjpwYWlyPHVpbnQ2NF90LCB1aW50NjRfdD4gbm90aWZpY2F0
aW9uSURQYWlyID0gc3RkOjptYWtlX3BhaXIod2ViUGFnZS0+cGFnZUlEKCksIHBhZ2VOb3RpZmlj
YXRpb25JRCk7CiAgICAgbV9nbG9iYWxOb3RpZmljYXRpb25NYXAuc2V0KGdsb2JhbE5vdGlmaWNh
dGlvbklELCBub3RpZmljYXRpb25JRFBhaXIpOwogICAgIG1fbm90aWZpY2F0aW9ucy5zZXQobm90
aWZpY2F0aW9uSURQYWlyLCBzdGQ6Om1ha2VfcGFpcihnbG9iYWxOb3RpZmljYXRpb25JRCwgbm90
aWZpY2F0aW9uKSk7Ci0gICAgbV9wcm92aWRlci5zaG93KHdlYlBhZ2UsIG5vdGlmaWNhdGlvbi5n
ZXQoKSk7CisgICAgbV9wcm92aWRlci0+c2hvdygqd2ViUGFnZSwgKm5vdGlmaWNhdGlvbik7CiB9
CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpjYW5jZWwoV2ViUGFnZVByb3h5
KiB3ZWJQYWdlLCB1aW50NjRfdCBwYWdlTm90aWZpY2F0aW9uSUQpCiB7CiAgICAgaWYgKFdlYk5v
dGlmaWNhdGlvbiogbm90aWZpY2F0aW9uID0gbV9ub3RpZmljYXRpb25zLmdldChzdGQ6Om1ha2Vf
cGFpcih3ZWJQYWdlLT5wYWdlSUQoKSwgcGFnZU5vdGlmaWNhdGlvbklEKSkuc2Vjb25kLmdldCgp
KQotICAgICAgICBtX3Byb3ZpZGVyLmNhbmNlbChub3RpZmljYXRpb24pOworICAgICAgICBtX3By
b3ZpZGVyLT5jYW5jZWwoKm5vdGlmaWNhdGlvbik7CiB9CiAgICAgCiB2b2lkIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eTo6ZGlkRGVzdHJveU5vdGlmaWNhdGlvbihXZWJQYWdlUHJveHkqIHdl
YlBhZ2UsIHVpbnQ2NF90IHBhZ2VOb3RpZmljYXRpb25JRCkKQEAgLTEyMCw3ICsxMTYsNyBAQCB2
b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6ZGlkRGVzdHJveU5vdGlmaWNhdGlvbihX
ZWJQYWdlUHJveHkqIHdlYlBhZ2UsCiAgICAgaWYgKHVpbnQ2NF90IGdsb2JhbE5vdGlmaWNhdGlv
bklEID0gZ2xvYmFsSUROb3RpZmljYXRpb25QYWlyLmZpcnN0KSB7CiAgICAgICAgIFdlYk5vdGlm
aWNhdGlvbiogbm90aWZpY2F0aW9uID0gZ2xvYmFsSUROb3RpZmljYXRpb25QYWlyLnNlY29uZC5n
ZXQoKTsKICAgICAgICAgbV9nbG9iYWxOb3RpZmljYXRpb25NYXAucmVtb3ZlKGdsb2JhbE5vdGlm
aWNhdGlvbklEKTsKLSAgICAgICAgbV9wcm92aWRlci5kaWREZXN0cm95Tm90aWZpY2F0aW9uKG5v
dGlmaWNhdGlvbik7CisgICAgICAgIG1fcHJvdmlkZXItPmRpZERlc3Ryb3lOb3RpZmljYXRpb24o
Km5vdGlmaWNhdGlvbik7CiAgICAgfQogfQogCkBAIC0xNjYsNyArMTYyLDcgQEAgdm9pZCBXZWJO
b3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OmNsZWFyTm90aWZpY2F0aW9ucyhXZWJQYWdlUHJveHkq
IHdlYlBhZ2UsIGNvbnMKICAgICAgICAgbV9ub3RpZmljYXRpb25zLnJlbW92ZShwYWdlTm90aWZp
Y2F0aW9uKTsKICAgICB9CiAKLSAgICBtX3Byb3ZpZGVyLmNsZWFyTm90aWZpY2F0aW9ucyhnbG9i
YWxOb3RpZmljYXRpb25JRHMpOworICAgIG1fcHJvdmlkZXItPmNsZWFyTm90aWZpY2F0aW9ucyhn
bG9iYWxOb3RpZmljYXRpb25JRHMpOwogfQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQ
cm94eTo6cHJvdmlkZXJEaWRTaG93Tm90aWZpY2F0aW9uKHVpbnQ2NF90IGdsb2JhbE5vdGlmaWNh
dGlvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaAppbmRleCA4M2Mx
Yjg0YzIwNi4uMmUyNjRiMmMwOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQ
cm94eS5oCkBAIC0yOSw5ICsyOSw5IEBACiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dFN1cHBsZW1lbnQuaCIK
LSNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRl
IDx3dGYvVW5pcXVlUmVmLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCwxMSArNDAsMTMgQEAgZW51bSBjbGFzcyBOb3RpZmlj
YXRpb25EaXJlY3Rpb247CiAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgQXJyYXk7CitjbGFzcyBO
b3RpZmljYXRpb25Qcm92aWRlcjsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogfQogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAorY2xhc3MgV2ViTm90aWZpY2F0aW9uOwogY2xhc3MgV2ViUGFnZVByb3h5
OwogY2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CiAKQEAgLTU1LDggKzU3LDggQEAgcHVibGljOgogCiAg
ICAgc3RhdGljIFJlZjxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+IGNyZWF0ZShXZWJQcm9j
ZXNzUG9vbCopOwogCi0gICAgdm9pZCBpbml0aWFsaXplUHJvdmlkZXIoY29uc3QgV0tOb3RpZmlj
YXRpb25Qcm92aWRlckJhc2UqKTsKLSAgICB2b2lkIHBvcHVsYXRlQ29weU9mTm90aWZpY2F0aW9u
UGVybWlzc2lvbnMoSGFzaE1hcDxTdHJpbmcsIGJvb2w+Jik7CisgICAgdm9pZCBzZXRQcm92aWRl
cihzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpOb3RpZmljYXRpb25Qcm92aWRlcj4mJik7CisgICAgSGFz
aE1hcDxTdHJpbmcsIGJvb2w+IG5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7CiAKICAgICB2b2lk
IHNob3coV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBi
b2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJp
bmcmIGxhbmcsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbiwgY29uc3QgU3RyaW5nJiBv
cmlnaW5TdHJpbmcsIHVpbnQ2NF90IHBhZ2VOb3RpZmljYXRpb25JRCk7CiAgICAgdm9pZCBjYW5j
ZWwoV2ViUGFnZVByb3h5KiwgdWludDY0X3QgcGFnZU5vdGlmaWNhdGlvbklEKTsKQEAgLTg2LDcg
Kzg4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlZldlYkNvbnRleHRTdXBwbGVtZW50KCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBkZXJlZldlYkNvbnRleHRTdXBwbGVtZW50KCkgb3ZlcnJpZGU7CiAK
LSAgICBXZWJOb3RpZmljYXRpb25Qcm92aWRlciBtX3Byb3ZpZGVyOworICAgIFVuaXF1ZVJlZjxB
UEk6Ok5vdGlmaWNhdGlvblByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgIC8vIFBhaXIgY29tcHJp
c2VkIG9mIHdlYiBwYWdlIElEIGFuZCB0aGUgd2ViIHByb2Nlc3MncyBub3RpZmljYXRpb24gSUQK
ICAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnBhaXI8dWludDY0X3QsIHVpbnQ2NF90Pj4gbV9n
bG9iYWxOb3RpZmljYXRpb25NYXA7CiAgICAgLy8gS2V5IHBhaXIgY29tcHJpc2VkIG9mIHdlYiBw
YWdlIElEIGFuZCB0aGUgd2ViIHByb2Nlc3MncyBub3RpZmljYXRpb24gSUQ7IHZhbHVlIHBhaXIg
Y29tcHJpc2VkIG9mIGdsb2JhbCBub3RpZmljYXRpb24gSUQsIGFuZCBub3RpZmljYXRpb24gb2Jq
ZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAKaW5kZXggZGIzNTg4Y2E0YzEu
LjI2NWMxNTlkOWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCkBAIC0z
NywyOCArMzcsMzMgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXI6OnNob3coV2ViUGFnZVByb3h5KiBwYWdlLCBXZWJOb3RpZmljYXRpb24qIG5v
dGlmaWNhdGlvbikKK1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpXZWJOb3RpZmljYXRpb25Qcm92
aWRlcihjb25zdCBXS05vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSogcHJvdmlkZXIpCit7CisgICAg
aW5pdGlhbGl6ZShwcm92aWRlcik7Cit9CisKK3ZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6
OnNob3coV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJOb3RpZmljYXRpb24mIG5vdGlmaWNhdGlvbikK
IHsKICAgICBpZiAoIW1fY2xpZW50LnNob3cpCiAgICAgICAgIHJldHVybjsKLSAgICAKLSAgICBt
X2NsaWVudC5zaG93KHRvQVBJKHBhZ2UpLCB0b0FQSShub3RpZmljYXRpb24pLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOworCisgICAgbV9jbGllbnQuc2hvdyh0b0FQSSgmcGFnZSksIHRvQVBJ
KCZub3RpZmljYXRpb24pLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi12b2lkIFdl
Yk5vdGlmaWNhdGlvblByb3ZpZGVyOjpjYW5jZWwoV2ViTm90aWZpY2F0aW9uKiBub3RpZmljYXRp
b24pCit2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpjYW5jZWwoV2ViTm90aWZpY2F0aW9u
JiBub3RpZmljYXRpb24pCiB7CiAgICAgaWYgKCFtX2NsaWVudC5jYW5jZWwpCiAgICAgICAgIHJl
dHVybjsKLSAgICAKLSAgICBtX2NsaWVudC5jYW5jZWwodG9BUEkobm90aWZpY2F0aW9uKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKworICAgIG1fY2xpZW50LmNhbmNlbCh0b0FQSSgmbm90
aWZpY2F0aW9uKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAotdm9pZCBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlcjo6ZGlkRGVzdHJveU5vdGlmaWNhdGlvbihXZWJOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbikKK3ZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OmRpZERlc3Ryb3lO
b3RpZmljYXRpb24oV2ViTm90aWZpY2F0aW9uJiBub3RpZmljYXRpb24pCiB7CiAgICAgaWYgKCFt
X2NsaWVudC5kaWREZXN0cm95Tm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm47Ci0gICAgCi0g
ICAgbV9jbGllbnQuZGlkRGVzdHJveU5vdGlmaWNhdGlvbih0b0FQSShub3RpZmljYXRpb24pLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworCisgICAgbV9jbGllbnQuZGlkRGVzdHJveU5vdGlm
aWNhdGlvbih0b0FQSSgmbm90aWZpY2F0aW9uKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsK
IH0KIAogdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6Y2xlYXJOb3RpZmljYXRpb25zKGNv
bnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykKQEAgLTc1LDI4ICs4MCwzOCBA
QCB2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpjbGVhck5vdGlmaWNhdGlvbnMoY29uc3Qg
VmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpYwogICAgIG1fY2xpZW50LmNsZWFyTm90aWZpY2F0aW9u
cyh0b0FQSShBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShhcnJheUlEcykpLnB0cigpKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAotdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRl
cjo6YWRkTm90aWZpY2F0aW9uTWFuYWdlcihXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkqIG1h
bmFnZXIpCit2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjphZGROb3RpZmljYXRpb25NYW5h
Z2VyKFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSYgbWFuYWdlcikKIHsKICAgICBpZiAoIW1f
Y2xpZW50LmFkZE5vdGlmaWNhdGlvbk1hbmFnZXIpCiAgICAgICAgIHJldHVybjsKLSAgICAKLSAg
ICBtX2NsaWVudC5hZGROb3RpZmljYXRpb25NYW5hZ2VyKHRvQVBJKG1hbmFnZXIpLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOworCisgICAgbV9jbGllbnQuYWRkTm90aWZpY2F0aW9uTWFuYWdl
cih0b0FQSSgmbWFuYWdlciksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKLXZvaWQg
V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlbW92ZU5vdGlmaWNhdGlvbk1hbmFnZXIoV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5KiBtYW5hZ2VyKQordm9pZCBXZWJOb3RpZmljYXRpb25Qcm92
aWRlcjo6cmVtb3ZlTm90aWZpY2F0aW9uTWFuYWdlcihXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJv
eHkmIG1hbmFnZXIpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5yZW1vdmVOb3RpZmljYXRpb25NYW5h
Z2VyKQogICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgbV9jbGllbnQucmVtb3ZlTm90aWZpY2F0
aW9uTWFuYWdlcih0b0FQSShtYW5hZ2VyKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKwor
ICAgIG1fY2xpZW50LnJlbW92ZU5vdGlmaWNhdGlvbk1hbmFnZXIodG9BUEkoJm1hbmFnZXIpLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi1SZWZQdHI8QVBJOjpEaWN0aW9uYXJ5PiBX
ZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6bm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKQorSGFzaE1h
cDxXVEY6OlN0cmluZywgYm9vbD4gV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6Om5vdGlmaWNhdGlv
blBlcm1pc3Npb25zKCkKIHsKKyAgICBIYXNoTWFwPFdURjo6U3RyaW5nLCBib29sPiBwZXJtaXNz
aW9uczsKICAgICBpZiAoIW1fY2xpZW50Lm5vdGlmaWNhdGlvblBlcm1pc3Npb25zKQotICAgICAg
ICByZXR1cm4gQVBJOjpEaWN0aW9uYXJ5OjpjcmVhdGUoKTsKKyAgICAgICAgcmV0dXJuIHBlcm1p
c3Npb25zOworCisgICAgUmVmUHRyPEFQSTo6RGljdGlvbmFyeT4ga25vd25QZXJtaXNzaW9ucyA9
IGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5ub3RpZmljYXRpb25QZXJtaXNzaW9ucyhtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pKSk7CisgICAgaWYgKCFrbm93blBlcm1pc3Npb25zKQorICAgICAg
ICByZXR1cm4gcGVybWlzc2lvbnM7CiAKLSAgICByZXR1cm4gYWRvcHRSZWYodG9JbXBsKG1fY2xp
ZW50Lm5vdGlmaWNhdGlvblBlcm1pc3Npb25zKG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbykpKTsK
KyAgICBSZWY8QVBJOjpBcnJheT4ga25vd25PcmlnaW5zID0ga25vd25QZXJtaXNzaW9ucy0+a2V5
cygpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga25vd25PcmlnaW5zLT5zaXplKCk7ICsr
aSkgeworICAgICAgICBBUEk6OlN0cmluZyogb3JpZ2luID0ga25vd25PcmlnaW5zLT5hdDxBUEk6
OlN0cmluZz4oaSk7CisgICAgICAgIHBlcm1pc3Npb25zLnNldChvcmlnaW4tPnN0cmluZygpLCBr
bm93blBlcm1pc3Npb25zLT5nZXQ8QVBJOjpCb29sZWFuPihvcmlnaW4tPnN0cmluZygpKS0+dmFs
dWUoKSk7CisgICAgfQorICAgIHJldHVybiBwZXJtaXNzaW9uczsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0
aW9ucy9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaAppbmRleCAyNjJiMWU1MzJk
MS4uOTVkZTkxMDVhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaApAQCAtMjcs
MTQgKzI3LDEyIEBACiAjZGVmaW5lIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyX2gKIAogI2luY2x1
ZGUgIkFQSUNsaWVudC5oIgorI2luY2x1ZGUgIkFQSU5vdGlmaWNhdGlvblByb3ZpZGVyLmgiCiAj
aW5jbHVkZSAiV0tOb3RpZmljYXRpb25Qcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgQVBJIHsKLQotY2xhc3Mg
RGljdGlvbmFyeTsKLQogdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLTm90aWZpY2F0
aW9uUHJvdmlkZXJCYXNlPiB7CiAgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLTm90aWZpY2F0aW9u
UHJvdmlkZXJWMD4gVmVyc2lvbnM7CiB9OwpAQCAtNDUsMTggKzQzLDIwIEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogY2xhc3MgV2ViTm90aWZpY2F0aW9uOwogY2xhc3MgV2ViTm90aWZpY2F0aW9uTWFu
YWdlclByb3h5OwogY2xhc3MgV2ViUGFnZVByb3h5OwotICAgIAotY2xhc3MgV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXIgOiBwdWJsaWMgQVBJOjpDbGllbnQ8V0tOb3RpZmljYXRpb25Qcm92aWRlckJh
c2U+IHsKKworY2xhc3MgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIgOiBwdWJsaWMgQVBJOjpOb3Rp
ZmljYXRpb25Qcm92aWRlciwgcHVibGljIEFQSTo6Q2xpZW50PFdLTm90aWZpY2F0aW9uUHJvdmlk
ZXJCYXNlPiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBzaG93KFdlYlBhZ2VQcm94eSosIFdlYk5vdGlm
aWNhdGlvbiopOwotICAgIHZvaWQgY2FuY2VsKFdlYk5vdGlmaWNhdGlvbiopOwotICAgIHZvaWQg
ZGlkRGVzdHJveU5vdGlmaWNhdGlvbihXZWJOb3RpZmljYXRpb24qKTsKLSAgICB2b2lkIGNsZWFy
Tm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZmljYXRpb25JRHMpOwor
ICAgIGV4cGxpY2l0IFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyKGNvbnN0IFdLTm90aWZpY2F0aW9u
UHJvdmlkZXJCYXNlKik7CisKKyAgICB2b2lkIHNob3coV2ViUGFnZVByb3h5JiwgV2ViTm90aWZp
Y2F0aW9uJikgb3ZlcnJpZGU7CisgICAgdm9pZCBjYW5jZWwoV2ViTm90aWZpY2F0aW9uJikgb3Zl
cnJpZGU7CisgICAgdm9pZCBkaWREZXN0cm95Tm90aWZpY2F0aW9uKFdlYk5vdGlmaWNhdGlvbiYp
IG92ZXJyaWRlOworICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50
NjRfdD4mIG5vdGlmaWNhdGlvbklEcykgb3ZlcnJpZGU7CisKKyAgICB2b2lkIGFkZE5vdGlmaWNh
dGlvbk1hbmFnZXIoV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Jikgb3ZlcnJpZGU7CisgICAg
dm9pZCByZW1vdmVOb3RpZmljYXRpb25NYW5hZ2VyKFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94
eSYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBhZGROb3RpZmljYXRpb25NYW5hZ2VyKFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eSopOwotICAgIHZvaWQgcmVtb3ZlTm90aWZpY2F0aW9uTWFuYWdl
cihXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkqKTsKLSAgICAKLSAgICBSZWZQdHI8QVBJOjpE
aWN0aW9uYXJ5PiBub3RpZmljYXRpb25QZXJtaXNzaW9ucygpOworICAgIEhhc2hNYXA8V1RGOjpT
dHJpbmcsIGJvb2w+IG5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCkgb3ZlcnJpZGU7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCmluZGV4IGU2ZjYxYjc1NGNmLi45ZGYyNDU2NjlhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC03MTUsNyArNzE1LDcgQEAgV2Vi
UHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2VzcyhXZWJzaXRl
RGF0YVN0b3JlJiB3ZWJzaXRlRGEKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIC8v
IEZJWE1FOiBUaGVyZSBzaG91bGQgYmUgYSBnZW5lcmljIHdheSBmb3Igc3VwcGxlbWVudHMgdG8g
YWRkIHRvIHRoZSBpbnRpYWxpemF0aW9uIHBhcmFtZXRlcnMuCi0gICAgc3VwcGxlbWVudDxXZWJO
b3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPnBvcHVsYXRlQ29weU9mTm90aWZpY2F0aW9uUGVy
bWlzc2lvbnMocGFyYW1ldGVycy5ub3RpZmljYXRpb25QZXJtaXNzaW9ucyk7CisgICAgcGFyYW1l
dGVycy5ub3RpZmljYXRpb25QZXJtaXNzaW9ucyA9IHN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9u
TWFuYWdlclByb3h5PigpLT5ub3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwogI2VuZGlmCiAKICAg
ICBwYXJhbWV0ZXJzLnBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2hlcyA9IG1fcGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIuYXV0b1N0YXJ0T3JpZ2luSGFzaGVzQ29weSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRmODNhYjY2OGM5
Li40NTZiYzU3YWEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTIwNyw2ICsxMjA3LDcgQEAKIAkJNzVBOEQyQzkxODdDQ0ZB
RjAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1QThEMkM1MTg3Q0NGOUYwMEMzOUM5RSAvKiBXS1dl
YnNpdGVEYXRhU3RvcmUubW0gKi87IH07CiAJCTc1QThEMkQ2MTg3RDFDMEUwMEMzOUM5RSAvKiBX
S1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzVBOEQyRDQxODdEMUMwMTAwQzM5QzlFIC8qIFdLV2Vic2l0ZURh
dGFTdG9yZUludGVybmFsLmggKi87IH07CiAJCTc2MkI3NDhEMTIwQkM3NUMwMDgxOTMzOSAvKiBX
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzYyQjc0ODQxMjBCQkEyRDAwODE5MzM5IC8qIFdLUHJlZmVyZW5jZXNS
ZWZQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJN0ExRTJBODUxRUVGRTg5MjAwMzdBMEUwIC8qIEFQSU5vdGlmaWNhdGlvblByb3ZpZGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTFFMkE4
NDFFRUZFODhBMDAzN0EwRTAgLyogQVBJTm90aWZpY2F0aW9uUHJvdmlkZXIuaCAqLzsgfTsKIAkJ
N0EzQUNFMUIxRUVFRjc5QjAwQTg2NEE0IC8qIEFQSUluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0Ez
QUNFMUExRUVFRjc4QzAwQTg2NEE0IC8qIEFQSUluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVu
dC5oICovOyB9OwogCQk3QTc3MkM4RDFEREQ0QTI1MDAwRjM0RjEgLyogY29tLmFwcGxlLldlYktp
dC5wbHVnaW4tY29tbW9uLnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFByb2ZpbGVzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMTUwNjcyMURENTYyOTgwMDFGNEI1OCAv
KiBjb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IgKi87IH07CiAJCTdBNzkxRUZBMUM3
Q0ZDRjEwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0E3OTFFRjkxQzdDRkIzNzAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0zNDk0LDYgKzM0OTUsNyBAQAogCQk3NjJC
NzQ4MTEyMEJCQTAxMDA4MTkzMzkgLyogRm9udFNtb290aGluZ0xldmVsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRTbW9vdGhpbmdMZXZlbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNl
c1JlZlByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0ExNTA2NzIx
REQ1NjI5ODAwMUY0QjU4IC8qIGNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSAiY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0ExRTJBODQxRUVGRTg4QTAwMzdBMEUwIC8q
IEFQSU5vdGlmaWNhdGlvblByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFQSU5vdGlmaWNhdGlvblByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdBM0FDRTFBMUVFRUY3OEMwMEE4NjRBNCAvKiBBUElJbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW5qZWN0ZWRC
dW5kbGVQYWdlTG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdB
NUUzOTQ5MUQ1QkQ4QTcwMEI0QjdDRSAvKiBjb20ubWFjcm9tZWRpYS5GbGFzaCBQbGF5ZXIgRVNS
LnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiY29tLm1hY3JvbWVkaWEuRmxhc2gg
UGxheWVyIEVTUi5wbHVnaW4uc2IiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTc5
MUVGODFDN0NGQjEwMDBDNEM1MkIgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlTWVz
c2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTY5MDEsNiArNjkwMyw3IEBACiAJCQkJQkNGNjlGQTExMTc2RDAxNDAwNDcxQTUyIC8qIEFQSU5h
dmlnYXRpb25EYXRhLmNwcCAqLywKIAkJCQlCQ0Y2OUZBMDExNzZEMDE0MDA0NzFBNTIgLyogQVBJ
TmF2aWdhdGlvbkRhdGEuaCAqLywKIAkJCQkyREY5RUVFRDFBNzg2RUFEMDBCNkNGQkUgLyogQVBJ
TmF2aWdhdGlvblJlc3BvbnNlLmggKi8sCisJCQkJN0ExRTJBODQxRUVGRTg4QTAwMzdBMEUwIC8q
IEFQSU5vdGlmaWNhdGlvblByb3ZpZGVyLmggKi8sCiAJCQkJQkM4NTdGQjQxMkI4MzBFNjAwRURF
QjJFIC8qIEFQSU9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwICovLAogCQkJCUJDODU3RkIzMTJCODMw
RTYwMEVERUIyRSAvKiBBUElPcGVuUGFuZWxQYXJhbWV0ZXJzLmggKi8sCiAJCQkJN0M4OUQyOTUx
QTY3NTNCMjAwM0E1RkRFIC8qIEFQSVBhZ2VDb25maWd1cmF0aW9uLmNwcCAqLywKQEAgLTgxNjMs
NiArODE2Niw3IEBACiAJCQkJNTEwRjU5MTAxRERFMjk2OTAwNDEyRkY1IC8qIF9XS0ljb25Mb2Fk
aW5nRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QTY0RTU1MThGMzhFM0MwMEVCMzBG
MSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDc5MEE5RDFBRDcw
NTBEMDBBQjkwQjMgLyogX1dLTGF5b3V0TW9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0ExRTJB
ODUxRUVGRTg5MjAwMzdBMEUwIC8qIEFQSU5vdGlmaWNhdGlvblByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTBGNTkxMTFEREUyOTcwMDA0MTJGRjUgLyogX1dLTGlua0ljb25QYXJhbWV0
ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTE4QTlGMzE5MDhCOEVBMDBGN0M5MkIgLyogX1dL
TlNGaWxlTWFuYWdlckV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMyMzYxMUUxQjAxNURB
ODAwRkE5MjMyIC8qIF9XS092ZXJsYXlTY3JvbGxiYXJTdHlsZS5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312864</attachid>
            <date>2017-06-13 23:23:36 -0700</date>
            <delta_ts>2017-06-15 00:24:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-gtk-notification-provider.diff</filename>
            <type>text/plain</type>
            <size>13337</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBiYjIyMzdiNmJiMS4uMzkwMzNiNTFjYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNyBAQAogMjAxNy0wNi0xMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgW0dUS10gVXNlIEFQSTo6Tm90aWZpY2F0aW9uUHJvdmlkZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzMxMgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsc28gY2xl
YW51cCBhIGJpdCB0aGUgV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIgaW1wbGVtZW50YXRpb24s
IGl0IGRvZXNuJ3QgbmVlZCB0byBiZSByZWZjb3VudGVkLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0
Tm90aWZpY2F0aW9uUHJvdmlkZXI6OldlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyKToKKyAgICAg
ICAgKFdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyOjp+V2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlk
ZXIpOgorICAgICAgICAoV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXI6OnNob3cpOgorICAgICAg
ICAoV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXI6OmNsZWFyTm90aWZpY2F0aW9ucyk6CisgICAg
ICAgIChXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcjo6bm90aWZpY2F0aW9uUGVybWlzc2lvbnMp
OgorICAgICAgICAoV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXI6OnNldE5vdGlmaWNhdGlvblBl
cm1pc3Npb25zKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROb3RpZmljYXRp
b25Qcm92aWRlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRl
eHQuY3BwOgorICAgICAgICAod2Via2l0V2ViQ29udGV4dENvbnN0cnVjdGVkKToKKyAgICAgICAg
KGFkZE9yaWdpblRvTWFwKToKKyAgICAgICAgKHdlYmtpdF93ZWJfY29udGV4dF9pbml0aWFsaXpl
X25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucyk6CisKKzIwMTctMDYtMTMgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAgICAgIEFkZCBBUEk6Ok5vdGlmaWNh
dGlvblByb3ZpZGVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzMzMDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCmluZGV4IGI2MDY2OWFk
Yjg0Li43MWIzY2U1MWI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcApAQCAtMjgs
OCArMjgsNyBAQAogI2luY2x1ZGUgIldlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyLmgiCiAKICNp
bmNsdWRlICJBUElBcnJheS5oIgotI2luY2x1ZGUgIkFQSURpY3Rpb25hcnkuaCIKLSNpbmNsdWRl
ICJXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCIKKyNpbmNsdWRlICJBUElOb3RpZmljYXRpb25Qcm92
aWRlci5oIgogI2luY2x1ZGUgIldlYktpdE5vdGlmaWNhdGlvblByaXZhdGUuaCIKICNpbmNsdWRl
ICJXZWJLaXRXZWJDb250ZXh0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2
YXRlLmgiCkBAIC0zOSw2MSArMzgsNDkgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAot
c3RhdGljIGlubGluZSBXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlciogdG9Ob3RpZmljYXRpb25Q
cm92aWRlcihjb25zdCB2b2lkKiBjbGllbnRJbmZvKQotewotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudElu
Zm8pKTsKLX0KIAotc3RhdGljIHZvaWQgc2hvd0NhbGxiYWNrKFdLUGFnZVJlZiBwYWdlLCBXS05v
dGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0g
ICAgdG9Ob3RpZmljYXRpb25Qcm92aWRlcihjbGllbnRJbmZvKS0+c2hvdyh0b0ltcGwocGFnZSks
ICp0b0ltcGwobm90aWZpY2F0aW9uKSk7Ci19CitjbGFzcyBOb3RpZmljYXRpb25Qcm92aWRlciBm
aW5hbCA6IHB1YmxpYyBBUEk6Ok5vdGlmaWNhdGlvblByb3ZpZGVyIHsKK3B1YmxpYzoKKyAgICBl
eHBsaWNpdCBOb3RpZmljYXRpb25Qcm92aWRlcihXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlciYg
cHJvdmlkZXIpCisgICAgICAgIDogbV9wcm92aWRlcihwcm92aWRlcikKKyAgICB7CisgICAgfQog
Ci1zdGF0aWMgdm9pZCBjYW5jZWxDYWxsYmFjayhXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRp
b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgdG9Ob3RpZmljYXRpb25Qcm92aWRl
cihjbGllbnRJbmZvKS0+Y2FuY2VsKCp0b0ltcGwobm90aWZpY2F0aW9uKSk7Ci19Citwcml2YXRl
OgorICAgIHZvaWQgc2hvdyhXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYk5vdGlmaWNhdGlvbiYgbm90
aWZpY2F0aW9uKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgbV9wcm92aWRlci5zaG93KHBhZ2Us
IG5vdGlmaWNhdGlvbik7CisgICAgfQogCi1zdGF0aWMgV0tEaWN0aW9uYXJ5UmVmIG5vdGlmaWNh
dGlvblBlcm1pc3Npb25zQ2FsbGJhY2soY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBy
ZXR1cm4gdG9BUEkodG9Ob3RpZmljYXRpb25Qcm92aWRlcihjbGllbnRJbmZvKS0+bm90aWZpY2F0
aW9uUGVybWlzc2lvbnMoKS5sZWFrUmVmKCkpOwotfQorICAgIHZvaWQgY2FuY2VsKFdlYk5vdGlm
aWNhdGlvbiYgbm90aWZpY2F0aW9uKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgbV9wcm92aWRl
ci5jYW5jZWwobm90aWZpY2F0aW9uKTsKKyAgICB9CiAKLXN0YXRpYyB2b2lkIGNsZWFyTm90aWZp
Y2F0aW9uc0NhbGxiYWNrKFdLQXJyYXlSZWYgbm90aWZpY2F0aW9uSURzLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQotewotICAgIHRvTm90aWZpY2F0aW9uUHJvdmlkZXIoY2xpZW50SW5mbyktPmNs
ZWFyTm90aWZpY2F0aW9ucyh0b0ltcGwobm90aWZpY2F0aW9uSURzKSk7Ci19CisgICAgdm9pZCBj
bGVhck5vdGlmaWNhdGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURz
KSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgbV9wcm92aWRlci5jbGVhck5vdGlmaWNhdGlvbnMo
bm90aWZpY2F0aW9uSURzKTsKKyAgICB9CiAKLVdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyOjp+
V2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIoKQotewotfQorICAgIEhhc2hNYXA8U3RyaW5nLCBi
b29sPiBub3RpZmljYXRpb25QZXJtaXNzaW9ucygpIG92ZXJyaWRlCisgICAgeworICAgICAgICBy
ZXR1cm4gbV9wcm92aWRlci5ub3RpZmljYXRpb25QZXJtaXNzaW9ucygpOworICAgIH0KIAotUmVm
PFdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyPiBXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcjo6
Y3JlYXRlKFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSogbm90aWZpY2F0aW9uTWFuYWdlciwg
V2ViS2l0V2ViQ29udGV4dCogd2ViQ29udGV4dCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcihub3RpZmljYXRpb25NYW5hZ2VyLCB3ZWJDb250
ZXh0KSk7Ci19CisgICAgV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXImIG1fcHJvdmlkZXI7Cit9
OwogCiBXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcjo6V2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlk
ZXIoV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5KiBub3RpZmljYXRpb25NYW5hZ2VyLCBXZWJL
aXRXZWJDb250ZXh0KiB3ZWJDb250ZXh0KQogICAgIDogbV93ZWJDb250ZXh0KHdlYkNvbnRleHQp
CiAgICAgLCBtX25vdGlmaWNhdGlvbk1hbmFnZXIobm90aWZpY2F0aW9uTWFuYWdlcikKIHsKLSAg
ICBBU1NFUlQobm90aWZpY2F0aW9uTWFuYWdlcik7Ci0KLSAgICBXS05vdGlmaWNhdGlvblByb3Zp
ZGVyVjAgd2tOb3RpZmljYXRpb25Qcm92aWRlciA9IHsKLSAgICAgICAgewotICAgICAgICAgICAg
MCwgLy8gdmVyc2lvbgotICAgICAgICAgICAgdGhpcywgLy8gY2xpZW50SW5mbwotICAgICAgICB9
LAotICAgICAgICBzaG93Q2FsbGJhY2ssCi0gICAgICAgIGNhbmNlbENhbGxiYWNrLAotICAgICAg
ICAwLCAvLyBkaWREZXN0cm95Tm90aWZpY2F0aW9uQ2FsbGJhY2ssCi0gICAgICAgIDAsIC8vIGFk
ZE5vdGlmaWNhdGlvbk1hbmFnZXJDYWxsYmFjaywKLSAgICAgICAgMCwgLy8gcmVtb3ZlTm90aWZp
Y2F0aW9uTWFuYWdlckNhbGxiYWNrLAotICAgICAgICBub3RpZmljYXRpb25QZXJtaXNzaW9uc0Nh
bGxiYWNrLAotICAgICAgICBjbGVhck5vdGlmaWNhdGlvbnNDYWxsYmFjaywKLSAgICB9OwotCi0g
ICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyU2V0UHJvdmlkZXIodG9BUEkobm90aWZpY2F0aW9uTWFu
YWdlciksIHJlaW50ZXJwcmV0X2Nhc3Q8V0tOb3RpZmljYXRpb25Qcm92aWRlckJhc2UqPigmd2tO
b3RpZmljYXRpb25Qcm92aWRlcikpOworICAgIEFTU0VSVChtX25vdGlmaWNhdGlvbk1hbmFnZXIp
OworICAgIG1fbm90aWZpY2F0aW9uTWFuYWdlci0+c2V0UHJvdmlkZXIoc3RkOjptYWtlX3VuaXF1
ZTxOb3RpZmljYXRpb25Qcm92aWRlcj4oKnRoaXMpKTsKK30KKworV2ViS2l0Tm90aWZpY2F0aW9u
UHJvdmlkZXI6On5XZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcigpCit7CisgICAgbV9ub3RpZmlj
YXRpb25NYW5hZ2VyLT5zZXRQcm92aWRlcihudWxscHRyKTsKIH0KIAogdm9pZCBXZWJLaXROb3Rp
ZmljYXRpb25Qcm92aWRlcjo6bm90aWZpY2F0aW9uQ2xvc2VDYWxsYmFjayhXZWJLaXROb3RpZmlj
YXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIqIHByb3ZpZGVy
KQpAQCAtMTI4LDE5ICsxMTUsMTkgQEAgdm9pZCBXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcjo6
d2l0aGRyYXdBbnlQcmV2aW91c05vdGlmaWNhdGlvbk1hdGNoaW5nVGFnKGNvbnMKICNlbmRpZgog
fQogCi12b2lkIFdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyOjpzaG93KFdlYlBhZ2VQcm94eSog
cGFnZSwgY29uc3QgV2ViTm90aWZpY2F0aW9uJiB3ZWJOb3RpZmljYXRpb24pCit2b2lkIFdlYktp
dE5vdGlmaWNhdGlvblByb3ZpZGVyOjpzaG93KFdlYlBhZ2VQcm94eSYgcGFnZSwgY29uc3QgV2Vi
Tm90aWZpY2F0aW9uJiB3ZWJOb3RpZmljYXRpb24pCiB7CiAgICAgR1JlZlB0cjxXZWJLaXROb3Rp
ZmljYXRpb24+IG5vdGlmaWNhdGlvbiA9IG1fbm90aWZpY2F0aW9ucy5nZXQod2ViTm90aWZpY2F0
aW9uLm5vdGlmaWNhdGlvbklEKCkpOwogCiAgICAgaWYgKCFub3RpZmljYXRpb24pIHsKICAgICAg
ICAgd2l0aGRyYXdBbnlQcmV2aW91c05vdGlmaWNhdGlvbk1hdGNoaW5nVGFnKHdlYk5vdGlmaWNh
dGlvbi50YWcoKS51dGY4KCkpOwotICAgICAgICBub3RpZmljYXRpb24gPSBhZG9wdEdSZWYod2Vi
a2l0Tm90aWZpY2F0aW9uQ3JlYXRlKFdFQktJVF9XRUJfVklFVyhwYWdlLT52aWV3V2lkZ2V0KCkp
LCB3ZWJOb3RpZmljYXRpb24pKTsKKyAgICAgICAgbm90aWZpY2F0aW9uID0gYWRvcHRHUmVmKHdl
YmtpdE5vdGlmaWNhdGlvbkNyZWF0ZShXRUJLSVRfV0VCX1ZJRVcocGFnZS52aWV3V2lkZ2V0KCkp
LCB3ZWJOb3RpZmljYXRpb24pKTsKICAgICAgICAgZ19zaWduYWxfY29ubmVjdChub3RpZmljYXRp
b24uZ2V0KCksICJjbG9zZWQiLCBHX0NBTExCQUNLKG5vdGlmaWNhdGlvbkNsb3NlQ2FsbGJhY2sp
LCB0aGlzKTsKICAgICAgICAgZ19zaWduYWxfY29ubmVjdChub3RpZmljYXRpb24uZ2V0KCksICJj
bGlja2VkIiwgR19DQUxMQkFDSyhub3RpZmljYXRpb25DbGlja2VkQ2FsbGJhY2spLCB0aGlzKTsK
ICAgICAgICAgbV9ub3RpZmljYXRpb25zLnNldCh3ZWJOb3RpZmljYXRpb24ubm90aWZpY2F0aW9u
SUQoKSwgbm90aWZpY2F0aW9uKTsKICAgICB9CiAKLSAgICBpZiAod2Via2l0V2ViVmlld0VtaXRT
aG93Tm90aWZpY2F0aW9uKFdFQktJVF9XRUJfVklFVyhwYWdlLT52aWV3V2lkZ2V0KCkpLCBub3Rp
ZmljYXRpb24uZ2V0KCkpKQorICAgIGlmICh3ZWJraXRXZWJWaWV3RW1pdFNob3dOb3RpZmljYXRp
b24oV0VCS0lUX1dFQl9WSUVXKHBhZ2Uudmlld1dpZGdldCgpKSwgbm90aWZpY2F0aW9uLmdldCgp
KSkKICAgICAgICAgbV9ub3RpZmljYXRpb25NYW5hZ2VyLT5wcm92aWRlckRpZFNob3dOb3RpZmlj
YXRpb24od2ViTm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbklEKCkpOwogfQogCkBAIC0xNTUsMTkg
KzE0MiwxOSBAQCB2b2lkIFdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyOjpjYW5jZWwoY29uc3Qg
V2ViTm90aWZpY2F0aW9uJiB3ZWJOb3RpZmljYXRpb24pCiAgICAgY2FuY2VsTm90aWZpY2F0aW9u
QnlJRCh3ZWJOb3RpZmljYXRpb24ubm90aWZpY2F0aW9uSUQoKSk7CiB9CiAKLXZvaWQgV2ViS2l0
Tm90aWZpY2F0aW9uUHJvdmlkZXI6OmNsZWFyTm90aWZpY2F0aW9ucyhjb25zdCBBUEk6OkFycmF5
KiBub3RpZmljYXRpb25JRHMpCit2b2lkIFdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyOjpjbGVh
ck5vdGlmaWNhdGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKQog
ewotICAgIGZvciAoY29uc3QgYXV0byYgaXRlbSA6IG5vdGlmaWNhdGlvbklEcy0+ZWxlbWVudHNP
ZlR5cGU8QVBJOjpVSW50NjQ+KCkpCi0gICAgICAgIGNhbmNlbE5vdGlmaWNhdGlvbkJ5SUQoaXRl
bS0+dmFsdWUoKSk7CisgICAgZm9yIChjb25zdCBhdXRvJiBpdGVtIDogbm90aWZpY2F0aW9uSURz
KQorICAgICAgICBjYW5jZWxOb3RpZmljYXRpb25CeUlEKGl0ZW0pOwogfQogCi1SZWZQdHI8QVBJ
OjpEaWN0aW9uYXJ5PiBXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcjo6bm90aWZpY2F0aW9uUGVy
bWlzc2lvbnMoKQorSGFzaE1hcDxXVEY6OlN0cmluZywgYm9vbD4gV2ViS2l0Tm90aWZpY2F0aW9u
UHJvdmlkZXI6Om5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCkKIHsKICAgICB3ZWJraXRXZWJDb250
ZXh0SW5pdGlhbGl6ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25zKG1fd2ViQ29udGV4dCk7CiAgICAg
cmV0dXJuIG1fbm90aWZpY2F0aW9uUGVybWlzc2lvbnM7CiB9CiAKLXZvaWQgV2ViS2l0Tm90aWZp
Y2F0aW9uUHJvdmlkZXI6OnNldE5vdGlmaWNhdGlvblBlcm1pc3Npb25zKEhhc2hNYXA8U3RyaW5n
LCBSZWZQdHI8QVBJOjpPYmplY3Q+PiYmIHBlcm1pc3Npb25zTWFwKQordm9pZCBXZWJLaXROb3Rp
ZmljYXRpb25Qcm92aWRlcjo6c2V0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMoSGFzaE1hcDxTdHJp
bmcsIGJvb2w+JiYgcGVybWlzc2lvbnNNYXApCiB7Ci0gICAgbV9ub3RpZmljYXRpb25QZXJtaXNz
aW9ucyA9IEFQSTo6RGljdGlvbmFyeTo6Y3JlYXRlKFdURk1vdmUocGVybWlzc2lvbnNNYXApKTsK
KyAgICBtX25vdGlmaWNhdGlvblBlcm1pc3Npb25zID0gV1RGTW92ZShwZXJtaXNzaW9uc01hcCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRO
b3RpZmljYXRpb25Qcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIuaAppbmRleCA0OWM5YjlhYWZmNS4uNzM2NzIzNTFm
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdE5v
dGlmaWNhdGlvblByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIuaApAQCAtMTcsMzcgKzE3LDMzIEBACiAgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaWZuZGVmIFdlYktpdE5vdGlmaWNh
dGlvblByb3ZpZGVyX2gKLSNkZWZpbmUgV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXJfaAorI3By
YWdtYSBvbmNlCiAKLSNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0
Tm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViQ29udGV4dC5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBBUEkgewotY2xhc3MgQXJyYXk7Ci19CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5OworY2xhc3MgV2ViTm90aWZpY2F0aW9uOworY2xhc3MgV2Vi
UGFnZVByb3h5OwogCi1jbGFzcyBXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPFdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyPiB7CitjbGFzcyBXZWJLaXROb3Rp
ZmljYXRpb25Qcm92aWRlciB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+V2ViS2l0Tm90aWZpY2F0
aW9uUHJvdmlkZXIoKTsKLSAgICBzdGF0aWMgUmVmPFdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVy
PiBjcmVhdGUoV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5KiwgV2ViS2l0V2ViQ29udGV4dCop
OworICAgIFdlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyKFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQ
cm94eSosIFdlYktpdFdlYkNvbnRleHQqKTsKKyAgICB+V2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlk
ZXIoKTsKIAotICAgIHZvaWQgc2hvdyhXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJOb3RpZmljYXRp
b24mKTsKKyAgICB2b2lkIHNob3coV2ViUGFnZVByb3h5JiwgY29uc3QgV2ViTm90aWZpY2F0aW9u
Jik7CiAgICAgdm9pZCBjYW5jZWwoY29uc3QgV2ViTm90aWZpY2F0aW9uJik7Ci0gICAgdm9pZCBj
bGVhck5vdGlmaWNhdGlvbnMoY29uc3QgQVBJOjpBcnJheSopOworICAgIHZvaWQgY2xlYXJOb3Rp
ZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mKTsKIAotICAgIFJlZlB0cjxBUEk6OkRp
Y3Rpb25hcnk+IG5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7Ci0gICAgdm9pZCBzZXROb3RpZmlj
YXRpb25QZXJtaXNzaW9ucyhIYXNoTWFwPFN0cmluZywgUmVmUHRyPEFQSTo6T2JqZWN0Pj4mJik7
CisgICAgSGFzaE1hcDxXVEY6OlN0cmluZywgYm9vbD4gbm90aWZpY2F0aW9uUGVybWlzc2lvbnMo
KTsKKyAgICB2b2lkIHNldE5vdGlmaWNhdGlvblBlcm1pc3Npb25zKEhhc2hNYXA8U3RyaW5nLCBi
b29sPiYmKTsKIAogcHJpdmF0ZToKLSAgICBXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcihXZWJO
b3RpZmljYXRpb25NYW5hZ2VyUHJveHkqLCBXZWJLaXRXZWJDb250ZXh0Kik7Ci0KICAgICB2b2lk
IGNhbmNlbE5vdGlmaWNhdGlvbkJ5SUQodWludDY0X3QpOwogICAgIHN0YXRpYyB2b2lkIG5vdGlm
aWNhdGlvbkNsb3NlQ2FsbGJhY2soV2ViS2l0Tm90aWZpY2F0aW9uKiwgV2ViS2l0Tm90aWZpY2F0
aW9uUHJvdmlkZXIqKTsKICAgICBzdGF0aWMgdm9pZCBub3RpZmljYXRpb25DbGlja2VkQ2FsbGJh
Y2soV2ViS2l0Tm90aWZpY2F0aW9uKiwgV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIqKTsKQEAg
LTU1LDExICs1MSw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCB3aXRoZHJhd0FueVByZXZpb3VzTm90
aWZpY2F0aW9uTWF0Y2hpbmdUYWcoY29uc3QgQ1N0cmluZyYpOwogCiAgICAgV2ViS2l0V2ViQ29u
dGV4dCogbV93ZWJDb250ZXh0OwotICAgIFJlZlB0cjxBUEk6OkRpY3Rpb25hcnk+IG1fbm90aWZp
Y2F0aW9uUGVybWlzc2lvbnM7CisgICAgSGFzaE1hcDxXVEY6OlN0cmluZywgYm9vbD4gbV9ub3Rp
ZmljYXRpb25QZXJtaXNzaW9uczsKICAgICBSZWZQdHI8V2ViTm90aWZpY2F0aW9uTWFuYWdlclBy
b3h5PiBtX25vdGlmaWNhdGlvbk1hbmFnZXI7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgR1JlZlB0
cjxXZWJLaXROb3RpZmljYXRpb24+PiBtX25vdGlmaWNhdGlvbnM7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwCmluZGV4IDA5ZTgyMTM3NWI5Li45ZjYxZDE4
YjNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViQ29udGV4dC5jcHAKQEAgLTE2Nyw3ICsxNjcsNyBAQCBzdHJ1Y3QgX1dlYktpdFdlYkNv
bnRleHRQcml2YXRlIHsKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYktpdEdlb2xvY2F0aW9uUHJvdmlkZXI+IGdlb2xvY2F0aW9uUHJvdmlkZXI7CiAjZW5k
aWYKLSAgICBSZWZQdHI8V2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXI+IG5vdGlmaWNhdGlvblBy
b3ZpZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXROb3RpZmljYXRpb25Qcm92aWRlcj4g
bm90aWZpY2F0aW9uUHJvdmlkZXI7CiAgICAgR1JlZlB0cjxXZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXI+IHdlYnNpdGVEYXRhTWFuYWdlcjsKIAogICAgIENTdHJpbmcgZmF2aWNvbkRhdGFiYXNlRGly
ZWN0b3J5OwpAQCAtMzI0LDcgKzMyNCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYkNvbnRleHRD
b25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQogICAg
IHByaXYtPmdlb2xvY2F0aW9uUHJvdmlkZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYktpdEdlb2xv
Y2F0aW9uUHJvdmlkZXI+KHByaXYtPnByb2Nlc3NQb29sLT5zdXBwbGVtZW50PFdlYkdlb2xvY2F0
aW9uTWFuYWdlclByb3h5PigpKTsKICNlbmRpZgotICAgIHByaXYtPm5vdGlmaWNhdGlvblByb3Zp
ZGVyID0gV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXI6OmNyZWF0ZShwcml2LT5wcm9jZXNzUG9v
bC0+c3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCksIHdlYkNvbnRleHQp
OworICAgIHByaXYtPm5vdGlmaWNhdGlvblByb3ZpZGVyID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJL
aXROb3RpZmljYXRpb25Qcm92aWRlcj4ocHJpdi0+cHJvY2Vzc1Bvb2wtPnN1cHBsZW1lbnQ8V2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5PigpLCB3ZWJDb250ZXh0KTsKICNpZiBFTkFCTEUoUkVN
T1RFX0lOU1BFQ1RPUikKICAgICBwcml2LT5yZW1vdGVJbnNwZWN0b3JQcm90b2NvbEhhbmRsZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPFJlbW90ZUluc3BlY3RvclByb3RvY29sSGFuZGxlcj4od2ViQ29u
dGV4dCk7CiAjZW5kaWYKQEAgLTE0NjcsMTEgKzE0NjcsMTEgQEAgZ3VpbnQgd2Via2l0X3dlYl9j
b250ZXh0X2dldF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdChXZWJLaXRXZWJDb250ZXh0KiBjb250
ZXh0KQogICAgIHJldHVybiBjb250ZXh0LT5wcml2LT5wcm9jZXNzQ291bnRMaW1pdDsKIH0KIAot
c3RhdGljIHZvaWQgYWRkT3JpZ2luVG9NYXAoV2ViS2l0U2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwg
SGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxBUEk6Ok9iamVjdD4+KiBtYXAsIGJvb2wgYWxsb3dlZCkK
K3N0YXRpYyB2b2lkIGFkZE9yaWdpblRvTWFwKFdlYktpdFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4s
IEhhc2hNYXA8U3RyaW5nLCBib29sPiogbWFwLCBib29sIGFsbG93ZWQpCiB7CiAgICAgU3RyaW5n
IHN0cmluZyA9IHdlYmtpdFNlY3VyaXR5T3JpZ2luR2V0U2VjdXJpdHlPcmlnaW4ob3JpZ2luKS50
b1N0cmluZygpOwogICAgIGlmIChzdHJpbmcgIT0gIm51bGwiKQotICAgICAgICBtYXAtPnNldChz
dHJpbmcsIEFQSTo6Qm9vbGVhbjo6Y3JlYXRlKGFsbG93ZWQpKTsKKyAgICAgICAgbWFwLT5zZXQo
c3RyaW5nLCBhbGxvd2VkKTsKIH0KIAogLyoqCkBAIC0xNTAwLDEyICsxNTAwLDEyIEBAIHN0YXRp
YyB2b2lkIGFkZE9yaWdpblRvTWFwKFdlYktpdFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIEhhc2hN
YXA8U3RyaW5nLCBSZWZQdHI8CiAgKi8KIHZvaWQgd2Via2l0X3dlYl9jb250ZXh0X2luaXRpYWxp
emVfbm90aWZpY2F0aW9uX3Blcm1pc3Npb25zKFdlYktpdFdlYkNvbnRleHQqIGNvbnRleHQsIEdM
aXN0KiBhbGxvd2VkT3JpZ2lucywgR0xpc3QqIGRpc2FsbG93ZWRPcmlnaW5zKQogewotICAgIEhh
c2hNYXA8U3RyaW5nLCBSZWZQdHI8QVBJOjpPYmplY3Q+PiBtYXA7CisgICAgSGFzaE1hcDxTdHJp
bmcsIGJvb2w+IG1hcDsKICAgICBnX2xpc3RfZm9yZWFjaChhbGxvd2VkT3JpZ2lucywgW10oZ3Bv
aW50ZXIgZGF0YSwgZ3BvaW50ZXIgdXNlckRhdGEpIHsKLSAgICAgICAgYWRkT3JpZ2luVG9NYXAo
c3RhdGljX2Nhc3Q8V2ViS2l0U2VjdXJpdHlPcmlnaW4qPihkYXRhKSwgc3RhdGljX2Nhc3Q8SGFz
aE1hcDxTdHJpbmcsIFJlZlB0cjxBUEk6Ok9iamVjdD4+Kj4odXNlckRhdGEpLCB0cnVlKTsKKyAg
ICAgICAgYWRkT3JpZ2luVG9NYXAoc3RhdGljX2Nhc3Q8V2ViS2l0U2VjdXJpdHlPcmlnaW4qPihk
YXRhKSwgc3RhdGljX2Nhc3Q8SGFzaE1hcDxTdHJpbmcsIGJvb2w+Kj4odXNlckRhdGEpLCB0cnVl
KTsKICAgICB9LCAmbWFwKTsKICAgICBnX2xpc3RfZm9yZWFjaChkaXNhbGxvd2VkT3JpZ2lucywg
W10oZ3BvaW50ZXIgZGF0YSwgZ3BvaW50ZXIgdXNlckRhdGEpIHsKLSAgICAgICAgYWRkT3JpZ2lu
VG9NYXAoc3RhdGljX2Nhc3Q8V2ViS2l0U2VjdXJpdHlPcmlnaW4qPihkYXRhKSwgc3RhdGljX2Nh
c3Q8SGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxBUEk6Ok9iamVjdD4+Kj4odXNlckRhdGEpLCBmYWxz
ZSk7CisgICAgICAgIGFkZE9yaWdpblRvTWFwKHN0YXRpY19jYXN0PFdlYktpdFNlY3VyaXR5T3Jp
Z2luKj4oZGF0YSksIHN0YXRpY19jYXN0PEhhc2hNYXA8U3RyaW5nLCBib29sPio+KHVzZXJEYXRh
KSwgZmFsc2UpOwogICAgIH0sICZtYXApOwogICAgIGNvbnRleHQtPnByaXYtPm5vdGlmaWNhdGlv
blByb3ZpZGVyLT5zZXROb3RpZmljYXRpb25QZXJtaXNzaW9ucyhXVEZNb3ZlKG1hcCkpOwogfQo=
</data>
<flag name="review"
          id="333760"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>