<?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>174386</bug_id>
          
          <creation_ts>2017-07-11 13:38:49 -0700</creation_ts>
          <short_desc>NavigationAction should track whether the navigation was initiated by the main frame</short_desc>
          <delta_ts>2017-07-12 11:02:30 -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>Page Loading</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>174385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1327693</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-11 13:38:49 -0700</bug_when>
    <thetext>Towards fixing bug #174385, we make NavigationAction actually track whether the navigation was initiated by the main frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327698</commentid>
    <comment_count>1</comment_count>
      <attachid>315157</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-11 13:41:12 -0700</bug_when>
    <thetext>Created attachment 315157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327704</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-07-11 13:44:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/33245267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328079</commentid>
    <comment_count>3</comment_count>
      <attachid>315157</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-12 09:32:57 -0700</bug_when>
    <thetext>Comment on attachment 315157
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        initiated by the main frame in r219170 is not possible to initialize this state

&quot;is not&quot; =&gt; &quot;it is not&quot;

&gt; Source/WebCore/ChangeLog:12
&gt; +        when asking the embedding client whether to allow a navigation. We will make us

us =&gt; use

&gt; Source/WebCore/ChangeLog:13
&gt; +        of it in a subsequent commit.

&quot;in a subsequent commit&quot; =&gt; &quot;in the fix for &lt;https://bugs.webkit.org/show_bug.cgi?id=174385&gt;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328082</commentid>
    <comment_count>4</comment_count>
      <attachid>315157</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-12 09:38:39 -0700</bug_when>
    <thetext>Comment on attachment 315157
Patch

In some places in this patch you change names:
e.g. m_navigationInitiatedByMainFrame becomes m_initiatedByMainFrame

I&apos;m not sure why when the type remains &quot;NavigationInitiatedByMainFrame&quot;

I do think this flag of &quot;initiated by main frame&quot; has way more potential uses besides navigation, so the name changes actually kind of make sense.

But please either change the typename as well, or leave the variable/method names for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328095</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-12 10:10:25 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #4)
&gt; Comment on attachment 315157 [details]
&gt; Patch
&gt; 
&gt; In some places in this patch you change names:
&gt; e.g. m_navigationInitiatedByMainFrame becomes m_initiatedByMainFrame
&gt; 
&gt; I&apos;m not sure why when the type remains &quot;NavigationInitiatedByMainFrame&quot;
&gt; 

Filed bug #174427 to rename NavigationInitiatedByMainFrame to InitiatedByMainFrame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328111</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-12 10:25:45 -0700</bug_when>
    <thetext>Committed r219407: &lt;http://trac.webkit.org/changeset/219407&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328132</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-12 11:02:30 -0700</bug_when>
    <thetext>Fix bad merge of patch after &lt;http://trac.webkit.org/changeset/219404&gt; (bug #174427): &lt;http://trac.webkit.org/changeset/219410&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315157</attachid>
            <date>2017-07-11 13:41:12 -0700</date>
            <delta_ts>2017-07-12 09:38:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174386-20170711134112.patch</filename>
            <type>text/plain</type>
            <size>25049</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE4ZGI1YjhjYzc0MGVm
