<?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>199070</bug_id>
          
          <creation_ts>2019-06-20 10:35:15 -0700</creation_ts>
          <short_desc>[WinCairo][PlayStation] Add automation support for RemoteInspector SocketServer implementation.</short_desc>
          <delta_ts>2019-10-21 12:26:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>basuke</cc>
    
    <cc>cgarcia</cc>
    
    <cc>chris.reid</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1546566</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-06-20 10:35:15 -0700</bug_when>
    <thetext>Add basic implementation of automation for RemoteInspector socket server backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579174</commentid>
    <comment_count>1</comment_count>
      <attachid>380774</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-10-11 11:46:34 -0700</bug_when>
    <thetext>Created attachment 380774
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579179</commentid>
    <comment_count>2</comment_count>
      <attachid>380775</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-10-11 11:49:29 -0700</bug_when>
    <thetext>Created attachment 380775
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579183</commentid>
    <comment_count>3</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-10-11 12:03:39 -0700</bug_when>
    <thetext>Basically following GTK implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579241</commentid>
    <comment_count>4</comment_count>
      <attachid>380775</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-11 14:16:52 -0700</bug_when>
    <thetext>Comment on attachment 380775
PATCH

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

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp:200
&gt; +    if (!m_client)
&gt; +        return;
&gt; +
&gt; +    if (!m_clientCapabilities || !m_clientCapabilities-&gt;remoteAutomationAllowed)
&gt; +        return;
&gt; +
&gt; +    if (sessionID.isNull())
&gt; +        return;

Not sure that we need three separate conditionals here.

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp:359
&gt; +    String sessionID = *event.message;
&gt; +    requestAutomationSession(WTFMove(sessionID), { });

This style is a bit confusing. At the least, I think `event.message.value()` would be more readable, but I also wonder if it&apos;s worth making the new requestAutomationSession take const String&amp; instead, so that we wouldn&apos;t have to explicitly copy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580215</commentid>
    <comment_count>5</comment_count>
      <attachid>380775</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-10-15 12:40:53 -0700</bug_when>
    <thetext>Comment on attachment 380775
PATCH

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

&gt;&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp:200
&gt;&gt; +        return;
&gt; 
&gt; Not sure that we need three separate conditionals here.

Latter two are runtime check which caused by configuration so I&apos;ll add different LOG_ERROR to them. First one is the correct check which caused by timing and required check.

&gt;&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp:359
&gt;&gt; +    requestAutomationSession(WTFMove(sessionID), { });
&gt; 
&gt; This style is a bit confusing. At the least, I think `event.message.value()` would be more readable, but I also wonder if it&apos;s worth making the new requestAutomationSession take const String&amp; instead, so that we wouldn&apos;t have to explicitly copy.

Right. I&apos;ll change this to const String&amp; because last step of this function calls may ended up with const String&amp; and using `move` here is meaningless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580216</commentid>
    <comment_count>6</comment_count>
      <attachid>381013</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-10-15 12:41:23 -0700</bug_when>
    <thetext>Created attachment 381013
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581881</commentid>
    <comment_count>7</comment_count>
      <attachid>381013</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-21 10:37:48 -0700</bug_when>
    <thetext>Comment on attachment 381013
PATCH

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

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.h:152
&gt; +    void requestAutomationSession(const String&amp; sessionID, const Client::SessionCapabilities&amp;);

Final nit: I guess the string name can be omitted here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581908</commentid>
    <comment_count>8</comment_count>
      <attachid>381013</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-10-21 11:30:51 -0700</bug_when>
    <thetext>Comment on attachment 381013
PATCH

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

Thanks!

&gt;&gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.h:152
&gt;&gt; +    void requestAutomationSession(const String&amp; sessionID, const Client::SessionCapabilities&amp;);
&gt; 
&gt; Final nit: I guess the string name can be omitted here.

No I don&apos;t think so. General types such as bool, int or String should have its name to make it meaningful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581944</commentid>
    <comment_count>9</comment_count>
      <attachid>381013</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-21 12:25:59 -0700</bug_when>
    <thetext>Comment on attachment 381013
PATCH

Clearing flags on attachment: 381013

Committed r251373: &lt;https://trac.webkit.org/changeset/251373&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581945</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-21 12:26:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581946</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-21 12:26:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/56472064&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380774</attachid>
            <date>2019-10-11 11:46:34 -0700</date>
            <delta_ts>2019-10-11 11:49:29 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-199070.diff</filename>
            <type>text/plain</type>
            <size>5259</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDgzNjg0NWE5ZDIxLi5kZjJiZmQzNjVmNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMTAtMTEgIEJhc3Vr
