<?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>196180</bug_id>
          
          <creation_ts>2019-03-23 15:39:32 -0700</creation_ts>
          <short_desc>[Apple Pay] Remove the AvailablePaymentNetworks synchronous message</short_desc>
          <delta_ts>2019-03-25 11:27:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1520638</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-23 15:39:32 -0700</bug_when>
    <thetext>[Apple Pay] Remove the AvailablePaymentNetworks synchronous message</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520639</commentid>
    <comment_count>1</comment_count>
      <attachid>365819</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-23 15:42:04 -0700</bug_when>
    <thetext>Created attachment 365819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520736</commentid>
    <comment_count>2</comment_count>
      <attachid>365837</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-24 13:19:39 -0700</bug_when>
    <thetext>Created attachment 365837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520865</commentid>
    <comment_count>3</comment_count>
      <attachid>365837</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-25 08:41:43 -0700</bug_when>
    <thetext>Comment on attachment 365837
Patch

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

&gt; Source/WebKit/WebProcess/ApplePay/cocoa/WebPaymentCoordinatorCocoa.mm:46
&gt; +        result.uncheckedAppend(network);

Can we add them to m_availablePaymentNetworks directly and return void?
Or better, return a AvailablePaymentNetworksSet directly and make this a free function or a static WebPaymentCoordinator one.
We could also change WebPaymentCoordinator::availablePaymentNetworks():
if (!m_availablePaymentNetworks)
    m_availablePaymentNetworks = platformAvailablePaymentNetworks();
return *m_availablePaymentNetworks;

&gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:133
&gt; +    if (WebCore::AXObjectCache* cache = [self axObjectCache]) {

auto?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520899</commentid>
    <comment_count>4</comment_count>
      <attachid>365874</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-25 10:35:07 -0700</bug_when>
    <thetext>Created attachment 365874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520905</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-25 10:48:21 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; Comment on attachment 365837 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=365837&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/ApplePay/cocoa/WebPaymentCoordinatorCocoa.mm:46
&gt; &gt; +        result.uncheckedAppend(network);
&gt; 
&gt; Can we add them to m_availablePaymentNetworks directly and return void?
&gt; Or better, return a AvailablePaymentNetworksSet directly and make this a
&gt; free function or a static WebPaymentCoordinator one.
&gt; We could also change WebPaymentCoordinator::availablePaymentNetworks():
&gt; if (!m_availablePaymentNetworks)
&gt;     m_availablePaymentNetworks = platformAvailablePaymentNetworks();
&gt; return *m_availablePaymentNetworks;

I got rid of availablePaymentNetworks entirely and moved its logic into validatedPaymentNetwork. I made platformAvailablePaymentNetworks return a AvailablePaymentNetworksSet as you suggested.

&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:133
&gt; &gt; +    if (WebCore::AXObjectCache* cache = [self axObjectCache]) {
&gt; 
&gt; auto?

Yep. Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520918</commentid>
    <comment_count>6</comment_count>
      <attachid>365874</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-25 11:26:15 -0700</bug_when>
    <thetext>Comment on attachment 365874
Patch

Clearing flags on attachment: 365874

Committed r243443: &lt;https://trac.webkit.org/changeset/243443&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520919</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-25 11:26:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520920</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-25 11:27:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/49222105&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365819</attachid>
            <date>2019-03-23 15:42:04 -0700</date>
            <delta_ts>2019-03-24 13:19:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196180-20190323154203.patch</filename>
            <type>text/plain</type>
            <size>14441</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJjZmI4ZTBlOGQxN2IwM2Qx
YTNmMjZmOWIxNTRmZTBiODdiYjA1ZjUuLjBhNTAyZDVkMmQwMWMxOGMzZTBmYjc3NzgzYmM2NGNk
YTQ2NDliMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMDMtMjMgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFJlbW92ZSB0aGUg
QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzIHN5bmNocm9ub3VzIG1lc3NhZ2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjE4MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVubGlrZSBtYW55IFBhc3NLaXQg
aW50ZXJhY3Rpb25zLCBpdCdzIG9rIHRvIGNhbGwgK1tQS1BheW1lbnRSZXF1ZXN0IGF2YWlsYWJs
ZU5ldHdvcmtzXQorICAgICAgICB3aXRob3V0IGFuIGVudGl0bGVtZW50LiBUaGVyZWZvcmUsIHdl
IGNhbiBjYWxsIGl0IGZyb20gdGhlIHdlYiBwcm9jZXNzIGRpcmVjdGx5IHJhdGhlciB0aGFuCisg
ICAgICAgIHN5bmNocm9ub3VzbHkgbWVzc2FnaW5nIHRoZSBlbnRpdGxlZCBVSSBvciBuZXR3b3Jr
aW5nIHByb2Nlc3MuCisKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHkuY3BwOgorICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5oOgorICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvY29j
b2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAgKiBTb3VyY2Vz
Q29jb2EudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjphdmFpbGFibGVQYXltZW50
TmV0d29ya3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50
Q29vcmRpbmF0b3JDb2NvYS5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRD
b29yZGluYXRvcjo6cGxhdGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MgY29uc3QpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlIGFj
Y2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxp
dHlXZWJQYWdlT2JqZWN0QmFzZSBzZXRXZWJQYWdlOl0pOgorCiAyMDE5LTAzLTIzICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXBwbGUgUGF5XSBDYWxsICtjYW5N
YWtlUGF5bWVudHMgb24gYSB3b3JrIHF1ZXVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXgg
YzYzMjljNzI2ZjZjNTBmMTg1ZTIyN2FjOGM2Njk4NjZmYTQxYmNjMy4uZWI4YTBiNjYxN2FlNTNi
NTA5OGY4ODYyMDZjZGY3M2U4ODQyMTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcApAQCAt
NjksMTEgKzY5LDYgQEAgdWludDY0X3QgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Om1lc3Nh
Z2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QKICAgICByZXR1cm4gKm1fZGVzdGluYXRpb25J
RDsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6YXZhaWxhYmxlUGF5bWVu
dE5ldHdvcmtzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCi17Ci0gICAgY29tcGxldGlvbkhhbmRsZXIocGxhdGZvcm1BdmFpbGFi
bGVQYXltZW50TmV0d29ya3MoKSk7Ci19Ci0KIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHk6OmNhbk1ha2VQYXltZW50cyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIHJlcGx5
KQogewogICAgIHBsYXRmb3JtQ2FuTWFrZVBheW1lbnRzKFdURk1vdmUocmVwbHkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eS5oCmluZGV4IDMzNzAwMmU1NTQxZjEyZDE0YTA4ZTUxNjQxNWIwNjEyNzI5Njgz
MDMuLmQyMzdlYWIzZGFiODc5YTVkYTM1NzFmODkxMDFkN2VlOTcwNTk2YjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHkuaApAQCAtMTEyLDcgKzExMiw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcmVzZW50
ZXJXaWxsVmFsaWRhdGVNZXJjaGFudChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNv
bnN0IFVSTCYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwotICAgIHZvaWQgYXZh
aWxhYmxlUGF5bWVudE5ldHdvcmtzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmlu
Zz4mJik+JiYpOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYpOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29u
c3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwg
UEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZv
aWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsK
QEAgLTEzNCw3ICsxMzMsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVhY2hGaW5hbFN0YXRl
KCk7CiAgICAgdm9pZCBoaWRlUGF5bWVudFVJKCk7CiAKLSAgICBWZWN0b3I8U3RyaW5nPiBwbGF0
Zm9ybUF2YWlsYWJsZVBheW1lbnROZXR3b3JrcygpOwogICAgIHZvaWQgcGxhdGZvcm1DYW5NYWtl
UGF5bWVudHMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBwbGF0
Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFBBTDo6U2Vzc2lvbklELCBXVEY6
OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogICAgIHZvaWQgcGxh
dGZvcm1PcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21w
bGV0aW9uSGFuZGxlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCmlu
ZGV4IDE0ZjZjNmQxMGU3ZGJhZjg3MmNlNTU0YjgwZDVhMjRiN2I0OTI2MWYuLmRkMzEzMTI3YmY0
YThhMWFhMGM2ZGVjYzZkMjM0ZjliZGJhYWI3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC0yNiw3ICsyNiw2IEBACiAKIG1lc3NhZ2VzIC0+IFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5IHsKIAotICAgIEF2YWlsYWJsZVBheW1lbnROZXR3b3JrcygpIC0+
IChWZWN0b3I8U3RyaW5nPiBhdmFpbGFibGVQYXltZW50TmV0d29ya3MpIFN5bmNocm9ub3VzCiAg
ICAgQ2FuTWFrZVBheW1lbnRzKCkgLT4gKGJvb2wgcmVzdWx0KSBTeW5jaHJvbm91cwogICAgIENh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKFN0cmluZyBtZXJjaGFudElkZW50aWZpZXIsIFN0
cmluZyBkb21haW5OYW1lLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+IChib29sIGNhbk1h
a2VQYXltZW50cykgQXN5bmMKICAgICBPcGVuUGF5bWVudFNldHVwKFN0cmluZyBtZXJjaGFudElk
ZW50aWZpZXIsIFN0cmluZyBkb21haW5OYW1lKSAtPiAoYm9vbCByZXN1bHQpIEFzeW5jCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29j
b2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQppbmRleCBiYWI5ZTI3MTA0MTU4
NTdiY2UwOGM1NmE4OWQ5NGU3YmRjNWI2MmYyLi5kOGUxZGI1MjVmM2QxNDc2OGE5MjZjMjM2NWFk
YTUzNGM5NTc2ZGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9j
b2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2Eu
bW0KQEAgLTM0OSwyMSArMzQ5LDYgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6
cGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oY29uc3QgT3AKICAgICBtX2F1
dGhvcml6YXRpb25QcmVzZW50ZXItPmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbih1cGRh
dGUpOwogfQogCi1WZWN0b3I8U3RyaW5nPiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxh
dGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MoKQotewotI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICBpZiAoIVBBTDo6aXNQYXNzS2l0RnJhbWV3b3JrQXZhaWxhYmxlKCkpCi0gICAgICAgIHJldHVy
biB7IH07Ci0jZW5kaWYKLQotICAgIE5TQXJyYXk8UEtQYXltZW50TmV0d29yaz4gKmF2YWlsYWJs
ZU5ldHdvcmtzID0gW1BBTDo6Z2V0UEtQYXltZW50UmVxdWVzdENsYXNzKCkgYXZhaWxhYmxlTmV0
d29ya3NdOwotICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsKLSAgICByZXN1bHQucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShhdmFpbGFibGVOZXR3b3Jrcy5jb3VudCk7Ci0gICAgZm9yIChQS1BheW1l
bnROZXR3b3JrIG5ldHdvcmsgaW4gYXZhaWxhYmxlTmV0d29ya3MpCi0gICAgICAgIHJlc3VsdC51
bmNoZWNrZWRBcHBlbmQobmV0d29yayk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CmluZGV4IDA1MDg2Y2ZiOWUzM2I5NDIwYTA3NjFjNTQwNGIwM2YzN2ZhN2U4NGYu
Ljk3MjM2ZTc5ZmQzNTJlY2YwYzUwOTRiY2Q3MGIzNDUyNTBkYzNkYzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQKQEAgLTQ5Nyw2ICs0OTcsOCBAQCBXZWJQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlBy
b2Nlc3MuY3BwCiAKIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNw
cAogCitXZWJQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvckNvY29h
Lm1tCisKIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQogV2ViUHJv
Y2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvY29jb2Ev
VmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWYyYzViMDgwMWQ5ZDk0MDZiOTM1ZGJjNTE2YjZj
ZDQ5MWZmZWQwYS4uM2MzZDBhYTM0ZmFhMDRlZWM1YWFiOWJjOTMzZjE4ODJhNGIwYjljYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0z
OTA5LDYgKzM5MDksNyBAQAogCQlBMUE0RkU1OTE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxv
YWRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tEb3dubG9h
ZEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQTRGRTYwMThERDU0
QTQwMEI1RUE4QSAvKiBfV0tEb3dubG9hZERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IF9XS0Rvd25sb2FkRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTFCODlCOTIyMjFFMDIzMzAwRUI0Q0VBIC8qIFNES1ZhcmlhbnQueGNjb25maWcg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gU0RLVmFyaWFudC54Y2NvbmZpZzsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCOUNBMzgyMjQ2RTU0QTAwM0Q2RENBIC8qIFdl
YlBheW1lbnRDb29yZGluYXRvckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUGF5
bWVudENvb3JkaW5hdG9yQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEx
QzUxMkM2MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlByZXZpZXdMb2FkZXJDbGllbnQu
Y3BwOyBwYXRoID0gaW9zL1dlYlByZXZpZXdMb2FkZXJDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMUM1MTJDNzE5MDY1NkU1MDA0NDg5MTQgLyogV2ViUHJldmlld0xv
YWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJQcmV2aWV3
TG9hZGVyQ2xpZW50Lmg7IHBhdGggPSBpb3MvV2ViUHJldmlld0xvYWRlckNsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMURGNjMxMDE4RTBCN0M4MDAzQTNFMkEgLyogRG93
bmxvYWRDbGllbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
b3dubG9hZENsaWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUzMDIsNiAr
NTMwMyw3IEBACiAJCTFBQjFGNzcwMUQxQjJGNUQwMDdDOUJEMSAvKiBBcHBsZVBheSAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQTFCOUNBMzcyMjQ2RTUy
NTAwM0Q2RENBIC8qIGNvY29hICovLAogCQkJCTFBQjFGNzcxMUQxQjJGN0UwMDdDOUJEMSAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwICovLAogCQkJCTFBQjFGNzcyMUQxQjJGN0UwMDdDOUJE
MSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3IuaCAqLywKIAkJCQkxQUIxRjc3MzFEMUIyRjdFMDA3
QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmluICovLApAQCAtNzIwOCw2
ICs3MjEwLDE0IEBACiAJCQlwYXRoID0gaW9zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
IAkJfTsKKwkJQTFCOUNBMzcyMjQ2RTUyNTAwM0Q2RENBIC8qIGNvY29hICovID0geworCQkJaXNh
ID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBMUI5Q0EzODIyNDZFNTRBMDAzRDZE
Q0EgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yQ29jb2EubW0gKi8sCisJCQkpOworCQkJcGF0aCA9
IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJQTFFNjg4NkUxRjZF
MkI4MjAwNzAwNkE2IC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDUxMTI2MzYyMTY2ZTE3MjZhMjM3NjI1
YTZiZGRmYjcxNjNkMDRiN2YuLjBmYTYxNjQ3OWNiNTc4MWI2OTExYWQxMjYwZTI1MzgyOWVkMjc4
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC02NSwxMyArNjUsOCBAQCBjb25zdCBXZWJQ
YXltZW50Q29vcmRpbmF0b3I6OkF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc1NldCYgV2ViUGF5bWVu
dENvb3JkaW5hdG9yOgogICAgICAgICByZXR1cm4gKm1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtz
OwogCiAgICAgbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MgPSBXZWJQYXltZW50Q29vcmRpbmF0
b3I6OkF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc1NldCgpOwotCi0gICAgVmVjdG9yPFN0cmluZz4g
YXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzOwotICAgIHVzaW5nIEF2YWlsYWJsZVBheW1lbnROZXR3
b3Jrc01lc3NhZ2UgPSBNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OkF2YWls
YWJsZVBheW1lbnROZXR3b3JrczsKLSAgICBpZiAoc2VuZFN5bmMoQXZhaWxhYmxlUGF5bWVudE5l
dHdvcmtzTWVzc2FnZSgpLCBBdmFpbGFibGVQYXltZW50TmV0d29ya3NNZXNzYWdlOjpSZXBseShh
dmFpbGFibGVQYXltZW50TmV0d29ya3MpKSkgewotICAgICAgICBmb3IgKGF1dG8mIG5ldHdvcmsg
OiBhdmFpbGFibGVQYXltZW50TmV0d29ya3MpCi0gICAgICAgICAgICBtX2F2YWlsYWJsZVBheW1l
bnROZXR3b3Jrcy0+YWRkKG5ldHdvcmspOwotICAgIH0KKyAgICBmb3IgKGF1dG8mIG5ldHdvcmsg
OiBwbGF0Zm9ybUF2YWlsYWJsZVBheW1lbnROZXR3b3JrcygpKQorICAgICAgICBtX2F2YWlsYWJs
ZVBheW1lbnROZXR3b3Jrcy0+YWRkKG5ldHdvcmspOwogCiAgICAgcmV0dXJuICptX2F2YWlsYWJs
ZVBheW1lbnROZXR3b3JrczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCBkOTI3N2ZlYWJkYjEw
ZDAyNzUwZDM3YmM0YjYwOTZiYjgzOTk1MDVhLi44ZDYyZDQ1Yjc2NmQxMzM1ODFiMjk4MTI2YjJh
OGUxYzUwOTM4Y2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQ
YXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCkBAIC0xMDMsNiArMTAzLDcgQEAgcHJp
dmF0ZToKIAogICAgIHVzaW5nIEF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc1NldCA9IEhhc2hTZXQ8
U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+OwogICAgIGNvbnN0IEF2YWlsYWJsZVBh
eW1lbnROZXR3b3Jrc1NldCYgYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCk7CisgICAgVmVjdG9y
PFN0cmluZz4gcGxhdGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MoKSBjb25zdDsKIAogICAg
IFdlYlBhZ2UmIG1fd2ViUGFnZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvckNvY29hLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvckNv
Y29hLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjMyNWFiMjEzMWE4M2M1OTEyNWFjNjJiNjJiMDE4M2QxNzVmZjFk
MjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkv
Y29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yQ29jb2EubW0KQEAgLTAsMCArMSw1MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV2ViUGF5bWVudENvb3JkaW5h
dG9yLmgiCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKSAmJiBQTEFURk9STShDT0NPQSkKKworI2lt
cG9ydCA8cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworVmVjdG9yPFN0cmluZz4gV2ViUGF5bWVudENvb3JkaW5hdG9yOjpwbGF0Zm9ybUF2YWlsYWJs
ZVBheW1lbnROZXR3b3JrcygpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIGlmICgh
UEFMOjppc1Bhc3NLaXRGcmFtZXdvcmtBdmFpbGFibGUoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsK
KyNlbmRpZgorCisgICAgTlNBcnJheTxQS1BheW1lbnROZXR3b3JrPiAqYXZhaWxhYmxlTmV0d29y
a3MgPSBbUEFMOjpnZXRQS1BheW1lbnRSZXF1ZXN0Q2xhc3MoKSBhdmFpbGFibGVOZXR3b3Jrc107
CisgICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OworICAgIHJlc3VsdC5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KGF2YWlsYWJsZU5ldHdvcmtzLmNvdW50KTsKKyAgICBmb3IgKFBLUGF5bWVudE5ldHdv
cmsgbmV0d29yayBpbiBhdmFpbGFibGVOZXR3b3JrcykKKyAgICAgICAgcmVzdWx0LnVuY2hlY2tl
ZEFwcGVuZChuZXR3b3JrKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpICYmIFBMQVRGT1JNKENPQ09B
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNj
ZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCmluZGV4IDk0
Y2NhN2Y0NTE3YzI1ODJlYmExYjc2M2NjMWNhNTI4NzZlNjFkZTEuLjIzNmZjMGY2YWVlNzFlZTdk
YWRmOTQ1ZmY4YjU2ZTM2NzJjYmE1YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdEJhc2UubW0KQEAgLTQ0LDggKzQ0LDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2Ny
b2xsYmFyLmg+CiAjaW1wb3J0IDx3dGYvT2JqQ1J1bnRpbWVFeHRyYXMuaD4KIAotdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKLQogQGltcGxlbWVudGF0aW9uIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VP
YmplY3RCYXNlCiAKIC0gKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGUqKWF4T2JqZWN0Q2FjaGUKQEAg
LTEzMiw3ICsxMzAsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKICAg
ICAgICAgcmV0dXJuIFtzZWxmIGlzb2xhdGVkVHJlZVJvb3RPYmplY3RdOwogI2VuZGlmCiAKLSAg
ICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkgeworICAg
IGlmIChXZWJDb3JlOjpBWE9iamVjdENhY2hlKiBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVd
KSB7CiAgICAgICAgIGlmIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290ID0gY2Fj
aGUtPnJvb3RPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVybiByb290LT53cmFwcGVyKCk7CiAg
ICAgfQpAQCAtMTQwLDcgKzEzOCw3IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3Jh
cHBlcgogICAgIHJldHVybiBuaWw7CiB9CiAKLS0gKHZvaWQpc2V0V2ViUGFnZTooV2ViUGFnZSop
cGFnZQorLSAodm9pZClzZXRXZWJQYWdlOihXZWJLaXQ6OldlYlBhZ2UqKXBhZ2UKIHsKICAgICBt
X3BhZ2UgPSBwYWdlOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365837</attachid>
            <date>2019-03-24 13:19:39 -0700</date>
            <delta_ts>2019-03-25 10:35:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196180-20190324131938.patch</filename>
            <type>text/plain</type>
            <size>14409</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3MmE4YzBiNDk1N2RmNmE5
ZjE1ODk1OTQ3MDlkY2Q5YjY4OWUyODkuLjNlYWJmNzQ4ZDAxNDM1Nzc3MWFhNDljNmRiZDZkNGU2
N2UxNDIwNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMDMtMjMgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFJlbW92ZSB0aGUg
QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzIHN5bmNocm9ub3VzIG1lc3NhZ2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjE4MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVubGlrZSBtYW55IFBhc3NLaXQg
aW50ZXJhY3Rpb25zLCBpdCdzIG9rIHRvIGNhbGwgK1tQS1BheW1lbnRSZXF1ZXN0IGF2YWlsYWJs
ZU5ldHdvcmtzXQorICAgICAgICB3aXRob3V0IGFuIGVudGl0bGVtZW50LiBUaGVyZWZvcmUsIHdl
IGNhbiBjYWxsIGl0IGZyb20gdGhlIHdlYiBwcm9jZXNzIGRpcmVjdGx5IHJhdGhlciB0aGFuCisg
ICAgICAgIHN5bmNocm9ub3VzbHkgbWVzc2FnaW5nIHRoZSBlbnRpdGxlZCBVSSBvciBuZXR3b3Jr
aW5nIHByb2Nlc3MuCisKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHkuY3BwOgorICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5oOgorICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvY29j
b2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAgKiBTb3VyY2Vz
Q29jb2EudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjphdmFpbGFibGVQYXltZW50
TmV0d29ya3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50
Q29vcmRpbmF0b3JDb2NvYS5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRD
b29yZGluYXRvcjo6cGxhdGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MgY29uc3QpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dEJhc2UubW06CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlIGFj
Y2Vzc2liaWxpdHlSb290T2JqZWN0V3JhcHBlcl0pOgorICAgICAgICAoLVtXS0FjY2Vzc2liaWxp
dHlXZWJQYWdlT2JqZWN0QmFzZSBzZXRXZWJQYWdlOl0pOgorCiAyMDE5LTAzLTIzICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IHR5cG8g
aW4gY29tbWVudCBhZGRlZCBpbiByMjQzMzc5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4
IGFlYTYzZTk4MjE0OTgzYjUxMTkwZjI1YzEzNzQxMGUyZTJjZjEzNWUuLjExNWFiNjRkMzJlZmM3
Nzg0NjI2Yzc2YWEwYzE1OTk5NGE0MjQ3ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKQEAg
LTY4LDExICs2OCw2IEBAIHVpbnQ2NF90IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjptZXNz
YWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0CiAgICAgcmV0dXJuICptX2Rlc3RpbmF0aW9u
SUQ7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmF2YWlsYWJsZVBheW1l
bnROZXR3b3JrcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQotewotICAgIGNvbXBsZXRpb25IYW5kbGVyKHBsYXRmb3JtQXZhaWxh
YmxlUGF5bWVudE5ldHdvcmtzKCkpOwotfQotCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5OjpjYW5NYWtlUGF5bWVudHMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiByZXBs
eSkKIHsKICAgICByZXBseShwbGF0Zm9ybUNhbk1ha2VQYXltZW50cygpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eS5oCmluZGV4IDg0ZDNlYzc4N2JlM2QzMmIxNDQwY2MxYjcwMTFjZWM2ZTk0YTA2ZWEuLjBi
OTczN2Q3YTQwNTdlY2YwNzcxYzk2MGRjYzdiM2Q0MjM0ZThmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHkuaApAQCAtMTExLDcgKzExMSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcmVzZW50ZXJXaWxs
VmFsaWRhdGVNZXJjaGFudChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFVS
TCYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwotICAgIHZvaWQgYXZhaWxhYmxl
UGF5bWVudE5ldHdvcmtzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+
JiYpOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYpOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3Ry
aW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgUEFMOjpT
ZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZvaWQgb3Bl
blBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKQEAgLTEz
Myw3ICsxMzIsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiAg
ICAgdm9pZCBoaWRlUGF5bWVudFVJKCk7CiAKLSAgICBWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybUF2
YWlsYWJsZVBheW1lbnROZXR3b3JrcygpOwogICAgIGJvb2wgcGxhdGZvcm1DYW5NYWtlUGF5bWVu
dHMoKTsKICAgICB2b2lkIHBsYXRmb3JtQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29u
c3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwg
UEFMOjpTZXNzaW9uSUQsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcik7CiAgICAgdm9pZCBwbGF0Zm9ybU9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBt
ZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlv
bjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggMTRmNmM2ZDEwZTdkYmFmODcyY2U1NTRiODBkNWEyNGI3
YjQ5MjYxZi4uZGQzMTMxMjdiZjRhOGExYWEwYzZkZWNjNmQyMzRmOWJkYmFhYjdkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KQEAgLTI2LDcgKzI2LDYgQEAKIAog
bWVzc2FnZXMgLT4gV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkgewogCi0gICAgQXZhaWxhYmxl
UGF5bWVudE5ldHdvcmtzKCkgLT4gKFZlY3RvcjxTdHJpbmc+IGF2YWlsYWJsZVBheW1lbnROZXR3
b3JrcykgU3luY2hyb25vdXMKICAgICBDYW5NYWtlUGF5bWVudHMoKSAtPiAoYm9vbCByZXN1bHQp
IFN5bmNocm9ub3VzCiAgICAgQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoU3RyaW5nIG1l
cmNoYW50SWRlbnRpZmllciwgU3RyaW5nIGRvbWFpbk5hbWUsIFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCkgLT4gKGJvb2wgY2FuTWFrZVBheW1lbnRzKSBBc3luYwogICAgIE9wZW5QYXltZW50U2V0
dXAoU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllciwgU3RyaW5nIGRvbWFpbk5hbWUpIC0+IChib29s
IHJlc3VsdCkgQXN5bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5
L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1t
CmluZGV4IGJhYjllMjcxMDQxNTg1N2JjZTA4YzU2YTg5ZDk0ZTdiZGM1YjYyZjIuLmQ4ZTFkYjUy
NWYzZDE0NzY4YTkyNmMyMzY1YWRhNTM0Yzk1NzZkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHlDb2NvYS5tbQpAQCAtMzQ5LDIxICszNDksNiBAQCB2b2lkIFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlv
bihjb25zdCBPcAogICAgIG1fYXV0aG9yaXphdGlvblByZXNlbnRlci0+Y29tcGxldGVQYXltZW50
TWV0aG9kU2VsZWN0aW9uKHVwZGF0ZSk7CiB9CiAKLVZlY3RvcjxTdHJpbmc+IFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUF2YWlsYWJsZVBheW1lbnROZXR3b3JrcygpCi17Ci0j
aWYgUExBVEZPUk0oTUFDKQotICAgIGlmICghUEFMOjppc1Bhc3NLaXRGcmFtZXdvcmtBdmFpbGFi
bGUoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLSNlbmRpZgotCi0gICAgTlNBcnJheTxQS1BheW1l
bnROZXR3b3JrPiAqYXZhaWxhYmxlTmV0d29ya3MgPSBbUEFMOjpnZXRQS1BheW1lbnRSZXF1ZXN0
Q2xhc3MoKSBhdmFpbGFibGVOZXR3b3Jrc107Ci0gICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0Owot
ICAgIHJlc3VsdC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGF2YWlsYWJsZU5ldHdvcmtzLmNvdW50
KTsKLSAgICBmb3IgKFBLUGF5bWVudE5ldHdvcmsgbmV0d29yayBpbiBhdmFpbGFibGVOZXR3b3Jr
cykKLSAgICAgICAgcmVzdWx0LnVuY2hlY2tlZEFwcGVuZChuZXR3b3JrKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggMDUwODZjZmI5ZTMzYjk0MjBhMDc2
MWM1NDA0YjAzZjM3ZmE3ZTg0Zi4uOTcyMzZlNzlmZDM1MmVjZjBjNTA5NGJjZDcwYjM0NTI1MGRj
M2RjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtNDk3LDYgKzQ5Nyw4IEBAIFdlYlByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViUHJvY2Vzcy5jcHAKIAogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQ
YXltZW50Q29vcmRpbmF0b3IuY3BwCiAKK1dlYlByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5
bWVudENvb3JkaW5hdG9yQ29jb2EubW0KKwogV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Np
b25NYW5hZ2VyLm1tCiBXZWJQcm9jZXNzL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyLmNw
cAogV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxZjJjNWIwODAx
ZDlkOTQwNmI5MzVkYmM1MTZiNmNkNDkxZmZlZDBhLi4zYzNkMGFhMzRmYWEwNGVlYzVhYWI5YmM5
MzNmMTg4MmE0YjBiOWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTM5MDksNiArMzkwOSw3IEBACiAJCUExQTRGRTU5MThEQ0U5RkEw
MEI1RUE4QSAvKiBfV0tEb3dubG9hZEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IF9XS0Rvd25sb2FkSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTFBNEZFNjAxOERENTRBNDAwQjVFQThBIC8qIF9XS0Rvd25sb2FkRGVsZWdhdGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLRG93bmxvYWREZWxlZ2F0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUI4OUI5MjIyMUUwMjMzMDBFQjRDRUEgLyog
U0RLVmFyaWFudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBTREtW
YXJpYW50LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUI5Q0EzODIy
NDZFNTRBMDAzRDZEQ0EgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yQ29jb2EubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXZWJQYXltZW50Q29vcmRpbmF0b3JDb2NvYS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTFDNTEyQzYxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdM
b2FkZXJDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2Vi
UHJldmlld0xvYWRlckNsaWVudC5jcHA7IHBhdGggPSBpb3MvV2ViUHJldmlld0xvYWRlckNsaWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQzUxMkM3MTkwNjU2RTUwMDQ0
ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdlYlByZXZpZXdMb2FkZXJDbGllbnQuaDsgcGF0aCA9IGlvcy9XZWJQcmV2aWV3
TG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExREY2MzEwMThF
MEI3QzgwMDNBM0UyQSAvKiBEb3dubG9hZENsaWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IERvd25sb2FkQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNTMwMiw2ICs1MzAzLDcgQEAKIAkJMUFCMUY3NzAxRDFCMkY1RDAwN0M5QkQx
IC8qIEFwcGxlUGF5ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQlBMUI5Q0EzNzIyNDZFNTI1MDAzRDZEQ0EgLyogY29jb2EgKi8sCiAJCQkJMUFCMUY3NzEx
RDFCMkY3RTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvci5jcHAgKi8sCiAJCQkJMUFC
MUY3NzIxRDFCMkY3RTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvci5oICovLAogCQkJ
CTFBQjFGNzczMUQxQjJGN0UwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2Fn
ZXMuaW4gKi8sCkBAIC03MjA4LDYgKzcyMTAsMTQgQEAKIAkJCXBhdGggPSBpb3M7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlBMUI5Q0EzNzIyNDZFNTI1MDAzRDZEQ0EgLyog
Y29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUEx
QjlDQTM4MjI0NkU1NEEwMDNENkRDQSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JDb2NvYS5tbSAq
LywKKwkJCSk7CisJCQlwYXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OwogCQlBMUU2ODg2RTFGNkUyQjgyMDA3MDA2QTYgLyogbWFjICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggNTEx
MjYzNjIxNjZlMTcyNmEyMzc2MjVhNmJkZGZiNzE2M2QwNGI3Zi4uMGZhNjE2NDc5Y2I1NzgxYjY5
MTFhZDEyNjBlMjUzODI5ZWQyNzg0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKQEAgLTY1LDEz
ICs2NSw4IEBAIGNvbnN0IFdlYlBheW1lbnRDb29yZGluYXRvcjo6QXZhaWxhYmxlUGF5bWVudE5l
dHdvcmtzU2V0JiBXZWJQYXltZW50Q29vcmRpbmF0b3I6CiAgICAgICAgIHJldHVybiAqbV9hdmFp
bGFibGVQYXltZW50TmV0d29ya3M7CiAKICAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3JrcyA9
IFdlYlBheW1lbnRDb29yZGluYXRvcjo6QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzU2V0KCk7Ci0K
LSAgICBWZWN0b3I8U3RyaW5nPiBhdmFpbGFibGVQYXltZW50TmV0d29ya3M7Ci0gICAgdXNpbmcg
QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzTWVzc2FnZSA9IE1lc3NhZ2VzOjpXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzOwotICAgIGlmIChzZW5kU3lu
YyhBdmFpbGFibGVQYXltZW50TmV0d29ya3NNZXNzYWdlKCksIEF2YWlsYWJsZVBheW1lbnROZXR3
b3Jrc01lc3NhZ2U6OlJlcGx5KGF2YWlsYWJsZVBheW1lbnROZXR3b3JrcykpKSB7Ci0gICAgICAg
IGZvciAoYXV0byYgbmV0d29yayA6IGF2YWlsYWJsZVBheW1lbnROZXR3b3JrcykKLSAgICAgICAg
ICAgIG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLT5hZGQobmV0d29yayk7Ci0gICAgfQorICAg
IGZvciAoYXV0byYgbmV0d29yayA6IHBsYXRmb3JtQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCkp
CisgICAgICAgIG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLT5hZGQobmV0d29yayk7CiAKICAg
ICByZXR1cm4gKm1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5o
CmluZGV4IGQ5Mjc3ZmVhYmRiMTBkMDI3NTBkMzdiYzRiNjA5NmJiODM5OTUwNWEuLjhkNjJkNDVi
NzY2ZDEzMzU4MWIyOTgxMjZiMmE4ZTFjNTA5MzhjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKQEAg
LTEwMyw2ICsxMDMsNyBAQCBwcml2YXRlOgogCiAgICAgdXNpbmcgQXZhaWxhYmxlUGF5bWVudE5l
dHdvcmtzU2V0ID0gSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD47CiAg
ICAgY29uc3QgQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzU2V0JiBhdmFpbGFibGVQYXltZW50TmV0
d29ya3MoKTsKKyAgICBWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybUF2YWlsYWJsZVBheW1lbnROZXR3
b3JrcygpIGNvbnN0OwogCiAgICAgV2ViUGFnZSYgbV93ZWJQYWdlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5h
dG9yQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2Vi
UGF5bWVudENvb3JkaW5hdG9yQ29jb2EubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdlOTIyZWI2OWJlZjkyMTI3
ODBjYmQ0YmM0MmU0NTljMjk3ZjVjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JDb2NvYS5tbQpA
QCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNp
bXBvcnQgIldlYlBheW1lbnRDb29yZGluYXRvci5oIgorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkg
JiYgUExBVEZPUk0oQ09DT0EpCisKKyNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1ZlY3RvcjxTdHJpbmc+IFdlYlBheW1lbnRDb29y
ZGluYXRvcjo6cGxhdGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MoKSBjb25zdAoreworI2lm
IFBMQVRGT1JNKE1BQykKKyAgICBpZiAoIVBBTDo6aXNQYXNzS2l0RnJhbWV3b3JrQXZhaWxhYmxl
KCkpCisgICAgICAgIHJldHVybiB7IH07CisjZW5kaWYKKworICAgIE5TQXJyYXk8UEtQYXltZW50
TmV0d29yaz4gKmF2YWlsYWJsZU5ldHdvcmtzID0gW1BBTDo6Z2V0UEtQYXltZW50UmVxdWVzdENs
YXNzKCkgYXZhaWxhYmxlTmV0d29ya3NdOworICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsKKyAg
ICByZXN1bHQucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShhdmFpbGFibGVOZXR3b3Jrcy5jb3VudCk7
CisgICAgZm9yIChQS1BheW1lbnROZXR3b3JrIG5ldHdvcmsgaW4gYXZhaWxhYmxlTmV0d29ya3Mp
CisgICAgICAgIHJlc3VsdC51bmNoZWNrZWRBcHBlbmQobmV0d29yayk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZKSAmJiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0QmFzZS5tbQppbmRleCA5NGNjYTdmNDUxN2MyNTgyZWJhMWI3NjNjYzFjYTUyODc2
ZTYxZGUxLi4yMzZmYzBmNmFlZTcxZWU3ZGFkZjk0NWZmOGI1NmUzNjcyY2JhNWMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5
V2ViUGFnZU9iamVjdEJhc2UubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tCkBAIC00NCw4ICs0NCw2
IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGJhci5oPgogI2ltcG9ydCA8d3RmL09iakNSdW50
aW1lRXh0cmFzLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlv
biBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZQogCiAtIChXZWJDb3JlOjpBWE9iamVj
dENhY2hlKilheE9iamVjdENhY2hlCkBAIC0xMzIsNyArMTMwLDcgQEAgLSAoaWQpYWNjZXNzaWJp
bGl0eVJvb3RPYmplY3RXcmFwcGVyCiAgICAgICAgIHJldHVybiBbc2VsZiBpc29sYXRlZFRyZWVS
b290T2JqZWN0XTsKICNlbmRpZgogCi0gICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gW3Nl
bGYgYXhPYmplY3RDYWNoZV0pIHsKKyAgICBpZiAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSogY2Fj
aGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkgewogICAgICAgICBpZiAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290T2JqZWN0KCkpCiAgICAgICAgICAgICBy
ZXR1cm4gcm9vdC0+d3JhcHBlcigpOwogICAgIH0KQEAgLTE0MCw3ICsxMzgsNyBAQCAtIChpZClh
Y2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKICAgICByZXR1cm4gbmlsOwogfQogCi0tICh2
b2lkKXNldFdlYlBhZ2U6KFdlYlBhZ2UqKXBhZ2UKKy0gKHZvaWQpc2V0V2ViUGFnZTooV2ViS2l0
OjpXZWJQYWdlKilwYWdlCiB7CiAgICAgbV9wYWdlID0gcGFnZTsKICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365874</attachid>
            <date>2019-03-25 10:35:07 -0700</date>
            <delta_ts>2019-03-25 11:26:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196180-20190325103506.patch</filename>
            <type>text/plain</type>
            <size>14943</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3MmE4YzBiNDk1N2RmNmE5
ZjE1ODk1OTQ3MDlkY2Q5YjY4OWUyODkuLmYxMzZkMzk3ODZiYmU0MjAwYWI1NzkzOTM5ZjE0Mzg4
YmI1NDUyODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMDMtMjMgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFJlbW92ZSB0aGUg
QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzIHN5bmNocm9ub3VzIG1lc3NhZ2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjE4MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgVW5saWtlIG1hbnkgUGFzc0tpdCBp
bnRlcmFjdGlvbnMsIGl0J3Mgb2sgdG8gY2FsbCArW1BLUGF5bWVudFJlcXVlc3QgYXZhaWxhYmxl
TmV0d29ya3NdCisgICAgICAgIHdpdGhvdXQgYW4gZW50aXRsZW1lbnQuIFRoZXJlZm9yZSwgd2Ug
Y2FuIGNhbGwgaXQgZnJvbSB0aGUgd2ViIHByb2Nlc3MgZGlyZWN0bHkgcmF0aGVyIHRoYW4KKyAg
ICAgICAgc3luY2hyb25vdXNseSBtZXNzYWdpbmcgdGhlIGVudGl0bGVkIFVJIG9yIG5ldHdvcmtp
bmcgcHJvY2Vzcy4KKworICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eS5jcHA6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Lmg6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9jb2Nv
YS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNvdXJjZXND
b2NvYS50eHQ6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OmF2YWlsYWJsZVBheW1lbnRO
ZXR3b3Jrcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRD
b29yZGluYXRvckNvY29hLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENv
b3JkaW5hdG9yOjpwbGF0Zm9ybUF2YWlsYWJsZVBheW1lbnROZXR3b3JrcyBjb25zdCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0
QmFzZS5tbToKKyAgICAgICAgKC1bV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UgYWNj
ZXNzaWJpbGl0eVJvb3RPYmplY3RXcmFwcGVyXSk6CisgICAgICAgICgtW1dLQWNjZXNzaWJpbGl0
eVdlYlBhZ2VPYmplY3RCYXNlIHNldFdlYlBhZ2U6XSk6CisKIDIwMTktMDMtMjMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggdHlwbyBp
biBjb21tZW50IGFkZGVkIGluIHIyNDMzNzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXgg
YWVhNjNlOTgyMTQ5ODNiNTExOTBmMjVjMTM3NDEwZTJlMmNmMTM1ZS4uMTE1YWI2NGQzMmVmYzc3
ODQ2MjZjNzZhYTBjMTU5OTk0YTQyNDdlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcApAQCAt
NjgsMTEgKzY4LDYgQEAgdWludDY0X3QgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Om1lc3Nh
Z2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QKICAgICByZXR1cm4gKm1fZGVzdGluYXRpb25J
RDsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6YXZhaWxhYmxlUGF5bWVu
dE5ldHdvcmtzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCi17Ci0gICAgY29tcGxldGlvbkhhbmRsZXIocGxhdGZvcm1BdmFpbGFi
bGVQYXltZW50TmV0d29ya3MoKSk7Ci19Ci0KIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHk6OmNhbk1ha2VQYXltZW50cyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIHJlcGx5
KQogewogICAgIHJlcGx5KHBsYXRmb3JtQ2FuTWFrZVBheW1lbnRzKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5LmgKaW5kZXggODRkM2VjNzg3YmUzZDMyYjE0NDBjYzFiNzAxMWNlYzZlOTRhMDZlYS4uMGI5
NzM3ZDdhNDA1N2VjZjA3NzFjOTYwZGNjN2IzZDQyMzRlOGY2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eS5oCkBAIC0xMTEsNyArMTExLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByZXNlbnRlcldpbGxW
YWxpZGF0ZU1lcmNoYW50KFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgVVJM
JikgZmluYWw7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCi0gICAgdm9pZCBhdmFpbGFibGVQ
YXltZW50TmV0d29ya3MoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4m
Jik7CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudHMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJp
bmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBQQUw6OlNl
c3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBvcGVu
UGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGRvbWFpbk5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwpAQCAtMTMz
LDcgKzEzMiw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWFjaEZpbmFsU3RhdGUoKTsKICAg
ICB2b2lkIGhpZGVQYXltZW50VUkoKTsKIAotICAgIFZlY3RvcjxTdHJpbmc+IHBsYXRmb3JtQXZh
aWxhYmxlUGF5bWVudE5ldHdvcmtzKCk7CiAgICAgYm9vbCBwbGF0Zm9ybUNhbk1ha2VQYXltZW50
cygpOwogICAgIHZvaWQgcGxhdGZvcm1DYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25z
dCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBQ
QUw6OlNlc3Npb25JRCwgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKTsKICAgICB2b2lkIHBsYXRmb3JtT3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1l
cmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9u
PHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCAxNGY2YzZkMTBlN2RiYWY4NzJjZTU1NGI4MGQ1YTI0Yjdi
NDkyNjFmLi5kZDMxMzEyN2JmNGE4YTFhYTBjNmRlY2M2ZDIzNGY5YmRiYWFiN2QzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjYsNyArMjYsNiBAQAogCiBt
ZXNzYWdlcyAtPiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eSB7CiAKLSAgICBBdmFpbGFibGVQ
YXltZW50TmV0d29ya3MoKSAtPiAoVmVjdG9yPFN0cmluZz4gYXZhaWxhYmxlUGF5bWVudE5ldHdv
cmtzKSBTeW5jaHJvbm91cwogICAgIENhbk1ha2VQYXltZW50cygpIC0+IChib29sIHJlc3VsdCkg
U3luY2hyb25vdXMKICAgICBDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChTdHJpbmcgbWVy
Y2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWluTmFtZSwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklEKSAtPiAoYm9vbCBjYW5NYWtlUGF5bWVudHMpIEFzeW5jCiAgICAgT3BlblBheW1lbnRTZXR1
cChTdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWluTmFtZSkgLT4gKGJvb2wg
cmVzdWx0KSBBc3luYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
Y29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0K
aW5kZXggYmFiOWUyNzEwNDE1ODU3YmNlMDhjNTZhODlkOTRlN2JkYzViNjJmMi4uZDhlMWRiNTI1
ZjNkMTQ3NjhhOTI2YzIzNjVhZGE1MzRjOTU3NmRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLm1tCkBAIC0zNDksMjEgKzM0OSw2IEBAIHZvaWQgV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9u
KGNvbnN0IE9wCiAgICAgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyLT5jb21wbGV0ZVBheW1lbnRN
ZXRob2RTZWxlY3Rpb24odXBkYXRlKTsKIH0KIAotVmVjdG9yPFN0cmluZz4gV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCkKLXsKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFQQUw6OmlzUGFzc0tpdEZyYW1ld29ya0F2YWlsYWJs
ZSgpKQotICAgICAgICByZXR1cm4geyB9OwotI2VuZGlmCi0KLSAgICBOU0FycmF5PFBLUGF5bWVu
dE5ldHdvcms+ICphdmFpbGFibGVOZXR3b3JrcyA9IFtQQUw6OmdldFBLUGF5bWVudFJlcXVlc3RD
bGFzcygpIGF2YWlsYWJsZU5ldHdvcmtzXTsKLSAgICBWZWN0b3I8U3RyaW5nPiByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXZhaWxhYmxlTmV0d29ya3MuY291bnQp
OwotICAgIGZvciAoUEtQYXltZW50TmV0d29yayBuZXR3b3JrIGluIGF2YWlsYWJsZU5ldHdvcmtz
KQotICAgICAgICByZXN1bHQudW5jaGVja2VkQXBwZW5kKG5ldHdvcmspOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEFQ
UExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCAwNTA4NmNmYjllMzNiOTQyMGEwNzYx
YzU0MDRiMDNmMzdmYTdlODRmLi45NzIzNmU3OWZkMzUyZWNmMGM1MDk0YmNkNzBiMzQ1MjUwZGMz
ZGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291
cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC00OTcsNiArNDk3LDggQEAgV2ViUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzLmNwcAogCiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBh
eW1lbnRDb29yZGluYXRvci5jcHAKIAorV2ViUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JDb2NvYS5tbQorCiBXZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1hbmFnZXIubW0KIFdlYlByb2Nlc3MvY29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuY3Bw
CiBXZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFmMmM1YjA4MDFk
OWQ5NDA2YjkzNWRiYzUxNmI2Y2Q0OTFmZmVkMGEuLjNjM2QwYWEzNGZhYTA0ZWVjNWFhYjliYzkz
M2YxODgyYTRiMGI5Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMzkwOSw2ICszOTA5LDcgQEAKIAkJQTFBNEZFNTkxOERDRTlGQTAw
QjVFQThBIC8qIF9XS0Rvd25sb2FkSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gX1dLRG93bmxvYWRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBMUE0RkU2MDE4REQ1NEE0MDBCNUVBOEEgLyogX1dLRG93bmxvYWREZWxlZ2F0ZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tEb3dubG9hZERlbGVnYXRlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQjg5QjkyMjIxRTAyMzMwMEVCNENFQSAvKiBT
REtWYXJpYW50LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFNES1Zh
cmlhbnQueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQjlDQTM4MjI0
NkU1NEEwMDNENkRDQSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JDb2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYlBheW1lbnRDb29yZGluYXRvckNvY29hLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMUM1MTJDNjE5MDY1NkU1MDA0NDg5MTQgLyogV2ViUHJldmlld0xv
YWRlckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJQ
cmV2aWV3TG9hZGVyQ2xpZW50LmNwcDsgcGF0aCA9IGlvcy9XZWJQcmV2aWV3TG9hZGVyQ2xpZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDNTEyQzcxOTA2NTZFNTAwNDQ4
OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV2ViUHJldmlld0xvYWRlckNsaWVudC5oOyBwYXRoID0gaW9zL1dlYlByZXZpZXdM
b2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFERjYzMTAxOEUw
QjdDODAwM0EzRTJBIC8qIERvd25sb2FkQ2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gRG93bmxvYWRDbGllbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC01MzAyLDYgKzUzMDMsNyBAQAogCQkxQUIxRjc3MDFEMUIyRjVEMDA3QzlCRDEg
LyogQXBwbGVQYXkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCUExQjlDQTM3MjI0NkU1MjUwMDNENkRDQSAvKiBjb2NvYSAqLywKIAkJCQkxQUIxRjc3MTFE
MUIyRjdFMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLywKIAkJCQkxQUIx
Rjc3MjFEMUIyRjdFMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yLmggKi8sCiAJCQkJ
MUFCMUY3NzMxRDFCMkY3RTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdl
cy5pbiAqLywKQEAgLTcyMDgsNiArNzIxMCwxNCBAQAogCQkJcGF0aCA9IGlvczsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUExQjlDQTM3MjI0NkU1MjUwMDNENkRDQSAvKiBj
b2NvYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTFC
OUNBMzgyMjQ2RTU0QTAwM0Q2RENBIC8qIFdlYlBheW1lbnRDb29yZGluYXRvckNvY29hLm1tICov
LAorCQkJKTsKKwkJCXBhdGggPSBjb2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CiAJCUExRTY4ODZFMUY2RTJCODIwMDcwMDZBNiAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCA1MTEy
NjM2MjE2NmUxNzI2YTIzNzYyNWE2YmRkZmI3MTYzZDA0YjdmLi5lYmUzZWM2MjhmM2U2ZTlmYzQ0
Njg4NDliMWJjZDFlZjcyNzc3M2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtNTksMjgg
KzU5LDEzIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpuZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb25DbG9zZWQoKQogI2VuZGlmCiB9CiAKLWNvbnN0IFdlYlBheW1lbnRDb29yZGluYXRvcjo6
QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzU2V0JiBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmF2YWls
YWJsZVBheW1lbnROZXR3b3JrcygpCi17Ci0gICAgaWYgKG1fYXZhaWxhYmxlUGF5bWVudE5ldHdv
cmtzKQotICAgICAgICByZXR1cm4gKm1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzOwotCi0gICAg
bV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MgPSBXZWJQYXltZW50Q29vcmRpbmF0b3I6OkF2YWls
YWJsZVBheW1lbnROZXR3b3Jrc1NldCgpOwotCi0gICAgVmVjdG9yPFN0cmluZz4gYXZhaWxhYmxl
UGF5bWVudE5ldHdvcmtzOwotICAgIHVzaW5nIEF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc01lc3Nh
Z2UgPSBNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OkF2YWlsYWJsZVBheW1l
bnROZXR3b3JrczsKLSAgICBpZiAoc2VuZFN5bmMoQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzTWVz
c2FnZSgpLCBBdmFpbGFibGVQYXltZW50TmV0d29ya3NNZXNzYWdlOjpSZXBseShhdmFpbGFibGVQ
YXltZW50TmV0d29ya3MpKSkgewotICAgICAgICBmb3IgKGF1dG8mIG5ldHdvcmsgOiBhdmFpbGFi
bGVQYXltZW50TmV0d29ya3MpCi0gICAgICAgICAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jr
cy0+YWRkKG5ldHdvcmspOwotICAgIH0KLQotICAgIHJldHVybiAqbV9hdmFpbGFibGVQYXltZW50
TmV0d29ya3M7Ci19Ci0KIE9wdGlvbmFsPFN0cmluZz4gV2ViUGF5bWVudENvb3JkaW5hdG9yOjp2
YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmIHBheW1lbnROZXR3b3JrKQogewot
ICAgIGF1dG8mIHBheW1lbnROZXR3b3JrcyA9IGF2YWlsYWJsZVBheW1lbnROZXR3b3JrcygpOwot
ICAgIGF1dG8gcmVzdWx0ID0gcGF5bWVudE5ldHdvcmtzLmZpbmQocGF5bWVudE5ldHdvcmspOwot
ICAgIGlmIChyZXN1bHQgPT0gcGF5bWVudE5ldHdvcmtzLmVuZCgpKQorICAgIGlmICghbV9hdmFp
bGFibGVQYXltZW50TmV0d29ya3MpCisgICAgICAgIG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtz
ID0gcGxhdGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MoKTsKKworICAgIGF1dG8gcmVzdWx0
ID0gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MtPmZpbmQocGF5bWVudE5ldHdvcmspOworICAg
IGlmIChyZXN1bHQgPT0gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MtPmVuZCgpKQogICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIHJldHVybiAqcmVzdWx0OwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGlu
YXRvci5oCmluZGV4IGQ5Mjc3ZmVhYmRiMTBkMDI3NTBkMzdiYzRiNjA5NmJiODM5OTUwNWEuLjc4
NjM2NzI2ODI3MWNlNTlhNDRiYjhmNTdlMmJhOTA5YTIzYTI4MzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
LmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICB1c2luZyBBdmFp
bGFibGVQYXltZW50TmV0d29ya3NTZXQgPSBIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5z
aXRpdmVIYXNoPjsKLSAgICBjb25zdCBBdmFpbGFibGVQYXltZW50TmV0d29ya3NTZXQmIGF2YWls
YWJsZVBheW1lbnROZXR3b3JrcygpOworICAgIHN0YXRpYyBBdmFpbGFibGVQYXltZW50TmV0d29y
a3NTZXQgcGxhdGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MoKTsKIAogICAgIFdlYlBhZ2Um
IG1fd2ViUGFnZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxl
UGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvckNvY29hLm1tCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJmOTllZTJmZDhkN2MyNWU0Yjc1ZGY0OWNjZTFhYjA1MjhjMjBkNDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2Vi
UGF5bWVudENvb3JkaW5hdG9yQ29jb2EubW0KQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJXZWJQYXltZW50Q29vcmRpbmF0b3Iu
aCIKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpICYmIFBMQVRGT1JNKENPQ09BKQorCisjaW1wb3J0
IDxwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitX
ZWJQYXltZW50Q29vcmRpbmF0b3I6OkF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc1NldCBXZWJQYXlt
ZW50Q29vcmRpbmF0b3I6OnBsYXRmb3JtQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCkKK3sKKyNp
ZiBQTEFURk9STShNQUMpCisgICAgaWYgKCFQQUw6OmlzUGFzc0tpdEZyYW1ld29ya0F2YWlsYWJs
ZSgpKQorICAgICAgICByZXR1cm4geyB9OworI2VuZGlmCisKKyAgICBXZWJQYXltZW50Q29vcmRp
bmF0b3I6OkF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc1NldCBhdmFpbGFibGVOZXR3b3JrczsKKyAg
ICBmb3IgKFBLUGF5bWVudE5ldHdvcmsgbmV0d29yayBpbiBbUEFMOjpnZXRQS1BheW1lbnRSZXF1
ZXN0Q2xhc3MoKSBhdmFpbGFibGVOZXR3b3Jrc10pCisgICAgICAgIGF2YWlsYWJsZU5ldHdvcmtz
LmFkZChuZXR3b3JrKTsKKyAgICByZXR1cm4gYXZhaWxhYmxlTmV0d29ya3M7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkgJiYgUExBVEZP
Uk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0K
aW5kZXggOTRjY2E3ZjQ1MTdjMjU4MmViYTFiNzYzY2MxY2E1Mjg3NmU2MWRlMS4uZWUxNWViN2Nk
N2I1OTQwZjU1ZWNjNGU2YjA5ZGFmMGJkZDI4YzgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5tbQpAQCAtNDQsOCArNDQsNiBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9TY3JvbGxiYXIuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgogCi11
c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tBY2Nlc3NpYmlsaXR5
V2ViUGFnZU9iamVjdEJhc2UKIAogLSAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZSopYXhPYmplY3RD
YWNoZQpAQCAtMTMyLDcgKzEzMCw3IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlSb290T2JqZWN0V3Jh
cHBlcgogICAgICAgICByZXR1cm4gW3NlbGYgaXNvbGF0ZWRUcmVlUm9vdE9iamVjdF07CiAjZW5k
aWYKIAotICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IFtzZWxmIGF4T2JqZWN0Q2FjaGVd
KSB7CisgICAgaWYgKGF1dG8gY2FjaGUgPSBbc2VsZiBheE9iamVjdENhY2hlXSkgewogICAgICAg
ICBpZiAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdCA9IGNhY2hlLT5yb290T2Jq
ZWN0KCkpCiAgICAgICAgICAgICByZXR1cm4gcm9vdC0+d3JhcHBlcigpOwogICAgIH0KQEAgLTE0
MCw3ICsxMzgsNyBAQCAtIChpZClhY2Nlc3NpYmlsaXR5Um9vdE9iamVjdFdyYXBwZXIKICAgICBy
ZXR1cm4gbmlsOwogfQogCi0tICh2b2lkKXNldFdlYlBhZ2U6KFdlYlBhZ2UqKXBhZ2UKKy0gKHZv
aWQpc2V0V2ViUGFnZTooV2ViS2l0OjpXZWJQYWdlKilwYWdlCiB7CiAgICAgbV9wYWdlID0gcGFn
ZTsKICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>