MDYyNTlkZGQxNGIzODllN2Q2NjZkZjdjMS4uMmU1ZmJmOTk3MDkyNTY1MWYzMjcyYmZjYmNmMjIx
ZjQxNmE1NDQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE3LTA3LTExICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBOYXZpZ2F0aW9uQWN0aW9u
IHNob3VsZCB0cmFjayB3aGV0aGVyIHRoZSBuYXZpZ2F0aW9uIHdhcyBpbml0aWF0ZWQgYnkgdGhl
IG1haW4gZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NDM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFsdGhvdWdoIHdlIGFkZGVkIHN0YXRlIHRvIE5hdmlnYXRpb25BY3Rpb24gdG8gdHJhY2sg
d2hldGhlciB0aGUgbmF2aWdhdGlvbiB3YXMKKyAgICAgICAgaW5pdGlhdGVkIGJ5IHRoZSBtYWlu
IGZyYW1lIGluIHIyMTkxNzAgaXMgbm90IHBvc3NpYmxlIHRvIGluaXRpYWxpemUgdGhpcyBzdGF0
ZQorICAgICAgICB3aGVuIGluc3RhbnRpYXRpbmcgYSBOYXZpZ2F0aW9uQWN0aW9uLiBIYXZpbmcg
TmF2aWdhdGlvbkFjdGlvbiB0cmFjayB0aGlzIHN0YXRlCisgICAgICAgIHdpbGwgYmUgdXNlZnVs
IHRvIGVuc3VyZSB0aGF0IHdlIGNhbiBhbHdheXMgY29tcHV0ZSB0aGUgc291cmNlIGZyYW1lIGlu
Zm9ybWF0aW9uCisgICAgICAgIHdoZW4gYXNraW5nIHRoZSBlbWJlZGRpbmcgY2xpZW50IHdoZXRo
ZXIgdG8gYWxsb3cgYSBuYXZpZ2F0aW9uLiBXZSB3aWxsIG1ha2UgdXMKKyAgICAgICAgb2YgaXQg
aW4gYSBzdWJzZXF1ZW50IGNvbW1pdC4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2VkLiBT
bywgbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkVVJMKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2Fk
V2l0aE5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRXaXRoRG9jdW1lbnRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJl
bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRv
d1BvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZERpZmZlcmVudERv
Y3VtZW50SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAq
IGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb246Ok5hdmlnYXRpb25BY3Rp
b24pOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmg6CisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjppbml0aWF0ZWRCeU1haW5GcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpuYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUp
OiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9Qb2xpY3lDaGVja2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBvbGljeUNoZWNrZXI6OmNoZWNrTmF2aWdhdGlvblBvbGljeSk6CisgICAgICAg
ICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3Bl
bk5ld1dpbmRvdyk6CisKIDIwMTctMDctMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gSWdub3JlIHRvdWNoIGV2ZW50cyB0aGF0IGludGVy
cnVwdCBwbGF0Zm9ybS1kcml2ZW4gbW9tZW50dW0gc2Nyb2xsaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmM0
NWYxMmRhZGI5NzNmNDQ1NGE5MTkyZDY4OTIwOTAyZTVhOWRjOC4uZTFiYjZmZWI4ZmNiMTE2ZWIz
OTkxYWMwM2IzMDAyMWU3ZTMwMjRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3
LTA3LTExICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBOYXZp
Z2F0aW9uQWN0aW9uIHNob3VsZCB0cmFjayB3aGV0aGVyIHRoZSBuYXZpZ2F0aW9uIHdhcyBpbml0
aWF0ZWQgYnkgdGhlIG1haW4gZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NDM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZWQuIFNvLCBubyBuZXcgdGVzdHMuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViSW5zcGVjdG9yOjpvcGVuSW5OZXdUYWIpOgorCiAyMDE3LTA3LTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gX2RpZENvbW1pdExh
eWVyVHJlZSBzaG91bGQgYXZvaWQgY2FsbGluZyBbc2Nyb2xsVmlldyBzZXRab29tU2NhbGVdIHVu
bmVjZXNzYXJpbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDUwZDQy
YmRiYmE2ZDlkM2RjODBmN2FlYzNlYzQ5NjJlOWZlYjU1NWUuLjI5N2Q2MzU2YjhiNzIzODZiMTBi
MTFmMzc4ODRmNjI1MDQxNWNjMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtMTI4OSw3ICsxMjg5LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFVSTChGcmFtZUxv
YWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29uc3QgU3RyaW5nJiByZWYKICAgICBpZiAo
IWlzTmF2aWdhdGlvbkFsbG93ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTmF2aWdhdGlv
bkFjdGlvbiBhY3Rpb24geyBmcmFtZUxvYWRSZXF1ZXN0LnJlcXVlc3RlcigpLCByZXF1ZXN0LCBu
ZXdMb2FkVHlwZSwgaXNGb3JtU3VibWlzc2lvbiwgZXZlbnQsIGZyYW1lTG9hZFJlcXVlc3Quc2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpLCBmcmFtZUxvYWRSZXF1ZXN0LmRvd25sb2FkQXR0
cmlidXRlKCkgfTsKKyAgICBOYXZpZ2F0aW9uQWN0aW9uIGFjdGlvbiB7IGZyYW1lTG9hZFJlcXVl
c3QucmVxdWVzdGVyKCksIHJlcXVlc3QsIGZyYW1lTG9hZFJlcXVlc3QubmF2aWdhdGlvbkluaXRp
YXRlZEJ5TWFpbkZyYW1lKCksIG5ld0xvYWRUeXBlLCBpc0Zvcm1TdWJtaXNzaW9uLCBldmVudCwg
ZnJhbWVMb2FkUmVxdWVzdC5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCksIGZyYW1lTG9h
ZFJlcXVlc3QuZG93bmxvYWRBdHRyaWJ1dGUoKSB9OwogCiAgICAgaWYgKCF0YXJnZXRGcmFtZSAm
JiAhZnJhbWVOYW1lLmlzRW1wdHkoKSkgewogICAgICAgICBhY3Rpb24gPSBhY3Rpb24uY29weVdp
dGhTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3lUb0FwcGx5KG1fZnJhbWUsIGZyYW1lTG9hZFJlcXVlc3QpKTsKQEAgLTEzMjAsNyArMTMyMCw3
IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRVUkwoRnJhbWVMb2FkUmVxdWVzdCYmIGZyYW1lTG9h
ZFJlcXVlc3QsIGNvbnN0IFN0cmluZyYgcmVmCiAKICAgICAvLyBtdXN0IGdyYWIgdGhpcyBub3cs
IHNpbmNlIHRoaXMgbG9hZCBtYXkgc3RvcCB0aGUgcHJldmlvdXMgbG9hZCBhbmQgY2xlYXIgdGhp
cyBmbGFnCiAgICAgYm9vbCBpc1JlZGlyZWN0ID0gbV9xdWlja1JlZGlyZWN0Q29taW5nOwotICAg
IGxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbihyZXF1ZXN0LCBhY3Rpb24sIGxvY2tIaXN0b3J5LCBu
ZXdMb2FkVHlwZSwgZm9ybVN0YXRlLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwsIGZyYW1l
TG9hZFJlcXVlc3QubmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lKCkpOworICAgIGxvYWRX
aXRoTmF2aWdhdGlvbkFjdGlvbihyZXF1ZXN0LCBhY3Rpb24sIGxvY2tIaXN0b3J5LCBuZXdMb2Fk
VHlwZSwgZm9ybVN0YXRlLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpOwogICAgIGlmIChp
c1JlZGlyZWN0KSB7CiAgICAgICAgIG1fcXVpY2tSZWRpcmVjdENvbWluZyA9IGZhbHNlOwogICAg
ICAgICBpZiAobV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyKQpAQCAtMTM2Miw3ICsxMzYyLDcg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZChGcmFtZUxvYWRSZXF1ZXN0JiYgcmVxdWVzdCkKICAg
ICB9CiAKICAgICBpZiAocmVxdWVzdC5zaG91bGRDaGVja05ld1dpbmRvd1BvbGljeSgpKSB7Ci0g
ICAgICAgIE5hdmlnYXRpb25BY3Rpb24gYWN0aW9uIHsgcmVxdWVzdC5yZXF1ZXN0ZXIoKSwgcmVx
dWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgTmF2aWdhdGlvblR5cGU6Ok90aGVyLCByZXF1ZXN0LnNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSB9OworICAgICAgICBOYXZpZ2F0aW9uQWN0aW9u
IGFjdGlvbiB7IHJlcXVlc3QucmVxdWVzdGVyKCksIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCks
IE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biwgTmF2aWdhdGlvblR5cGU6
Ok90aGVyLCByZXF1ZXN0LnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSB9OwogICAgICAg
ICBwb2xpY3lDaGVja2VyKCkuY2hlY2tOZXdXaW5kb3dQb2xpY3koYWN0aW9uLCByZXF1ZXN0LnJl
c291cmNlUmVxdWVzdCgpLCBudWxscHRyLCByZXF1ZXN0LmZyYW1lTmFtZSgpLCBbdGhpc10gKGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgRm9ybVN0YXRlKiBmb3JtU3RhdGUsIGNvbnN0
IFN0cmluZyYgZnJhbWVOYW1lLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBhY3Rpb24sIGJvb2wg
c2hvdWxkQ29udGludWUpIHsKICAgICAgICAgICAgIGNvbnRpbnVlTG9hZEFmdGVyTmV3V2luZG93
UG9saWN5KHJlcXVlc3QsIGZvcm1TdGF0ZSwgZnJhbWVOYW1lLCBhY3Rpb24sIHNob3VsZENvbnRp
bnVlLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVPcGVuZXJQb2xp
Y3k6OlN1cHByZXNzKTsKICAgICAgICAgfSk7CkBAIC0xMzc5LDEwICsxMzc5LDEwIEBAIHZvaWQg
RnJhbWVMb2FkZXI6OmxvYWQoRnJhbWVMb2FkUmVxdWVzdCYmIHJlcXVlc3QpCiAgICAgbG9hZChs
b2FkZXIucHRyKCkpOwogfQogCi12b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aE5hdmlnYXRpb25B
Y3Rpb24oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBOYXZpZ2F0aW9uQWN0
aW9uJiBhY3Rpb24sIExvY2tIaXN0b3J5IGxvY2tIaXN0b3J5LCBGcmFtZUxvYWRUeXBlIHR5cGUs
IEZvcm1TdGF0ZSogZm9ybVN0YXRlLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgYWxsb3dO
YXZpZ2F0aW9uVG9JbnZhbGlkVVJMLCBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUgbmF2
aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lKQordm9pZCBGcmFtZUxvYWRlcjo6bG9hZFdpdGhO
YXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTmF2
aWdhdGlvbkFjdGlvbiYgYWN0aW9uLCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgRnJhbWVMb2Fk
VHlwZSB0eXBlLCBGb3JtU3RhdGUqIGZvcm1TdGF0ZSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlk
VVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKIHsKICAgICBSZWY8RG9jdW1lbnRMb2Fk
ZXI+IGxvYWRlciA9IG1fY2xpZW50LmNyZWF0ZURvY3VtZW50TG9hZGVyKHJlcXVlc3QsIGRlZmF1
bHRTdWJzdGl0dXRlRGF0YUZvclVSTChyZXF1ZXN0LnVybCgpKSk7Ci0gICAgYXBwbHlTaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9OZXdEb2N1bWVudExvYWRlcihtX2ZyYW1lLCBsb2FkZXIs
IG5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSwgYWN0aW9uLnNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3koKSk7CisgICAgYXBwbHlTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9O
ZXdEb2N1bWVudExvYWRlcihtX2ZyYW1lLCBsb2FkZXIsIGFjdGlvbi5pbml0aWF0ZWRCeU1haW5G
cmFtZSgpLCBhY3Rpb24uc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpKTsKIAogICAgIGlm
IChsb2NrSGlzdG9yeSA9PSBMb2NrSGlzdG9yeTo6WWVzICYmIG1fZG9jdW1lbnRMb2FkZXIpCiAg
ICAgICAgIGxvYWRlci0+c2V0Q2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KG1fZG9jdW1l
bnRMb2FkZXItPmRpZENyZWF0ZUdsb2JhbEhpc3RvcnlFbnRyeSgpID8gbV9kb2N1bWVudExvYWRl
ci0+dXJsRm9ySGlzdG9yeSgpLnN0cmluZygpIDogbV9kb2N1bWVudExvYWRlci0+Y2xpZW50UmVk
aXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkpOwpAQCAtMTQ2Nyw3ICsxNDY3LDcgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciogbG9hZGVyLCBG
cmFtZUxvYWRUeXBlIHQKIAogICAgIGlmIChzaG91bGRQZXJmb3JtRnJhZ21lbnROYXZpZ2F0aW9u
KGlzRm9ybVN1Ym1pc3Npb24sIGh0dHBNZXRob2QsIHBvbGljeUNoZWNrZXIoKS5sb2FkVHlwZSgp
LCBuZXdVUkwpKSB7CiAgICAgICAgIFJlZlB0cjxEb2N1bWVudExvYWRlcj4gb2xkRG9jdW1lbnRM
b2FkZXIgPSBtX2RvY3VtZW50TG9hZGVyOwotICAgICAgICBOYXZpZ2F0aW9uQWN0aW9uIGFjdGlv
biB7ICptX2ZyYW1lLmRvY3VtZW50KCksIGxvYWRlci0+cmVxdWVzdCgpLCBwb2xpY3lDaGVja2Vy
KCkubG9hZFR5cGUoKSwgaXNGb3JtU3VibWlzc2lvbiB9OworICAgICAgICBOYXZpZ2F0aW9uQWN0
aW9uIGFjdGlvbiB7ICptX2ZyYW1lLmRvY3VtZW50KCksIGxvYWRlci0+cmVxdWVzdCgpLCBOYXZp
Z2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24sIHBvbGljeUNoZWNrZXIoKS5sb2Fk
VHlwZSgpLCBpc0Zvcm1TdWJtaXNzaW9uIH07CiAKICAgICAgICAgb2xkRG9jdW1lbnRMb2FkZXIt
PnNldFRyaWdnZXJpbmdBY3Rpb24oYWN0aW9uKTsKICAgICAgICAgb2xkRG9jdW1lbnRMb2FkZXIt
PnNldExhc3RDaGVja2VkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QoKSk7CkBAIC0xNDg0LDcgKzE0
ODQsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKERvY3VtZW50
TG9hZGVyKiBsb2FkZXIsIEZyYW1lTG9hZFR5cGUgdAogICAgIHBvbGljeUNoZWNrZXIoKS5zdG9w
Q2hlY2soKTsKICAgICBzZXRQb2xpY3lEb2N1bWVudExvYWRlcihsb2FkZXIpOwogICAgIGlmIChs
b2FkZXItPnRyaWdnZXJpbmdBY3Rpb24oKS5pc0VtcHR5KCkpCi0gICAgICAgIGxvYWRlci0+c2V0
VHJpZ2dlcmluZ0FjdGlvbih7ICptX2ZyYW1lLmRvY3VtZW50KCksIGxvYWRlci0+cmVxdWVzdCgp
LCBwb2xpY3lDaGVja2VyKCkubG9hZFR5cGUoKSwgaXNGb3JtU3VibWlzc2lvbiB9KTsKKyAgICAg
ICAgbG9hZGVyLT5zZXRUcmlnZ2VyaW5nQWN0aW9uKHsgKm1fZnJhbWUuZG9jdW1lbnQoKSwgbG9h
ZGVyLT5yZXF1ZXN0KCksIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biwg
cG9saWN5Q2hlY2tlcigpLmxvYWRUeXBlKCksIGlzRm9ybVN1Ym1pc3Npb24gfSk7CiAKICAgICBp
ZiAoRWxlbWVudCogb3duZXJFbGVtZW50ID0gbV9mcmFtZS5vd25lckVsZW1lbnQoKSkgewogICAg
ICAgICAvLyBXZSBza2lwIGRpc3BhdGNoaW5nIHRoZSBiZWZvcmVsb2FkIGV2ZW50IGlmIHdlJ3Zl
IGFscmVhZHkKQEAgLTE2MjMsNyArMTYyMyw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJlbG9hZChP
cHRpb25TZXQ8UmVsb2FkT3B0aW9uPiBvcHRpb25zKQogCiAgICAgLy8gSWYgd2UncmUgYWJvdXQg
dG8gcmUtcG9zdCwgc2V0IHVwIGFjdGlvbiBzbyB0aGUgYXBwbGljYXRpb24gY2FuIHdhcm4gdGhl
IHVzZXIuCiAgICAgaWYgKHJlcXVlc3QuaHR0cE1ldGhvZCgpID09ICJQT1NUIikKLSAgICAgICAg
bG9hZGVyLT5zZXRUcmlnZ2VyaW5nQWN0aW9uKHsgKm1fZnJhbWUuZG9jdW1lbnQoKSwgcmVxdWVz
dCwgTmF2aWdhdGlvblR5cGU6OkZvcm1SZXN1Ym1pdHRlZCB9KTsKKyAgICAgICAgbG9hZGVyLT5z
ZXRUcmlnZ2VyaW5nQWN0aW9uKHsgKm1fZnJhbWUuZG9jdW1lbnQoKSwgcmVxdWVzdCwgTmF2aWdh
dGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duLCBOYXZpZ2F0aW9uVHlwZTo6Rm9ybVJl
c3VibWl0dGVkIH0pOwogCiAgICAgbG9hZGVyLT5zZXRPdmVycmlkZUVuY29kaW5nKG1fZG9jdW1l
bnRMb2FkZXItPm92ZXJyaWRlRW5jb2RpbmcoKSk7CiAKQEAgLTI3NDcsMTIgKzI3NDcsMTIgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KEZyYW1lTG9hZFJlcXVlc3QmJiByZXF1
ZXN0LCBjb25zdCBTdHJpbmcmIHJlZmUKICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9m
cmFtZS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5
KCktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZCh3b3JraW5nUmVzb3VyY2VSZXF1ZXN0
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6OkxvYWQpOwogCi0g
ICAgTmF2aWdhdGlvbkFjdGlvbiBhY3Rpb24geyByZXF1ZXN0LnJlcXVlc3RlcigpLCB3b3JraW5n
UmVzb3VyY2VSZXF1ZXN0LCBsb2FkVHlwZSwgdHJ1ZSwgZXZlbnQsIHJlcXVlc3Quc2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeSgpLCByZXF1ZXN0LmRvd25sb2FkQXR0cmlidXRlKCkgfTsKKyAg
ICBOYXZpZ2F0aW9uQWN0aW9uIGFjdGlvbiB7IHJlcXVlc3QucmVxdWVzdGVyKCksIHdvcmtpbmdS
ZXNvdXJjZVJlcXVlc3QsIHJlcXVlc3QubmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lKCks
IGxvYWRUeXBlLCB0cnVlLCBldmVudCwgcmVxdWVzdC5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KCksIHJlcXVlc3QuZG93bmxvYWRBdHRyaWJ1dGUoKSB9OwogCiAgICAgaWYgKCFmcmFtZU5h
bWUuaXNFbXB0eSgpKSB7CiAgICAgICAgIC8vIFRoZSBzZWFyY2ggZm9yIGEgdGFyZ2V0IGZyYW1l
IGlzIGRvbmUgZWFybGllciBpbiB0aGUgY2FzZSBvZiBmb3JtIHN1Ym1pc3Npb24uCiAgICAgICAg
IGlmIChGcmFtZSogdGFyZ2V0RnJhbWUgPSBmb3JtU3RhdGUgPyAwIDogZmluZEZyYW1lRm9yTmF2
aWdhdGlvbihmcmFtZU5hbWUpKSB7Ci0gICAgICAgICAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCku
bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwg
bG9ja0hpc3RvcnksIGxvYWRUeXBlLCBXVEZNb3ZlKGZvcm1TdGF0ZSksIGFsbG93TmF2aWdhdGlv
blRvSW52YWxpZFVSTCwgcmVxdWVzdC5uYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUoKSk7
CisgICAgICAgICAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCkubG9hZFdpdGhOYXZpZ2F0aW9uQWN0
aW9uKHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwgbG9ja0hpc3RvcnksIGxvYWRUeXBl
LCBXVEZNb3ZlKGZvcm1TdGF0ZSksIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjc2NCw3ICsyNzY0LDcgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KEZyYW1lTG9hZFJlcXVlc3QmJiByZXF1ZXN0LCBj
b25zdCBTdHJpbmcmIHJlZmUKIAogICAgIC8vIG11c3QgZ3JhYiB0aGlzIG5vdywgc2luY2UgdGhp
cyBsb2FkIG1heSBzdG9wIHRoZSBwcmV2aW91cyBsb2FkIGFuZCBjbGVhciB0aGlzIGZsYWcKICAg
ICBib29sIGlzUmVkaXJlY3QgPSBtX3F1aWNrUmVkaXJlY3RDb21pbmc7Ci0gICAgbG9hZFdpdGhO
YXZpZ2F0aW9uQWN0aW9uKHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwgbG9ja0hpc3Rv
cnksIGxvYWRUeXBlLCBXVEZNb3ZlKGZvcm1TdGF0ZSksIGFsbG93TmF2aWdhdGlvblRvSW52YWxp
ZFVSTCwgcmVxdWVzdC5uYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUoKSk7CisgICAgbG9h
ZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwgbG9j
a0hpc3RvcnksIGxvYWRUeXBlLCBXVEZNb3ZlKGZvcm1TdGF0ZSksIGFsbG93TmF2aWdhdGlvblRv
SW52YWxpZFVSTCk7CiAgICAgaWYgKGlzUmVkaXJlY3QpIHsKICAgICAgICAgbV9xdWlja1JlZGly
ZWN0Q29taW5nID0gZmFsc2U7CiAgICAgICAgIGlmIChtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2Fk
ZXIpCkBAIC0zMjAzLDggKzMyMDMsOCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRB
ZnRlck5ld1dpbmRvd1BvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlcwogICAgICAg
ICBtYWluRnJhbWUtPmRvY3VtZW50KCktPnNldFJlZmVycmVyUG9saWN5KGZyYW1lLT5kb2N1bWVu
dCgpLT5yZWZlcnJlclBvbGljeSgpKTsKICAgICB9CiAKLSAgICBOYXZpZ2F0aW9uQWN0aW9uIG5l
d0FjdGlvbiB7ICpmcmFtZS0+ZG9jdW1lbnQoKSwgcmVxdWVzdCwgTmF2aWdhdGlvblR5cGU6Ok90
aGVyLCBhY3Rpb24uc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpIH07Ci0gICAgbWFpbkZy
YW1lLT5sb2FkZXIoKS5sb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24ocmVxdWVzdCwgbmV3QWN0aW9u
LCBMb2NrSGlzdG9yeTo6Tm8sIEZyYW1lTG9hZFR5cGU6OlN0YW5kYXJkLCBmb3JtU3RhdGUsIGFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1l
OjpVbmtub3duKTsKKyAgICBOYXZpZ2F0aW9uQWN0aW9uIG5ld0FjdGlvbiB7ICpmcmFtZS0+ZG9j
dW1lbnQoKSwgcmVxdWVzdCwgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3du
LCBOYXZpZ2F0aW9uVHlwZTo6T3RoZXIsIGFjdGlvbi5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KCkgfTsKKyAgICBtYWluRnJhbWUtPmxvYWRlcigpLmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlv
bihyZXF1ZXN0LCBuZXdBY3Rpb24sIExvY2tIaXN0b3J5OjpObywgRnJhbWVMb2FkVHlwZTo6U3Rh
bmRhcmQsIGZvcm1TdGF0ZSwgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKTsKIH0KIAogdm9p
ZCBGcmFtZUxvYWRlcjo6cmVxdWVzdEZyb21EZWxlZ2F0ZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIHVuc2lnbmVkIGxvbmcmIGlkZW50aWZpZXIsIFJlc291cmNlRXJyb3ImIGVycm9yKQpAQCAt
MzM4NiwxMCArMzM4NiwxMiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1l
bnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBGcmFtZUxvYWRUeXBlIGxvYQogICAgIC8vIFJlbWVt
YmVyIHRoaXMgaXRlbSBzbyB3ZSBjYW4gdHJhdmVyc2UgYW55IGNoaWxkIGl0ZW1zIGFzIGNoaWxk
IGZyYW1lcyBsb2FkCiAgICAgaGlzdG9yeSgpLnNldFByb3Zpc2lvbmFsSXRlbSgmaXRlbSk7CiAK
KyAgICBhdXRvIGluaXRpYXRlZEJ5TWFpbkZyYW1lID0gTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFp
bkZyYW1lOjpVbmtub3duOworCiAgICAgaWYgKENhY2hlZFBhZ2UqIGNhY2hlZFBhZ2UgPSBQYWdl
Q2FjaGU6OnNpbmdsZXRvbigpLmdldChpdGVtLCBtX2ZyYW1lLnBhZ2UoKSkpIHsKICAgICAgICAg
YXV0byBkb2N1bWVudExvYWRlciA9IGNhY2hlZFBhZ2UtPmRvY3VtZW50TG9hZGVyKCk7CiAgICAg
ICAgIG1fY2xpZW50LnVwZGF0ZUNhY2hlZERvY3VtZW50TG9hZGVyKCpkb2N1bWVudExvYWRlcik7
Ci0gICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXRUcmlnZ2VyaW5nQWN0aW9uKHsgKm1fZnJhbWUu
ZG9jdW1lbnQoKSwgZG9jdW1lbnRMb2FkZXItPnJlcXVlc3QoKSwgbG9hZFR5cGUsIGZhbHNlIH0p
OworICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0VHJpZ2dlcmluZ0FjdGlvbih7ICptX2ZyYW1l
LmRvY3VtZW50KCksIGRvY3VtZW50TG9hZGVyLT5yZXF1ZXN0KCksIGluaXRpYXRlZEJ5TWFpbkZy
YW1lLCBsb2FkVHlwZSwgZmFsc2UgfSk7CiAgICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXRMYXN0
Q2hlY2tlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KCkpOwogICAgICAgICBsb2FkV2l0aERvY3Vt
ZW50TG9hZGVyKGRvY3VtZW50TG9hZGVyLCBsb2FkVHlwZSwgMCwgQWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMOjpZZXMpOwogICAgICAgICByZXR1cm47CkBAIC0zNDA3LDcgKzM0MDksNyBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBp
dGVtLCBGcmFtZUxvYWRUeXBlIGxvYQogICAgIGlmICghaXRlbS5yZWZlcnJlcigpLmlzTnVsbCgp
KQogICAgICAgICByZXF1ZXN0LnNldEhUVFBSZWZlcnJlcihpdGVtLnJlZmVycmVyKCkpOwogCi0g
ICAgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5ID0gc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeVRvQXBwbHkobV9mcmFtZSwgTmF2aWdh
dGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duLCBpdGVtLnNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3koKSk7CisgICAgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5ID0gc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeVRvQXBw
bHkobV9mcmFtZSwgaW5pdGlhdGVkQnlNYWluRnJhbWUsIGl0ZW0uc2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeSgpKTsKICAgICBib29sIGlzRm9ybVN1Ym1pc3Npb24gPSBmYWxzZTsKICAgICBF
dmVudCogZXZlbnQgPSBudWxscHRyOwogCkBAIC0zNDM3LDEwICszNDM5LDEwIEBAIHZvaWQgRnJh
bWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEZy
YW1lTG9hZFR5cGUgbG9hCiAgICAgICAgIAogICAgICAgICBpZiAoY2FjaGVMb2FkUG9saWN5ID09
IE1heUF0dGVtcHRDYWNoZU9ubHlMb2FkRm9yRm9ybVN1Ym1pc3Npb25JdGVtKSB7CiAgICAgICAg
ICAgICByZXF1ZXN0LnNldENhY2hlUG9saWN5KFJldHVybkNhY2hlRGF0YURvbnRMb2FkKTsKLSAg
ICAgICAgICAgIGFjdGlvbiA9IHsgKm1fZnJhbWUuZG9jdW1lbnQoKSwgcmVxdWVzdCwgbG9hZFR5
cGUsIGlzRm9ybVN1Ym1pc3Npb24sIGV2ZW50LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
IH07CisgICAgICAgICAgICBhY3Rpb24gPSB7ICptX2ZyYW1lLmRvY3VtZW50KCksIHJlcXVlc3Qs
IGluaXRpYXRlZEJ5TWFpbkZyYW1lLCBsb2FkVHlwZSwgaXNGb3JtU3VibWlzc2lvbiwgZXZlbnQs
IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgfTsKICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgIHJlcXVlc3Quc2V0Q2FjaGVQb2xpY3koUmV0dXJuQ2FjaGVEYXRhRWxzZUxvYWQpOwot
ICAgICAgICAgICAgYWN0aW9uID0geyAqbV9mcmFtZS5kb2N1bWVudCgpLCByZXF1ZXN0LCBOYXZp
Z2F0aW9uVHlwZTo6Rm9ybVJlc3VibWl0dGVkLCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
LCBldmVudCB9OworICAgICAgICAgICAgYWN0aW9uID0geyAqbV9mcmFtZS5kb2N1bWVudCgpLCBy
ZXF1ZXN0LCBpbml0aWF0ZWRCeU1haW5GcmFtZSwgTmF2aWdhdGlvblR5cGU6OkZvcm1SZXN1Ym1p
dHRlZCwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgZXZlbnQgfTsKICAgICAgICAgfQog
ICAgIH0gZWxzZSB7CiAgICAgICAgIHN3aXRjaCAobG9hZFR5cGUpIHsKQEAgLTM0NzQsMTAgKzM0
NzYsMTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZERpZmZlcmVudERvY3VtZW50SXRlbShIaXN0
b3J5SXRlbSYgaXRlbSwgRnJhbWVMb2FkVHlwZSBsb2EKIAogICAgICAgICBSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdEZvck9yaWdpbmFsVVJMKHJlcXVlc3QpOwogICAgICAgICByZXF1ZXN0Rm9yT3Jp
Z2luYWxVUkwuc2V0VVJMKGl0ZW1PcmlnaW5hbFVSTCk7Ci0gICAgICAgIGFjdGlvbiA9IHsgKm1f
ZnJhbWUuZG9jdW1lbnQoKSwgcmVxdWVzdEZvck9yaWdpbmFsVVJMLCBsb2FkVHlwZSwgaXNGb3Jt
U3VibWlzc2lvbiwgZXZlbnQsIHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgfTsKKyAgICAg
ICAgYWN0aW9uID0geyAqbV9mcmFtZS5kb2N1bWVudCgpLCByZXF1ZXN0Rm9yT3JpZ2luYWxVUkws
IGluaXRpYXRlZEJ5TWFpbkZyYW1lLCBsb2FkVHlwZSwgaXNGb3JtU3VibWlzc2lvbiwgZXZlbnQs
IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgfTsKICAgICB9CiAKLSAgICBsb2FkV2l0aE5h
dmlnYXRpb25BY3Rpb24ocmVxdWVzdCwgYWN0aW9uLCBMb2NrSGlzdG9yeTo6Tm8sIGxvYWRUeXBl
LCAwLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmF2aWdhdGlvbkluaXRpYXRl
ZEJ5TWFpbkZyYW1lOjpVbmtub3duKTsKKyAgICBsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24ocmVx
dWVzdCwgYWN0aW9uLCBMb2NrSGlzdG9yeTo6Tm8sIGxvYWRUeXBlLCAwLCBBbGxvd05hdmlnYXRp
b25Ub0ludmFsaWRVUkw6Olllcyk7CiB9CiAKIC8vIExvYWRzIGNvbnRlbnQgaW50byB0aGlzIGZy
YW1lLCBhcyBzcGVjaWZpZWQgYnkgaGlzdG9yeSBpdGVtCkBAIC0zNzIzLDcgKzM3MjUsNyBAQCBS
ZWZQdHI8RnJhbWU+IGNyZWF0ZVdpbmRvdyhGcmFtZSYgb3BlbmVyRnJhbWUsIEZyYW1lJiBsb29r
dXBGcmFtZSwgRnJhbWVMb2FkUmVxdQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9
IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb0FwcGx5KG9wZW5lckZyYW1lLCByZXF1ZXN0
KTsKLSAgICBOYXZpZ2F0aW9uQWN0aW9uIGFjdGlvbiB7IHJlcXVlc3QucmVxdWVzdGVyKCksIHJl
cXVlc3QucmVzb3VyY2VSZXF1ZXN0KCksIE5hdmlnYXRpb25UeXBlOjpPdGhlciwgc2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeSB9OworICAgIE5hdmlnYXRpb25BY3Rpb24gYWN0aW9uIHsgcmVx
dWVzdC5yZXF1ZXN0ZXIoKSwgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgcmVxdWVzdC5uYXZp
Z2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUoKSwgTmF2aWdhdGlvblR5cGU6Ok90aGVyLCBzaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IH07CiAgICAgUGFnZSogcGFnZSA9IG9sZFBhZ2UtPmNo
cm9tZSgpLmNyZWF0ZVdpbmRvdyhvcGVuZXJGcmFtZSwgcmVxdWVzdCwgZmVhdHVyZXMsIGFjdGlv
bik7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggZTkzZjk2ZWU3MzgyMjEzMDY3ZDZiNzg5YzE4NGFkZjk5
NGNlNDNiNi4uMGUxMjcwNDQ3MjJjZjIwZjNjNTM5YjY4OGFkNzRhNmMyN2NkZjVjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTM1OCw3ICszNTgsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgbG9hZFdpdGhEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciosIEZyYW1lTG9h
ZFR5cGUsIEZvcm1TdGF0ZSosIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7IC8vIENhbGxz
IGNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeQogICAgIHZvaWQgbG9hZChEb2N1bWVu
dExvYWRlciopOyAvLyBDYWxscyBsb2FkV2l0aERvY3VtZW50TG9hZGVyCiAKLSAgICB2b2lkIGxv
YWRXaXRoTmF2aWdhdGlvbkFjdGlvbihjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBOYXZp
Z2F0aW9uQWN0aW9uJiwgTG9ja0hpc3RvcnksIEZyYW1lTG9hZFR5cGUsIEZvcm1TdGF0ZSosIEFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1l
KTsgLy8gQ2FsbHMgbG9hZFdpdGhEb2N1bWVudExvYWRlcgorICAgIHZvaWQgbG9hZFdpdGhOYXZp
Z2F0aW9uQWN0aW9uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IE5hdmlnYXRpb25BY3Rp
b24mLCBMb2NrSGlzdG9yeSwgRnJhbWVMb2FkVHlwZSwgRm9ybVN0YXRlKiwgQWxsb3dOYXZpZ2F0
aW9uVG9JbnZhbGlkVVJMKTsgLy8gQ2FsbHMgbG9hZFdpdGhEb2N1bWVudExvYWRlcgogCiAgICAg
dm9pZCBsb2FkUG9zdFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYmLCBjb25zdCBTdHJpbmcmIHJl
ZmVycmVyLCBGcmFtZUxvYWRUeXBlLCBFdmVudCosIEZvcm1TdGF0ZSopOwogICAgIHZvaWQgbG9h
ZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIEZyYW1lTG9h
ZFR5cGUsIEV2ZW50KiwgRm9ybVN0YXRlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvbkFjdGlvbi5jcHAKaW5kZXggOGIwMjlkNGYyMzcxYTBmZWFiMTMxMmZjYzNjZjYzMWY5ZDk0
YjJkYS4uOTgwMTZkN2Y3YjJhOWNkNDZlNzM3ZTA1NTA2ZGExMzQwN2Q5NmE5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmNwcApAQCAtNDQsMTEgKzQ0LDEyIEBA
IE5hdmlnYXRpb25BY3Rpb246Ok5hdmlnYXRpb25BY3Rpb24oTmF2aWdhdGlvbkFjdGlvbiYmKSA9
IGRlZmF1bHQ7CiBOYXZpZ2F0aW9uQWN0aW9uJiBOYXZpZ2F0aW9uQWN0aW9uOjpvcGVyYXRvcj0o
Y29uc3QgTmF2aWdhdGlvbkFjdGlvbiYpID0gZGVmYXVsdDsKIE5hdmlnYXRpb25BY3Rpb24mIE5h
dmlnYXRpb25BY3Rpb246Om9wZXJhdG9yPShOYXZpZ2F0aW9uQWN0aW9uJiYpID0gZGVmYXVsdDsK
IAotTmF2aWdhdGlvbkFjdGlvbjo6TmF2aWdhdGlvbkFjdGlvbihEb2N1bWVudCYgc291cmNlLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgTmF2aWdhdGlvblR5cGUgdHlw
ZSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5LCBFdmVudCogZXZlbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUp
CitOYXZpZ2F0aW9uQWN0aW9uOjpOYXZpZ2F0aW9uQWN0aW9uKERvY3VtZW50JiBzb3VyY2UsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBOYXZpZ2F0aW9uSW5pdGlhdGVk
QnlNYWluRnJhbWUgaW5pdGlhdGVkQnlNYWluRnJhbWUsIE5hdmlnYXRpb25UeXBlIHR5cGUsIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwg
RXZlbnQqIGV2ZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlKQogICAg
IDogbV9zb3VyY2VEb2N1bWVudCB7IG1ha2VSZWZQdHIoc291cmNlKSB9CiAgICAgLCBtX3Jlc291
cmNlUmVxdWVzdCB7IHJlc291cmNlUmVxdWVzdCB9CiAgICAgLCBtX3R5cGUgeyB0eXBlIH0KICAg
ICAsIG1fc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSB7IHNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3kgfQorICAgICwgbV9pbml0aWF0ZWRCeU1haW5GcmFtZSB7IGluaXRpYXRlZEJ5TWFp
bkZyYW1lIH0KICAgICAsIG1fZXZlbnQgeyBldmVudCB9CiAgICAgLCBtX2Rvd25sb2FkQXR0cmli
dXRlIHsgZG93bmxvYWRBdHRyaWJ1dGUgfQogewpAQCAtNjcsMTEgKzY4LDEyIEBAIHN0YXRpYyBO
YXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZShGcmFtZUxvYWRUeXBlIGZyYW1lTG9hZFR5cGUs
IGJvb2wgaXNGb3JtU3ViCiAgICAgcmV0dXJuIE5hdmlnYXRpb25UeXBlOjpPdGhlcjsKIH0KIAot
TmF2aWdhdGlvbkFjdGlvbjo6TmF2aWdhdGlvbkFjdGlvbihEb2N1bWVudCYgc291cmNlLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgRnJhbWVMb2FkVHlwZSBmcmFtZUxv
YWRUeXBlLCBib29sIGlzRm9ybVN1Ym1pc3Npb24sIEV2ZW50KiBldmVudCwgU2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBjb25zdCBBdG9t
aWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlKQorTmF2aWdhdGlvbkFjdGlvbjo6TmF2aWdhdGlv
bkFjdGlvbihEb2N1bWVudCYgc291cmNlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNl
UmVxdWVzdCwgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lIGluaXRpYXRlZEJ5TWFpbkZy
YW1lLCBGcmFtZUxvYWRUeXBlIGZyYW1lTG9hZFR5cGUsIGJvb2wgaXNGb3JtU3VibWlzc2lvbiwg
RXZlbnQqIGV2ZW50LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3ksIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUpCiAg
ICAgOiBtX3NvdXJjZURvY3VtZW50IHsgbWFrZVJlZlB0cihzb3VyY2UpIH0KICAgICAsIG1fcmVz
b3VyY2VSZXF1ZXN0IHsgcmVzb3VyY2VSZXF1ZXN0IH0KICAgICAsIG1fdHlwZSB7IG5hdmlnYXRp
b25UeXBlKGZyYW1lTG9hZFR5cGUsIGlzRm9ybVN1Ym1pc3Npb24sICEhZXZlbnQpIH0KICAgICAs
IG1fc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSB7IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3kgfQorICAgICwgbV9pbml0aWF0ZWRCeU1haW5GcmFtZSB7IGluaXRpYXRlZEJ5TWFpbkZy
YW1lIH0KICAgICAsIG1fZXZlbnQgeyBldmVudCB9CiAgICAgLCBtX2Rvd25sb2FkQXR0cmlidXRl
IHsgZG93bmxvYWRBdHRyaWJ1dGUgfQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25BY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
QWN0aW9uLmgKaW5kZXggYTUzOTk3YTA2MDYxM2VjMzk4ODAwZjU3NjAwZDdmYzczOTA4NTA5YS4u
YTU2YWJlZDlkNDIwNDA0YmYwZDJmMWMyZDkwNDQyNTFkMGFiYjgyNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oCkBAIC00MSw4ICs0MSw4IEBAIGNsYXNzIEV2ZW50
OwogY2xhc3MgTmF2aWdhdGlvbkFjdGlvbiB7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlvbkFjdGlv
bigpOwotICAgIFdFQkNPUkVfRVhQT1JUIE5hdmlnYXRpb25BY3Rpb24oRG9jdW1lbnQmLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBOYXZpZ2F0aW9uVHlwZSA9IE5hdmlnYXRpb25UeXBlOjpPdGhl
ciwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3k6OlNob3VsZE5vdEFsbG93LCBFdmVudCogPSBudWxscHRyLCBjb25zdCBBdG9taWNTdHJp
bmcmIGRvd25sb2FkQXR0cmlidXRlID0gbnVsbEF0b20oKSk7Ci0gICAgTmF2aWdhdGlvbkFjdGlv
bihEb2N1bWVudCYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIEZyYW1lTG9hZFR5cGUsIGJvb2wg
aXNGb3JtU3VibWlzc2lvbiwgRXZlbnQqID0gbnVsbHB0ciwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeSA9IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBj
b25zdCBBdG9taWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlID0gbnVsbEF0b20oKSk7CisgICAg
V0VCQ09SRV9FWFBPUlQgTmF2aWdhdGlvbkFjdGlvbihEb2N1bWVudCYsIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSwgTmF2aWdhdGlvblR5cGUg
PSBOYXZpZ2F0aW9uVHlwZTo6T3RoZXIsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgPSBT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgRXZlbnQqID0gbnVs
bHB0ciwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSA9IG51bGxBdG9tKCkp
OworICAgIE5hdmlnYXRpb25BY3Rpb24oRG9jdW1lbnQmLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUsIEZyYW1lTG9hZFR5cGUsIGJvb2wgaXNG
b3JtU3VibWlzc2lvbiwgRXZlbnQqID0gbnVsbHB0ciwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSA9IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBjb25z
dCBBdG9taWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlID0gbnVsbEF0b20oKSk7CiAKICAgICBX
RUJDT1JFX0VYUE9SVCB+TmF2aWdhdGlvbkFjdGlvbigpOwogCkBAIC02OCw3ICs2OCw3IEBAIHB1
YmxpYzoKICAgICBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlbigpIGNv
bnN0IHsgcmV0dXJuIG1fdXNlckdlc3R1cmVUb2tlbjsgfQogCiAgICAgU2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCkgY29uc3QgeyByZXR1
cm4gbV9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OyB9Ci0gICAgTmF2aWdhdGlvbkluaXRp
YXRlZEJ5TWFpbkZyYW1lIG5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOyB9CisgICAgTmF2aWdhdGlv
bkluaXRpYXRlZEJ5TWFpbkZyYW1lIGluaXRpYXRlZEJ5TWFpbkZyYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9pbml0aWF0ZWRCeU1haW5GcmFtZTsgfQogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBk
b3dubG9hZEF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG93bmxvYWRBdHRyaWJ1dGU7IH0K
IApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgogICAgIFJlc291cmNlUmVxdWVzdCBtX3Jlc291
cmNlUmVxdWVzdDsKICAgICBOYXZpZ2F0aW9uVHlwZSBtX3R5cGU7CiAgICAgU2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSBtX3Nob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k7Ci0gICAgTmF2
aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lIG1fbmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZy
YW1lOworICAgIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSBtX2luaXRpYXRlZEJ5TWFp
bkZyYW1lOwogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8VXNlckdlc3R1
cmVUb2tlbj4gbV91c2VyR2VzdHVyZVRva2VuIHsgVXNlckdlc3R1cmVJbmRpY2F0b3I6OmN1cnJl
bnRVc2VyR2VzdHVyZSgpIH07CiAgICAgQXRvbWljU3RyaW5nIG1fZG93bmxvYWRBdHRyaWJ1dGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAKaW5kZXggY2YyZWEzMjhhMzdk
ZDgzMzc1MmUwZjliOWEzOTViMDA1MGYxYTdmNy4uOWQ0YjU4M2QwM2E1OTRhNTkwYTI5ZGM2N2E2
Nzc1ODU5MGIxMzBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmNwcApA
QCAtODQsNyArODQsNyBAQCB2b2lkIFBvbGljeUNoZWNrZXI6OmNoZWNrTmF2aWdhdGlvblBvbGlj
eShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGJvb2wgZAogewogICAgIE5hdmlnYXRp
b25BY3Rpb24gYWN0aW9uID0gbG9hZGVyLT50cmlnZ2VyaW5nQWN0aW9uKCk7CiAgICAgaWYgKGFj
dGlvbi5pc0VtcHR5KCkpIHsKLSAgICAgICAgYWN0aW9uID0gTmF2aWdhdGlvbkFjdGlvbiB7ICpt
X2ZyYW1lLmRvY3VtZW50KCksIHJlcXVlc3QsIE5hdmlnYXRpb25UeXBlOjpPdGhlciwgbG9hZGVy
LT5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSB9OworICAgICAgICBh
Y3Rpb24gPSBOYXZpZ2F0aW9uQWN0aW9uIHsgKm1fZnJhbWUuZG9jdW1lbnQoKSwgcmVxdWVzdCwg
TmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duLCBOYXZpZ2F0aW9uVHlwZTo6
T3RoZXIsIGxvYWRlci0+c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeVRvUHJvcGFnYXRlKCkg
fTsKICAgICAgICAgbG9hZGVyLT5zZXRUcmlnZ2VyaW5nQWN0aW9uKGFjdGlvbik7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXgg
YWM4ODc1M2U0Yzc2OWE4MzdlMTg4ZjZkMTEyNDdkMjdkODYxNWU1MC4uYmIzYWM2ZjI1NDRlNzc1
YzY3NzA1MjZkZTkyYjAwYWUzYzJjNzI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHN0YXRpYyB2b2lkIG9w
ZW5OZXdXaW5kb3coY29uc3QgVVJMJiB1cmxUb0xvYWQsIEZyYW1lJiBmcmFtZSwgU2hvdWxkT3Bl
bkV4dGVybmFsCiAKICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqZnJh
bWUuZG9jdW1lbnQoKSwgZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3Vy
Y2VSZXF1ZXN0KHVybFRvTG9hZCwgZnJhbWUubG9hZGVyKCkub3V0Z29pbmdSZWZlcnJlcigpKSwg
eyB9LCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXliZVNlbmRS
ZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVy
UG9saWN5OjpTdXBwcmVzcywgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgTmF2aWdhdGlv
bkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiAKLSAgICBQYWdlKiBuZXdQYWdlID0g
b2xkUGFnZS0+Y2hyb21lKCkuY3JlYXRlV2luZG93KGZyYW1lLCBmcmFtZUxvYWRSZXF1ZXN0LCB7
IH0sIHsgKmZyYW1lLmRvY3VtZW50KCksIGZyYW1lTG9hZFJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0
KCkgfSk7CisgICAgUGFnZSogbmV3UGFnZSA9IG9sZFBhZ2UtPmNocm9tZSgpLmNyZWF0ZVdpbmRv
dyhmcmFtZSwgZnJhbWVMb2FkUmVxdWVzdCwgeyB9LCB7ICpmcmFtZS5kb2N1bWVudCgpLCBmcmFt
ZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBmcmFtZUxvYWRSZXF1ZXN0Lm5hdmlnYXRp
b25Jbml0aWF0ZWRCeU1haW5GcmFtZSgpIH0pOwogICAgIGlmICghbmV3UGFnZSkKICAgICAgICAg
cmV0dXJuOwogICAgIG5ld1BhZ2UtPmNocm9tZSgpLnNob3coKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAKaW5kZXggM2E2MGY2ZDNh
YmE1ZjBiMGY5MzZhYWQ0ZTBlNjYxODQzNjhjOWIwNC4uNTY4OGFkNDc3ODEwMTg4MGFhYWNlNTc3
OWZiZDU1NzgzNThkYjZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIFdlYkluc3Bl
Y3Rvcjo6b3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogICAgIEZyYW1lJiBp
bnNwZWN0ZWRNYWluRnJhbWUgPSBpbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKTsKICAgICBGcmFt
ZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqaW5zcGVjdGVkTWFpbkZyYW1lLmRvY3Vt
ZW50KCksIGluc3BlY3RlZE1haW5GcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB7
IHVybFN0cmluZyB9LCBBU0NJSUxpdGVyYWwoIl9ibGFuayIpLCBMb2NrSGlzdG9yeTo6Tm8sIExv
Y2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9u
VG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdywgU2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIE5hdmlnYXRpb25Jbml0aWF0ZWRC
eU1haW5GcmFtZTo6VW5rbm93biB9OwogCi0gICAgTmF2aWdhdGlvbkFjdGlvbiBhY3Rpb24geyAq
aW5zcGVjdGVkTWFpbkZyYW1lLmRvY3VtZW50KCksIGZyYW1lTG9hZFJlcXVlc3QucmVzb3VyY2VS
ZXF1ZXN0KCksIE5hdmlnYXRpb25UeXBlOjpMaW5rQ2xpY2tlZCB9OworICAgIE5hdmlnYXRpb25B
Y3Rpb24gYWN0aW9uIHsgKmluc3BlY3RlZE1haW5GcmFtZS5kb2N1bWVudCgpLCBmcmFtZUxvYWRS
ZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBmcmFtZUxvYWRSZXF1ZXN0Lm5hdmlnYXRpb25Jbml0
aWF0ZWRCeU1haW5GcmFtZSgpLCBOYXZpZ2F0aW9uVHlwZTo6TGlua0NsaWNrZWQgfTsKICAgICBQ
YWdlKiBuZXdQYWdlID0gaW5zcGVjdGVkUGFnZS0+Y2hyb21lKCkuY3JlYXRlV2luZG93KGluc3Bl
Y3RlZE1haW5GcmFtZSwgZnJhbWVMb2FkUmVxdWVzdCwgeyB9LCBhY3Rpb24pOwogICAgIGlmICgh
bmV3UGFnZSkKICAgICAgICAgcmV0dXJuOwo=
</data>
<flag name="review"
          id="336022"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>