ZSBTdXp1a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWlyb11b
UGxheVN0YXRpb25dIEFkZCBhdXRvbWF0aW9uIHN1cHBvcnQgZm9yIFJlbW90ZUluc3BlY3RvciBT
b2NrZXRTZXJ2ZXIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkwNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmg6
CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0
LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpsaXN0aW5nRm9yQXV0
b21hdGlvblRhcmdldCBjb25zdCk6CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rv
cjo6c2VuZEF1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRhdGVNZXNzYWdlKToKKyAgICAgICAgKElu
c3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpyZXF1ZXN0QXV0b21hdGlvblNlc3Npb24pOgorICAg
ICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OmRpc3BhdGNoTWFwKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzdGFydEF1dG9tYXRpb25TZXNzaW9uKToKKwog
MjAxOS0xMC0xMCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBHZW5lcmF0ZUFuZEFsbG9jYXRlUmVnaXN0ZXJzIGNhbiB0cml2aWFsbHkgZWxpZGUgc2Vs
ZiBtb3ZlcyBhdCBlbmQgb2YgbGl2ZW5lc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgKaW5kZXggZmIwOTM3OWRl
NjQuLmJmMmJiNjU3MGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaApAQCAtMjIxLDYgKzIyMSw5IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBzZXR1cFRhcmdldChjb25zdCBFdmVudCYpOwogICAgIHZvaWQgZnJv
bnRlbmREaWRDbG9zZShjb25zdCBFdmVudCYpOwogICAgIHZvaWQgc2VuZE1lc3NhZ2VUb0JhY2tl
bmQoY29uc3QgRXZlbnQmKTsKKyAgICB2b2lkIHN0YXJ0QXV0b21hdGlvblNlc3Npb24oY29uc3Qg
RXZlbnQmKTsKKworICAgIHZvaWQgcmVjZWl2ZWRBdXRvbWF0aW9uU2Vzc2lvblJlcXVlc3RNZXNz
YWdlKGNvbnN0IEV2ZW50Jik7CiAKICAgICBTdHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldC5jcHAKaW5k
ZXggZWViNWZjNDE5OGIuLjkwZDgxNTg3YTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3Rl
SW5zcGVjdG9yU29ja2V0LmNwcApAQCAtMTMzLDkgKzEzMywxNCBAQCBUYXJnZXRMaXN0aW5nIFJl
bW90ZUluc3BlY3Rvcjo6bGlzdGluZ0Zvckluc3BlY3Rpb25UYXJnZXQoY29uc3QgUmVtb3RlSW5z
cGVjdGlvbgogICAgIHJldHVybiB0YXJnZXRMaXN0aW5nOwogfQogCi1UYXJnZXRMaXN0aW5nIFJl
bW90ZUluc3BlY3Rvcjo6bGlzdGluZ0ZvckF1dG9tYXRpb25UYXJnZXQoY29uc3QgUmVtb3RlQXV0
b21hdGlvblRhcmdldCYpIGNvbnN0CitUYXJnZXRMaXN0aW5nIFJlbW90ZUluc3BlY3Rvcjo6bGlz
dGluZ0ZvckF1dG9tYXRpb25UYXJnZXQoY29uc3QgUmVtb3RlQXV0b21hdGlvblRhcmdldCYgdGFy
Z2V0KSBjb25zdAogewotICAgIHJldHVybiBudWxscHRyOworICAgIFRhcmdldExpc3RpbmcgdGFy
Z2V0TGlzdGluZyA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CisgICAgdGFyZ2V0TGlzdGluZy0+
c2V0U3RyaW5nKCJ0eXBlIl9zLCAiYXV0b21hdGlvbiJfcyk7CisgICAgdGFyZ2V0TGlzdGluZy0+
c2V0U3RyaW5nKCJuYW1lIl9zLCB0YXJnZXQubmFtZSgpKTsKKyAgICB0YXJnZXRMaXN0aW5nLT5z
ZXRJbnRlZ2VyKCJ0YXJnZXRJRCJfcywgdGFyZ2V0LnRhcmdldElkZW50aWZpZXIoKSk7CisgICAg
dGFyZ2V0TGlzdGluZy0+c2V0Qm9vbGVhbigiaXNQYWlyZWQiX3MsIHRhcmdldC5pc1BhaXJlZCgp
KTsKKyAgICByZXR1cm4gdGFyZ2V0TGlzdGluZzsKIH0KIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6
OnB1c2hMaXN0aW5nc05vdygpCkBAIC0xNzYsNiArMTgxLDI2IEBAIHZvaWQgUmVtb3RlSW5zcGVj
dG9yOjpwdXNoTGlzdGluZ3NTb29uKCkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNlbmRBdXRv
bWF0aWNJbnNwZWN0aW9uQ2FuZGlkYXRlTWVzc2FnZSgpCiB7CisgICAgQVNTRVJUKG1fZW5hYmxl
ZCk7CisgICAgQVNTRVJUKG1fYXV0b21hdGljSW5zcGVjdGlvbkVuYWJsZWQpOworICAgIEFTU0VS
VChtX2F1dG9tYXRpY0luc3BlY3Rpb25QYXVzZWQpOworICAgIEFTU0VSVChtX2F1dG9tYXRpY0lu
c3BlY3Rpb25DYW5kaWRhdGVUYXJnZXRJZGVudGlmaWVyKTsKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50IGF1dG9tYXRpYyBpbnNwZWN0aW9uLgorfQorCit2b2lkIFJlbW90ZUluc3BlY3Rvcjo6cmVx
dWVzdEF1dG9tYXRpb25TZXNzaW9uKFN0cmluZyYmIHNlc3Npb25JRCwgY29uc3QgQ2xpZW50OjpT
ZXNzaW9uQ2FwYWJpbGl0aWVzJiBjYXBhYmlsaXRpZXMpCit7CisgICAgaWYgKCFtX2NsaWVudCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX2NsaWVudENhcGFiaWxpdGllcyB8fCAhbV9j
bGllbnRDYXBhYmlsaXRpZXMtPnJlbW90ZUF1dG9tYXRpb25BbGxvd2VkKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoc2Vzc2lvbklELmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2NsaWVudC0+cmVxdWVzdEF1dG9tYXRpb25TZXNzaW9uKHNlc3Npb25JRCwgY2FwYWJpbGl0
aWVzKTsKKyAgICB1cGRhdGVDbGllbnRDYXBhYmlsaXRpZXMoKTsKIH0KIAogdm9pZCBSZW1vdGVJ
bnNwZWN0b3I6OnNlbmRNZXNzYWdlVG9SZW1vdGUoVGFyZ2V0SUQgdGFyZ2V0SWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAtMjQ5LDYgKzI3NCw3IEBAIEhhc2hNYXA8U3RyaW5n
LCBSZW1vdGVJbnNwZWN0b3JDb25uZWN0aW9uQ2xpZW50OjpDYWxsSGFuZGxlcj4mIFJlbW90ZUlu
c3BlY3Rvcjo6CiAgICAgICAgIHsgIlNldHVwIl9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4o
JlJlbW90ZUluc3BlY3Rvcjo6c2V0dXBUYXJnZXQpIH0sCiAgICAgICAgIHsgIkZyb250ZW5kRGlk
Q2xvc2UiX3MsIHN0YXRpY19jYXN0PENhbGxIYW5kbGVyPigmUmVtb3RlSW5zcGVjdG9yOjpmcm9u
dGVuZERpZENsb3NlKSB9LAogICAgICAgICB7ICJTZW5kTWVzc2FnZVRvQmFja2VuZCJfcywgc3Rh
dGljX2Nhc3Q8Q2FsbEhhbmRsZXI+KCZSZW1vdGVJbnNwZWN0b3I6OnNlbmRNZXNzYWdlVG9CYWNr
ZW5kKSB9LAorICAgICAgICB7ICJTdGFydEF1dG9tYXRpb25TZXNzaW9uIl9zLCBzdGF0aWNfY2Fz
dDxDYWxsSGFuZGxlcj4oJlJlbW90ZUluc3BlY3Rvcjo6c3RhcnRBdXRvbWF0aW9uU2Vzc2lvbikg
fSwKICAgICB9KTsKIAogICAgIHJldHVybiBtZXRob2RzOwpAQCAtMzE5LDYgKzM0NSwzNiBAQCB2
b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2VuZE1lc3NhZ2VUb0JhY2tlbmQoY29uc3QgRXZlbnQmIGV2
ZW50KQogICAgIGNvbm5lY3Rpb25Ub1RhcmdldC0+c2VuZE1lc3NhZ2VUb1RhcmdldChldmVudC5t
ZXNzYWdlLnZhbHVlKCkpOwogfQogCit2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c3RhcnRBdXRvbWF0
aW9uU2Vzc2lvbihjb25zdCBFdmVudCYgZXZlbnQpCit7CisgICAgaWYgKCFtX2NsaWVudENvbm5l
Y3Rpb24pCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisK
KyAgICBpZiAoIWV2ZW50Lm1lc3NhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIFN0cmluZyBz
ZXNzaW9uSUQgPSAqZXZlbnQubWVzc2FnZTsKKyAgICByZXF1ZXN0QXV0b21hdGlvblNlc3Npb24o
V1RGTW92ZShzZXNzaW9uSUQpLCB7IH0pOworCisgICAgYXV0byBzZW5kRXZlbnQgPSBKU09OOjpP
YmplY3Q6OmNyZWF0ZSgpOworICAgIHNlbmRFdmVudC0+c2V0U3RyaW5nKCJldmVudCJfcywgIlN0
YXJ0QXV0b21hdGlvblNlc3Npb25fUmV0dXJuIl9zKTsKKworICAgIGF1dG8gY2FwYWJpbGl0eSA9
IGNsaWVudENhcGFiaWxpdGllcygpOworCisgICAgYXV0byBtZXNzYWdlID0gSlNPTjo6T2JqZWN0
OjpjcmVhdGUoKTsKKyAgICBtZXNzYWdlLT5zZXRTdHJpbmcoImJyb3dzZXJOYW1lIl9zLCBjYXBh
YmlsaXR5ID8gY2FwYWJpbGl0eS0+YnJvd3Nlck5hbWUgOiAiIik7CisgICAgbWVzc2FnZS0+c2V0
U3RyaW5nKCJicm93c2VyVmVyc2lvbiJfcywgY2FwYWJpbGl0eSA/IGNhcGFiaWxpdHktPmJyb3dz
ZXJWZXJzaW9uIDogIiIpOworICAgIHNlbmRFdmVudC0+c2V0U3RyaW5nKCJtZXNzYWdlIl9zLCBt
ZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7CisgICAgc2VuZFdlYkluc3BlY3RvckV2ZW50KHNlbmRF
dmVudC0+dG9KU09OU3RyaW5nKCkpOworCisgICAgbV9yZWFkeVRvUHVzaExpc3RpbmdzID0gdHJ1
ZTsKKworICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKKyAgICBwdXNoTGlzdGluZ3NOb3co
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoUkVN
T1RFX0lOU1BFQ1RPUikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380775</attachid>
            <date>2019-10-11 11:49:29 -0700</date>
            <delta_ts>2019-10-15 12:41:23 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-199070.diff</filename>
            <type>text/plain</type>
            <size>5370</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDgzNjg0NWE5ZDIxLi42MWNjMmJlMDJkZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMTAtMTEgIEJhc3Vr
ZSBTdXp1a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWlyb11b
UGxheVN0YXRpb25dIEFkZCBhdXRvbWF0aW9uIHN1cHBvcnQgZm9yIFJlbW90ZUluc3BlY3RvciBT
b2NrZXRTZXJ2ZXIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkwNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBoYW5kbGVyIGZvciBTdGFydEF1dG9tYXRpb25TZXNz
aW9uIGV2ZW50IGZyb20gV2ViRHJpdmVyIGFuZCBwcmVwYXJpbmcgZm9yIGF1dG9tYXRpb24gc2Vz
c2lvbi4KKworICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0LmNw
cDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpsaXN0aW5nRm9yQXV0b21h
dGlvblRhcmdldCBjb25zdCk6CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6
c2VuZEF1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRhdGVNZXNzYWdlKToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpyZXF1ZXN0QXV0b21hdGlvblNlc3Npb24pOgorICAgICAg
ICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OmRpc3BhdGNoTWFwKToKKyAgICAgICAgKElu
c3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzdGFydEF1dG9tYXRpb25TZXNzaW9uKToKKwogMjAx
OS0xMC0xMCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBHZW5lcmF0ZUFuZEFsbG9jYXRlUmVnaXN0ZXJzIGNhbiB0cml2aWFsbHkgZWxpZGUgc2VsZiBt
b3ZlcyBhdCBlbmQgb2YgbGl2ZW5lc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgKaW5kZXggZmIwOTM3OWRlNjQu
LmJmMmJiNjU3MGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaApAQCAtMjIxLDYgKzIyMSw5IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBzZXR1cFRhcmdldChjb25zdCBFdmVudCYpOwogICAgIHZvaWQgZnJvbnRl
bmREaWRDbG9zZShjb25zdCBFdmVudCYpOwogICAgIHZvaWQgc2VuZE1lc3NhZ2VUb0JhY2tlbmQo
Y29uc3QgRXZlbnQmKTsKKyAgICB2b2lkIHN0YXJ0QXV0b21hdGlvblNlc3Npb24oY29uc3QgRXZl
bnQmKTsKKworICAgIHZvaWQgcmVjZWl2ZWRBdXRvbWF0aW9uU2Vzc2lvblJlcXVlc3RNZXNzYWdl
KGNvbnN0IEV2ZW50Jik7CiAKICAgICBTdHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldC5jcHAKaW5kZXgg
ZWViNWZjNDE5OGIuLjkwZDgxNTg3YTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5z
cGVjdG9yU29ja2V0LmNwcApAQCAtMTMzLDkgKzEzMywxNCBAQCBUYXJnZXRMaXN0aW5nIFJlbW90
ZUluc3BlY3Rvcjo6bGlzdGluZ0Zvckluc3BlY3Rpb25UYXJnZXQoY29uc3QgUmVtb3RlSW5zcGVj
dGlvbgogICAgIHJldHVybiB0YXJnZXRMaXN0aW5nOwogfQogCi1UYXJnZXRMaXN0aW5nIFJlbW90
ZUluc3BlY3Rvcjo6bGlzdGluZ0ZvckF1dG9tYXRpb25UYXJnZXQoY29uc3QgUmVtb3RlQXV0b21h
dGlvblRhcmdldCYpIGNvbnN0CitUYXJnZXRMaXN0aW5nIFJlbW90ZUluc3BlY3Rvcjo6bGlzdGlu
Z0ZvckF1dG9tYXRpb25UYXJnZXQoY29uc3QgUmVtb3RlQXV0b21hdGlvblRhcmdldCYgdGFyZ2V0
KSBjb25zdAogewotICAgIHJldHVybiBudWxscHRyOworICAgIFRhcmdldExpc3RpbmcgdGFyZ2V0
TGlzdGluZyA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CisgICAgdGFyZ2V0TGlzdGluZy0+c2V0
U3RyaW5nKCJ0eXBlIl9zLCAiYXV0b21hdGlvbiJfcyk7CisgICAgdGFyZ2V0TGlzdGluZy0+c2V0
U3RyaW5nKCJuYW1lIl9zLCB0YXJnZXQubmFtZSgpKTsKKyAgICB0YXJnZXRMaXN0aW5nLT5zZXRJ
bnRlZ2VyKCJ0YXJnZXRJRCJfcywgdGFyZ2V0LnRhcmdldElkZW50aWZpZXIoKSk7CisgICAgdGFy
Z2V0TGlzdGluZy0+c2V0Qm9vbGVhbigiaXNQYWlyZWQiX3MsIHRhcmdldC5pc1BhaXJlZCgpKTsK
KyAgICByZXR1cm4gdGFyZ2V0TGlzdGluZzsKIH0KIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnB1
c2hMaXN0aW5nc05vdygpCkBAIC0xNzYsNiArMTgxLDI2IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9y
OjpwdXNoTGlzdGluZ3NTb29uKCkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNlbmRBdXRvbWF0
aWNJbnNwZWN0aW9uQ2FuZGlkYXRlTWVzc2FnZSgpCiB7CisgICAgQVNTRVJUKG1fZW5hYmxlZCk7
CisgICAgQVNTRVJUKG1fYXV0b21hdGljSW5zcGVjdGlvbkVuYWJsZWQpOworICAgIEFTU0VSVCht
X2F1dG9tYXRpY0luc3BlY3Rpb25QYXVzZWQpOworICAgIEFTU0VSVChtX2F1dG9tYXRpY0luc3Bl
Y3Rpb25DYW5kaWRhdGVUYXJnZXRJZGVudGlmaWVyKTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50
IGF1dG9tYXRpYyBpbnNwZWN0aW9uLgorfQorCit2b2lkIFJlbW90ZUluc3BlY3Rvcjo6cmVxdWVz
dEF1dG9tYXRpb25TZXNzaW9uKFN0cmluZyYmIHNlc3Npb25JRCwgY29uc3QgQ2xpZW50OjpTZXNz
aW9uQ2FwYWJpbGl0aWVzJiBjYXBhYmlsaXRpZXMpCit7CisgICAgaWYgKCFtX2NsaWVudCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX2NsaWVudENhcGFiaWxpdGllcyB8fCAhbV9jbGll
bnRDYXBhYmlsaXRpZXMtPnJlbW90ZUF1dG9tYXRpb25BbGxvd2VkKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoc2Vzc2lvbklELmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X2NsaWVudC0+cmVxdWVzdEF1dG9tYXRpb25TZXNzaW9uKHNlc3Npb25JRCwgY2FwYWJpbGl0aWVz
KTsKKyAgICB1cGRhdGVDbGllbnRDYXBhYmlsaXRpZXMoKTsKIH0KIAogdm9pZCBSZW1vdGVJbnNw
ZWN0b3I6OnNlbmRNZXNzYWdlVG9SZW1vdGUoVGFyZ2V0SUQgdGFyZ2V0SWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAtMjQ5LDYgKzI3NCw3IEBAIEhhc2hNYXA8U3RyaW5nLCBS
ZW1vdGVJbnNwZWN0b3JDb25uZWN0aW9uQ2xpZW50OjpDYWxsSGFuZGxlcj4mIFJlbW90ZUluc3Bl
Y3Rvcjo6CiAgICAgICAgIHsgIlNldHVwIl9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJl
bW90ZUluc3BlY3Rvcjo6c2V0dXBUYXJnZXQpIH0sCiAgICAgICAgIHsgIkZyb250ZW5kRGlkQ2xv
c2UiX3MsIHN0YXRpY19jYXN0PENhbGxIYW5kbGVyPigmUmVtb3RlSW5zcGVjdG9yOjpmcm9udGVu
ZERpZENsb3NlKSB9LAogICAgICAgICB7ICJTZW5kTWVzc2FnZVRvQmFja2VuZCJfcywgc3RhdGlj
X2Nhc3Q8Q2FsbEhhbmRsZXI+KCZSZW1vdGVJbnNwZWN0b3I6OnNlbmRNZXNzYWdlVG9CYWNrZW5k
KSB9LAorICAgICAgICB7ICJTdGFydEF1dG9tYXRpb25TZXNzaW9uIl9zLCBzdGF0aWNfY2FzdDxD
YWxsSGFuZGxlcj4oJlJlbW90ZUluc3BlY3Rvcjo6c3RhcnRBdXRvbWF0aW9uU2Vzc2lvbikgfSwK
ICAgICB9KTsKIAogICAgIHJldHVybiBtZXRob2RzOwpAQCAtMzE5LDYgKzM0NSwzNiBAQCB2b2lk
IFJlbW90ZUluc3BlY3Rvcjo6c2VuZE1lc3NhZ2VUb0JhY2tlbmQoY29uc3QgRXZlbnQmIGV2ZW50
KQogICAgIGNvbm5lY3Rpb25Ub1RhcmdldC0+c2VuZE1lc3NhZ2VUb1RhcmdldChldmVudC5tZXNz
YWdlLnZhbHVlKCkpOwogfQogCit2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c3RhcnRBdXRvbWF0aW9u
U2Vzc2lvbihjb25zdCBFdmVudCYgZXZlbnQpCit7CisgICAgaWYgKCFtX2NsaWVudENvbm5lY3Rp
b24pCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAg
ICBpZiAoIWV2ZW50Lm1lc3NhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIFN0cmluZyBzZXNz
aW9uSUQgPSAqZXZlbnQubWVzc2FnZTsKKyAgICByZXF1ZXN0QXV0b21hdGlvblNlc3Npb24oV1RG
TW92ZShzZXNzaW9uSUQpLCB7IH0pOworCisgICAgYXV0byBzZW5kRXZlbnQgPSBKU09OOjpPYmpl
Y3Q6OmNyZWF0ZSgpOworICAgIHNlbmRFdmVudC0+c2V0U3RyaW5nKCJldmVudCJfcywgIlN0YXJ0
QXV0b21hdGlvblNlc3Npb25fUmV0dXJuIl9zKTsKKworICAgIGF1dG8gY2FwYWJpbGl0eSA9IGNs
aWVudENhcGFiaWxpdGllcygpOworCisgICAgYXV0byBtZXNzYWdlID0gSlNPTjo6T2JqZWN0Ojpj
cmVhdGUoKTsKKyAgICBtZXNzYWdlLT5zZXRTdHJpbmcoImJyb3dzZXJOYW1lIl9zLCBjYXBhYmls
aXR5ID8gY2FwYWJpbGl0eS0+YnJvd3Nlck5hbWUgOiAiIik7CisgICAgbWVzc2FnZS0+c2V0U3Ry
aW5nKCJicm93c2VyVmVyc2lvbiJfcywgY2FwYWJpbGl0eSA/IGNhcGFiaWxpdHktPmJyb3dzZXJW
ZXJzaW9uIDogIiIpOworICAgIHNlbmRFdmVudC0+c2V0U3RyaW5nKCJtZXNzYWdlIl9zLCBtZXNz
YWdlLT50b0pTT05TdHJpbmcoKSk7CisgICAgc2VuZFdlYkluc3BlY3RvckV2ZW50KHNlbmRFdmVu
dC0+dG9KU09OU3RyaW5nKCkpOworCisgICAgbV9yZWFkeVRvUHVzaExpc3RpbmdzID0gdHJ1ZTsK
KworICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKKyAgICBwdXNoTGlzdGluZ3NOb3coKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381013</attachid>
            <date>2019-10-15 12:41:23 -0700</date>
            <delta_ts>2019-10-21 12:25:59 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-199070.diff</filename>
            <type>text/plain</type>
            <size>5838</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDgzNjg0NWE5ZDIxLi42MWNjMmJlMDJkZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMTAtMTEgIEJhc3Vr
ZSBTdXp1a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWlyb11b
UGxheVN0YXRpb25dIEFkZCBhdXRvbWF0aW9uIHN1cHBvcnQgZm9yIFJlbW90ZUluc3BlY3RvciBT
b2NrZXRTZXJ2ZXIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkwNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBoYW5kbGVyIGZvciBTdGFydEF1dG9tYXRpb25TZXNz
aW9uIGV2ZW50IGZyb20gV2ViRHJpdmVyIGFuZCBwcmVwYXJpbmcgZm9yIGF1dG9tYXRpb24gc2Vz
c2lvbi4KKworICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0LmNw
cDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpsaXN0aW5nRm9yQXV0b21h
dGlvblRhcmdldCBjb25zdCk6CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6
c2VuZEF1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRhdGVNZXNzYWdlKToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpyZXF1ZXN0QXV0b21hdGlvblNlc3Npb24pOgorICAgICAg
ICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OmRpc3BhdGNoTWFwKToKKyAgICAgICAgKElu
c3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzdGFydEF1dG9tYXRpb25TZXNzaW9uKToKKwogMjAx
OS0xMC0xMCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBHZW5lcmF0ZUFuZEFsbG9jYXRlUmVnaXN0ZXJzIGNhbiB0cml2aWFsbHkgZWxpZGUgc2VsZiBt
b3ZlcyBhdCBlbmQgb2YgbGl2ZW5lc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgKaW5kZXggZmIwOTM3OWRlNjQu
LjE0MWU5YWI3OTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaApAQCAtMTQ5LDcgKzE0OSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNlbmRNZXNzYWdlVG9UYXJnZXQoVGFyZ2V0SUQsIGNvbnN0IGNoYXIqIG1l
c3NhZ2UpOwogI2VuZGlmCiAjaWYgVVNFKElOU1BFQ1RPUl9TT0NLRVRfU0VSVkVSKQotICAgIHZv
aWQgcmVxdWVzdEF1dG9tYXRpb25TZXNzaW9uKFN0cmluZyYmIHNlc3Npb25JRCwgY29uc3QgQ2xp
ZW50OjpTZXNzaW9uQ2FwYWJpbGl0aWVzJik7CisgICAgdm9pZCByZXF1ZXN0QXV0b21hdGlvblNl
c3Npb24oY29uc3QgU3RyaW5nJiBzZXNzaW9uSUQsIGNvbnN0IENsaWVudDo6U2Vzc2lvbkNhcGFi
aWxpdGllcyYpOwogCiAgICAgYm9vbCBpc0Nvbm5lY3RlZCgpIGNvbnN0IHsgcmV0dXJuICEhbV9j
bGllbnRDb25uZWN0aW9uOyB9CiAgICAgdm9pZCBjb25uZWN0KENvbm5lY3Rpb25JRCk7CkBAIC0y
MjEsNiArMjIxLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldHVwVGFyZ2V0KGNvbnN0IEV2ZW50
Jik7CiAgICAgdm9pZCBmcm9udGVuZERpZENsb3NlKGNvbnN0IEV2ZW50Jik7CiAgICAgdm9pZCBz
ZW5kTWVzc2FnZVRvQmFja2VuZChjb25zdCBFdmVudCYpOworICAgIHZvaWQgc3RhcnRBdXRvbWF0
aW9uU2Vzc2lvbihjb25zdCBFdmVudCYpOworCisgICAgdm9pZCByZWNlaXZlZEF1dG9tYXRpb25T
ZXNzaW9uUmVxdWVzdE1lc3NhZ2UoY29uc3QgRXZlbnQmKTsKIAogICAgIFN0cmluZyBiYWNrZW5k
Q29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVj
dG9yU29ja2V0LmNwcAppbmRleCBlZWI1ZmM0MTk4Yi4uMjI4NzAwYjViYTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNw
ZWN0b3JTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuY3BwCkBAIC0xMzMsOSArMTMzLDE0IEBA
IFRhcmdldExpc3RpbmcgUmVtb3RlSW5zcGVjdG9yOjpsaXN0aW5nRm9ySW5zcGVjdGlvblRhcmdl
dChjb25zdCBSZW1vdGVJbnNwZWN0aW9uCiAgICAgcmV0dXJuIHRhcmdldExpc3Rpbmc7CiB9CiAK
LVRhcmdldExpc3RpbmcgUmVtb3RlSW5zcGVjdG9yOjpsaXN0aW5nRm9yQXV0b21hdGlvblRhcmdl
dChjb25zdCBSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0JikgY29uc3QKK1RhcmdldExpc3RpbmcgUmVt
b3RlSW5zcGVjdG9yOjpsaXN0aW5nRm9yQXV0b21hdGlvblRhcmdldChjb25zdCBSZW1vdGVBdXRv
bWF0aW9uVGFyZ2V0JiB0YXJnZXQpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisgICAg
VGFyZ2V0TGlzdGluZyB0YXJnZXRMaXN0aW5nID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKKyAg
ICB0YXJnZXRMaXN0aW5nLT5zZXRTdHJpbmcoInR5cGUiX3MsICJhdXRvbWF0aW9uIl9zKTsKKyAg
ICB0YXJnZXRMaXN0aW5nLT5zZXRTdHJpbmcoIm5hbWUiX3MsIHRhcmdldC5uYW1lKCkpOworICAg
IHRhcmdldExpc3RpbmctPnNldEludGVnZXIoInRhcmdldElEIl9zLCB0YXJnZXQudGFyZ2V0SWRl
bnRpZmllcigpKTsKKyAgICB0YXJnZXRMaXN0aW5nLT5zZXRCb29sZWFuKCJpc1BhaXJlZCJfcywg
dGFyZ2V0LmlzUGFpcmVkKCkpOworICAgIHJldHVybiB0YXJnZXRMaXN0aW5nOwogfQogCiB2b2lk
IFJlbW90ZUluc3BlY3Rvcjo6cHVzaExpc3RpbmdzTm93KCkKQEAgLTE3Niw2ICsxODEsMzAgQEAg
dm9pZCBSZW1vdGVJbnNwZWN0b3I6OnB1c2hMaXN0aW5nc1Nvb24oKQogCiB2b2lkIFJlbW90ZUlu
c3BlY3Rvcjo6c2VuZEF1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRhdGVNZXNzYWdlKCkKIHsKKyAg
ICBBU1NFUlQobV9lbmFibGVkKTsKKyAgICBBU1NFUlQobV9hdXRvbWF0aWNJbnNwZWN0aW9uRW5h
YmxlZCk7CisgICAgQVNTRVJUKG1fYXV0b21hdGljSW5zcGVjdGlvblBhdXNlZCk7CisgICAgQVNT
RVJUKG1fYXV0b21hdGljSW5zcGVjdGlvbkNhbmRpZGF0ZVRhcmdldElkZW50aWZpZXIpOworICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQgYXV0b21hdGljIGluc3BlY3Rpb24uCit9CisKK3ZvaWQgUmVt
b3RlSW5zcGVjdG9yOjpyZXF1ZXN0QXV0b21hdGlvblNlc3Npb24oY29uc3QgU3RyaW5nJiBzZXNz
aW9uSUQsIGNvbnN0IENsaWVudDo6U2Vzc2lvbkNhcGFiaWxpdGllcyYgY2FwYWJpbGl0aWVzKQor
eworICAgIGlmICghbV9jbGllbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9jbGll
bnRDYXBhYmlsaXRpZXMgfHwgIW1fY2xpZW50Q2FwYWJpbGl0aWVzLT5yZW1vdGVBdXRvbWF0aW9u
QWxsb3dlZCkgeworICAgICAgICBMT0dfRVJST1IoIkVycm9yOiBSZW1vdGUgYXV0b21hdGlvbiBp
cyBub3QgYWxsb3dlZCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHNlc3Np
b25JRC5pc051bGwoKSkgeworICAgICAgICBMT0dfRVJST1IoIkNsaWVudCBlcnJvcjogU0VTU0lP
TiBJRCBjYW5ub3QgYmUgbnVsbCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9j
bGllbnQtPnJlcXVlc3RBdXRvbWF0aW9uU2Vzc2lvbihzZXNzaW9uSUQsIGNhcGFiaWxpdGllcyk7
CisgICAgdXBkYXRlQ2xpZW50Q2FwYWJpbGl0aWVzKCk7CiB9CiAKIHZvaWQgUmVtb3RlSW5zcGVj
dG9yOjpzZW5kTWVzc2FnZVRvUmVtb3RlKFRhcmdldElEIHRhcmdldElkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKQEAgLTI0OSw2ICsyNzgsNyBAQCBIYXNoTWFwPFN0cmluZywgUmVt
b3RlSW5zcGVjdG9yQ29ubmVjdGlvbkNsaWVudDo6Q2FsbEhhbmRsZXI+JiBSZW1vdGVJbnNwZWN0
b3I6OgogICAgICAgICB7ICJTZXR1cCJfcywgc3RhdGljX2Nhc3Q8Q2FsbEhhbmRsZXI+KCZSZW1v
dGVJbnNwZWN0b3I6OnNldHVwVGFyZ2V0KSB9LAogICAgICAgICB7ICJGcm9udGVuZERpZENsb3Nl
Il9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJlbW90ZUluc3BlY3Rvcjo6ZnJvbnRlbmRE
aWRDbG9zZSkgfSwKICAgICAgICAgeyAiU2VuZE1lc3NhZ2VUb0JhY2tlbmQiX3MsIHN0YXRpY19j
YXN0PENhbGxIYW5kbGVyPigmUmVtb3RlSW5zcGVjdG9yOjpzZW5kTWVzc2FnZVRvQmFja2VuZCkg
fSwKKyAgICAgICAgeyAiU3RhcnRBdXRvbWF0aW9uU2Vzc2lvbiJfcywgc3RhdGljX2Nhc3Q8Q2Fs
bEhhbmRsZXI+KCZSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0QXV0b21hdGlvblNlc3Npb24pIH0sCiAg
ICAgfSk7CiAKICAgICByZXR1cm4gbWV0aG9kczsKQEAgLTMxOSw2ICszNDksMzIgQEAgdm9pZCBS
ZW1vdGVJbnNwZWN0b3I6OnNlbmRNZXNzYWdlVG9CYWNrZW5kKGNvbnN0IEV2ZW50JiBldmVudCkK
ICAgICBjb25uZWN0aW9uVG9UYXJnZXQtPnNlbmRNZXNzYWdlVG9UYXJnZXQoZXZlbnQubWVzc2Fn
ZS52YWx1ZSgpKTsKIH0KIAordm9pZCBSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0QXV0b21hdGlvblNl
c3Npb24oY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisKKyAgICBpZiAoIWV2ZW50Lm1lc3NhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIHJlcXVl
c3RBdXRvbWF0aW9uU2Vzc2lvbihldmVudC5tZXNzYWdlLnZhbHVlKCksIHsgfSk7CisKKyAgICBh
dXRvIHNlbmRFdmVudCA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CisgICAgc2VuZEV2ZW50LT5z
ZXRTdHJpbmcoImV2ZW50Il9zLCAiU2V0Q2FwYWJpbGl0aWVzIl9zKTsKKworICAgIGF1dG8gY2Fw
YWJpbGl0eSA9IGNsaWVudENhcGFiaWxpdGllcygpOworCisgICAgYXV0byBtZXNzYWdlID0gSlNP
Tjo6T2JqZWN0OjpjcmVhdGUoKTsKKyAgICBtZXNzYWdlLT5zZXRTdHJpbmcoImJyb3dzZXJOYW1l
Il9zLCBjYXBhYmlsaXR5ID8gY2FwYWJpbGl0eS0+YnJvd3Nlck5hbWUgOiAiIik7CisgICAgbWVz
c2FnZS0+c2V0U3RyaW5nKCJicm93c2VyVmVyc2lvbiJfcywgY2FwYWJpbGl0eSA/IGNhcGFiaWxp
dHktPmJyb3dzZXJWZXJzaW9uIDogIiIpOworICAgIHNlbmRFdmVudC0+c2V0U3RyaW5nKCJtZXNz
YWdlIl9zLCBtZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7CisgICAgc2VuZFdlYkluc3BlY3RvckV2
ZW50KHNlbmRFdmVudC0+dG9KU09OU3RyaW5nKCkpOworCisgICAgbV9yZWFkeVRvUHVzaExpc3Rp
bmdzID0gdHJ1ZTsKKworICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKKyAgICBwdXNoTGlz
dGluZ3NOb3coKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
</data>

          </attachment>
      

    </bug>

</bugzilla>