<?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>148427</bug_id>
          
          <creation_ts>2015-08-25 05:05:34 -0700</creation_ts>
          <short_desc>Improve ScriptExecutionContext::Task creation and usage</short_desc>
          <delta_ts>2015-12-31 14:40:19 -0800</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>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120572</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-08-25 05:05:34 -0700</bug_when>
    <thetext>Improve ScriptExecutionContext::Task creation and usage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120573</commentid>
    <comment_count>1</comment_count>
      <attachid>259839</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-08-25 05:51:45 -0700</bug_when>
    <thetext>Created attachment 259839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120575</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-25 05:54:09 -0700</bug_when>
    <thetext>Attachment 259839 did not pass style-queue:


ERROR: Source/WebCore/dom/ScriptExecutionContext.h:125:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:131:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:132:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:138:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:139:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:144:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:145:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/dom/ScriptExecutionContext.h:149:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp:83:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 9 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122785</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-09-01 23:19:08 -0700</bug_when>
    <thetext>*** Bug 133541 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151777</commentid>
    <comment_count>4</comment_count>
      <attachid>259839</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-12-31 14:40:19 -0800</bug_when>
    <thetext>Comment on attachment 259839
Patch

It doesn&apos;t work on Windows, e.g.

c:\cygwin\home\buildbot\webkit\source\webcore\dom\ScriptExecutionContext.h(205): error C2668: &apos;WebCore::ScriptExecutionContext::Task::Task&apos;: ambiguous call to overloaded function (compiling source file ..\loader\MixedContentChecker.cpp) [C:\cygwin\home\buildbot\WebKit\Source\WebCore\WebCore.vcxproj\WebCore.vcxproj]
  c:\cygwin\home\buildbot\webkit\source\webcore\dom\ScriptExecutionContext.h(131): note: could be &apos;WebCore::ScriptExecutionContext::Task::Task(std::function&lt;void (void)&gt; &amp;&amp;)&apos; (compiling source file ..\loader\MixedContentChecker.cpp)
  c:\cygwin\home\buildbot\webkit\source\webcore\dom\ScriptExecutionContext.h(125): note: or       &apos;WebCore::ScriptExecutionContext::Task::Task(std::function&lt;void (WebCore::ScriptExecutionContext &amp;)&gt; &amp;&amp;)&apos; (compiling source file ..\loader\MixedContentChecker.cpp)
  c:\cygwin\home\buildbot\webkit\source\webcore\dom\ScriptExecutionContext.h(144): note: or       &apos;WebCore::ScriptExecutionContext::Task::Task&lt;WebCore::ScriptExecutionContext::AddConsoleMessageTask::&lt;lambda_98457798a604deaf84bb96f062be9ef1&gt;&gt;(T &amp;&amp;,void *)&apos;
          with
          [
              T=WebCore::ScriptExecutionContext::AddConsoleMessageTask::&lt;lambda_98457798a604deaf84bb96f062be9ef1&gt;
          ] (compiling source file ..\loader\MixedContentChecker.cpp)
  c:\cygwin\home\buildbot\webkit\source\webcore\dom\ScriptExecutionContext.h(138): note: or       &apos;WebCore::ScriptExecutionContext::Task::Task&lt;WebCore::ScriptExecutionContext::AddConsoleMessageTask::&lt;lambda_98457798a604deaf84bb96f062be9ef1&gt;&gt;(T &amp;&amp;,void *)&apos;
          with
          [
              T=WebCore::ScriptExecutionContext::AddConsoleMessageTask::&lt;lambda_98457798a604deaf84bb96f062be9ef1&gt;
          ] (compiling source file ..\loader\MixedContentChecker.cpp)
  c:\cygwin\home\buildbot\webkit\source\webcore\dom\ScriptExecutionContext.h(205): note: while trying to match the argument list &apos;(WebCore::ScriptExecutionContext::AddConsoleMessageTask::&lt;lambda_98457798a604deaf84bb96f062be9ef1&gt;)&apos; (compiling source file ..\loader\MixedContentChecker.cpp)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259839</attachid>
            <date>2015-08-25 05:51:45 -0700</date>
            <delta_ts>2015-12-31 14:40:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148427-20150825145134.patch</filename>
            <type>text/plain</type>
            <size>21974</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4ODUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDNmNGQ4MjJiNWNlZmU1
OWMyMWE3NDBhNjI5MTk3OTI5NzYyNTc2Mi4uMzA4NTU3NzYxZjdjZGEyMWMzYjgyNjE1NGQ2ZDVm
NjU3M2EwMDBiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc1IEBACisyMDE1LTA4LTI1ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXByb3ZlIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgY3JlYXRpb24gYW5kIHVzYWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg0MjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIHRoZSBjb25zdHJ1Y3RvciB0
aGF0IHRha2VzIGluIGEgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBvYmplY3QgdGFrZSBpbiBhbiBy
dmFsdWUKKyAgICAgICAgcmVmZXJlbmNlIHRvIHN1Y2ggb2JqZWN0IGluc3RlYWQuIFVzZSBzdGQ6
OmJpbmQoKSB0byB3cmFwIHRoYXQgb2JqZWN0IGludG8gYQorICAgICAgICBzdGQ6OmZ1bmN0aW9u
PHZvaWQgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4gb2JqZWN0LgorCisgICAgICAgIEFkZCBh
IGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgaW4gYW4gcnZhbHVlIHJlZmVyZW5jZSB0byBhIHN0ZDo6
ZnVuY3Rpb248dm9pZCAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPgorICAgICAgICBvYmplY3Qu
CisKKyAgICAgICAgRGVjbGFyZSB0d28gZGVsZWdhdGluZyBjb25zdHJ1Y3RvciB0ZW1wbGF0ZXMg
dGhhdCBhcmUgY2FsbGVkIHdoZW4gY29uc3RydWN0aW5nIHRoZSBvYmplY3QgZnJvbSBhIGxhbWJk
YQorICAgICAgICB0aGF0J3MgZWl0aGVyIGNvbnZlcnRhYmxlIHRvIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoKT4gb3Igc3RkOjpmdW5jdGlvbjx2b2lkIChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+Lgor
ICAgICAgICBTRklOQUUgaXMgdXNlZCB0aHJvdWdoIGEgY29uc3RydWN0b3IgcGFyYW1ldGVyIHdp
dGggbnVsbHB0ciBhcyBpdHMgZGVmYXVsdCB2YWx1ZSwgZW5zdXJpbmcgZGlmZmVyZW50CisgICAg
ICAgIHNpZ25hdHVyZXMgZm9yIHRoZSB0d28gY29uc3RydWN0b3JzLiBTRklOQUUgdGhyb3VnaCBh
IHRlbXBsYXRlIHBhcmFtZXRlciB3b3VsZCBsb29rIG5pY2VyLCBidXQgcmVzdWx0cworICAgICAg
ICBpbiBjb25zdHJ1Y3RvciByZS1kZWNsYXJhdGlvbnMuCisKKyAgICAgICAgVGhlIGNvbnN0cnVj
dG9yIHRoYXQgY29uc3RydWN0cyBhIGNsZWFudXAgdGFzayBub3cgYWxzbyB0YWtlcyBpbiBhbiBy
dmFsdWUgcmVmZXJlbmNlIHRvIHRoZQorICAgICAgICBzdGQ6OmZ1bmN0aW9uPD4gb2JqZWN0Lgor
CisgICAgICAgIENvcHkgY29uc3RydWN0b3IgYW5kIGFzc2lnbm1lbnQgb3BlcmF0b3IgZm9yIHRo
ZSBUYXNrIGNsYXNzIGFyZSBkZWxldGVkLCB3aGlsZSB0aGUgbW92ZSBjb25zdHJ1Y3RvcgorICAg
ICAgICBhbmQgYXNzaWdubWVudCBvcGVyYXRvciBhcmUgYm90aCBkZWZhdWx0ZWQsIGVuc3VyaW5n
IHRoZSBUYXNrIHJlbWFpbnMgb25seSBtb3ZhYmxlLgorCisgICAgICAgIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OlRhc2sgcGFyYW1ldGVycyBoYXZlIGJlZW4gcmVwbGFjZWQgd2l0aCBydmFsdWUg
cmVmZXJlbmNlcyB0byBzdWNoIG9iamVjdHMuCisgICAgICAgIFRoaXMgYXZvaWRzIGdlbmVyYXRp
bmcgdW5uZWNlc3NhcnkgbW92ZSBjb25zdHJ1Y3RvcnMgYXMgdGhlIG9iamVjdHMgYXJlIGJlaW5n
IHBhc3NlZCB0aHJvdWdoIGZ1bmN0aW9ucy4KKworICAgICAgICBUaGUgbmV3IGNvbnN0cnVjdG9y
cyBhbHNvIGVuYWJsZSBlbXBsaWNpdGx5IGNvbnN0cnVjdGluZyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjpUYXNrIG9iamVjdHMgZnJvbQorICAgICAgICBsYW1iZGFzIHRoYXQgZG9uJ3QgaGF2ZSBh
bnkgcGFyYW1ldGVycy4gVGhpcyBpcyBzaG93Y2FzZWQgaW4gdGhlIFdvcmtlck1lc3NhZ2luZ1By
b3h5IGNsYXNzLCBidXQgd2lsbAorICAgICAgICBiZSB3aWRlbHkgZGVwbG95ZWQgaW4gYSBsYXRl
ciBwYXRjaC4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGlu
YXRpb25Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRpb0Rlc3RpbmF0aW9u
Tm9kZTo6cmVzdW1lKTogTW92ZSB0aGUgc3RkOjpmdW5jdGlvbjw+IG9iamVjdCBpbnRvCisgICAg
ICAgIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpwb3N0VGFzaygpIGNhbGwuCisgICAgICAg
IChXZWJDb3JlOjpEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OnN1c3BlbmQpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y2xvc2UpOiBE
aXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdFRhc2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNHbG9iYWxPYmplY3RUYXNrOjpKU0dsb2JhbE9iamVjdFRhc2sp
OiBFeHBsaWNpdGx5IGluaXRpYWxpemUgdGhlIFRhc2sgY2xhc3MKKyAgICAgICAgd2l0aCBhbiBl
bXB0eSBzdGQ6OmZ1bmN0aW9uPD4gb2JqZWN0LCBhdm9pZGluZyBhbWJpZ3VvdXMgY29uc3RydWN0
b3IgY2FsbHMuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50Ojpwb3N0VGFzayk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAg
ICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s6OlRhc2spOgorICAgICAgICAqIHBsYXRmb3JtL0dlbmVy
aWNUYXNrUXVldWUuaDogVHVybiBzdGQ6OmZ1bmN0aW9uPD4gcGFyYW1ldGVycyBpbnRvIHJ2YWx1
ZSByZWZlcmVuY2VzCisgICAgICAgIHRvIHN1Y2ggb2JqZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6
OlRhc2tEaXNwYXRjaGVyOjpwb3N0VGFzayk6CisgICAgICAgIChXZWJDb3JlOjpUYXNrRGlzcGF0
Y2hlcjxUaW1lcj46OnBvc3RUYXNrKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpwb3N0VGFzayk6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyTG9hZGVyUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0
VGFza1RvTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpw
b3N0VGFza0Zvck1vZGVUb1dvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJPYmplY3REZXN0cm95ZWQpOiBUaGUgdW51c2VkIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmCisgICAgICAgIHBhcmFtZXRlciBpcyBub3QgcmVxdWlyZWQg
YW55bW9yZS4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJH
bG9iYWxTY29wZURlc3Ryb3llZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVz
c2FnaW5nUHJveHk6Ondvcmtlckdsb2JhbFNjb3BlQ2xvc2VkKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3Ip
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpjb25maXJt
TWVzc2FnZUZyb21Xb3JrZXJPYmplY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRQZW5kaW5nQWN0aXZpdHkpOiBEaXR0by4KKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJSdW5Mb29wLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OnBvc3RUYXNr
KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OnBvc3RUYXNrQW5kVGVybWluYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OnBvc3RUYXNrRm9yTW9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJSdW5Mb29wOjpUYXNrOjpUYXNrKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlclJ1bkxvb3AuaDoKKwogMjAxNS0wOC0yMyAgQW5keSBFc3RlcyAgPGFlc3Rl
c0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NvbnRlbnQgRmlsdGVyaW5nXSBSRUdSRVNTSU9OIChy
MTgyMzU2KTogUHJvdmlzaW9uYWwgVVJMIGlzIGluY29ycmVjdCBpbiBkaWRSZWNlaXZlU2VydmVy
UmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSB3aGVuIENvbnRlbnQgRmlsdGVyaW5n
IGlzIGVuYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAppbmRleCAwYmNjMmMwYTRh
YzYwYzk0MjQwMjI2N2RlNWU0YzQwZGNiZjg5ZDg5Li4yNmQ2NWNkMzUwMDQ0MjA1ZDNhY2M0NmY3
NmFlMmM0MmU1NzNkODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC0xMTEs
NyArMTExLDcgQEAgdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OnJlc3VtZShzdGQ6
OmZ1bmN0aW9uPHZvaWQoKT4gZnVuY3Rpb24pCiAgICAgQVNTRVJUKGlzSW5pdGlhbGl6ZWQoKSk7
CiAgICAgaWYgKGlzSW5pdGlhbGl6ZWQoKSkKICAgICAgICAgbV9kZXN0aW5hdGlvbi0+c3RhcnQo
KTsKLSAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soZnVu
Y3Rpb24pOworICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFz
ayhXVEY6Om1vdmUoZnVuY3Rpb24pKTsKIH0KIAogdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlv
bk5vZGU6OnN1c3BlbmQoc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQpAQCAtMTE5LDE0
ICsxMTksMTQgQEAgdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OnN1c3BlbmQoc3Rk
OjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQogICAgIEFTU0VSVChpc0luaXRpYWxpemVkKCkp
OwogICAgIGlmIChpc0luaXRpYWxpemVkKCkpCiAgICAgICAgIG1fZGVzdGluYXRpb24tPnN0b3Ao
KTsKLSAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soZnVu
Y3Rpb24pOworICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFz
ayhXVEY6Om1vdmUoZnVuY3Rpb24pKTsKIH0KIAogdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlv
bk5vZGU6OmNsb3NlKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBmdW5jdGlvbikKIHsKICAgICBBU1NF
UlQoaXNJbml0aWFsaXplZCgpKTsKICAgICB1bmluaXRpYWxpemUoKTsKLSAgICBjb250ZXh0KCkt
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soZnVuY3Rpb24pOworICAgIGNvbnRl
eHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFzayhXVEY6Om1vdmUoZnVuY3Rp
b24pKTsKIH0KIAogdW5zaWduZWQgbG9uZyBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6Om1h
eENoYW5uZWxDb3VudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdFRhc2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3RUYXNrLmNwcAppbmRleCAxZjIxZmM2NmY1MDFlMDBhNDA3MDIw
ZmMzNTI0NmI1NDQ1ZWFlNzU5Li42MjU3ODIyODhkNzQ4MTAwNGJmMWM0MWE2OWFhNjdjNjgwMjhj
Njk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdFRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0VGFzay5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgcHJpdmF0ZToKIH07CiAKIEpTR2xvYmFs
T2JqZWN0VGFzazo6SlNHbG9iYWxPYmplY3RUYXNrKEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFBhc3NSZWZQdHI8TWljcm90YXNrPiB0YXNrKQotICAgIDogU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6VGFzayhudWxscHRyKQorICAgIDogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFz
ayhzdGQ6OmZ1bmN0aW9uPHZvaWQgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKSkKIHsKICAg
ICBSZWZQdHI8SlNHbG9iYWxPYmplY3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBKU0dsb2JhbE9iamVj
dENhbGxiYWNrOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB0YXNrKTsKICAgICBtX3Rhc2sgPSBbY2Fs
bGJhY2tdIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggYmEyNTIwZjZiN2JhZTFhZjdiYjYzM2JlNmQwMmE1OTJiZjAwYTZmMS4uZGM3NWY5YmU4
NjIxMTZhYzI4OGJkZDI3ZTUxMDJmZDc5ZmVjMGMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC01MTgxLDcgKzUxODEsNyBAQCBTZWN1cml0eU9yaWdpbiogRG9jdW1lbnQ6OnRvcE9yaWdp
bigpIGNvbnN0CiAgICAgcmV0dXJuIHRvcERvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKTsKIH0K
IAotdm9pZCBEb2N1bWVudDo6cG9zdFRhc2soVGFzayB0YXNrKQordm9pZCBEb2N1bWVudDo6cG9z
dFRhc2soVGFzayYmIHRhc2spCiB7CiAgICAgVGFzayogdGFza1B0ciA9IHN0ZDo6bWFrZV91bmlx
dWU8VGFzaz4oV1RGOjptb3ZlKHRhc2spKS5yZWxlYXNlKCk7CiAgICAgV2Vha1B0cjxEb2N1bWVu
dD4gZG9jdW1lbnRSZWZlcmVuY2UobV93ZWFrRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAppbmRleCA4OWQzZDA4ODg1NDA2M2JhMzMwYWYwMzJiYWYwY2QzNjQ5NzAw
MWEzLi4yMDkwMDFhYzE1YWYwY2ZkNGFiZTExNmYxYjFiNDE2NjIzMjMzYjRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaApAQCAtOTU5LDcgKzk1OSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRE5TUHJl
ZmV0Y2hFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0ROU1ByZWZldGNoRW5hYmxlZDsgfQog
ICAgIHZvaWQgcGFyc2VETlNQcmVmZXRjaENvbnRyb2xIZWFkZXIoY29uc3QgU3RyaW5nJik7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2soVGFzaykgb3ZlcnJpZGUgZmluYWw7IC8vIEV4ZWN1
dGVzIHRoZSB0YXNrIG9uIGNvbnRleHQncyB0aHJlYWQgYXN5bmNocm9ub3VzbHkuCisgICAgdmly
dHVhbCB2b2lkIHBvc3RUYXNrKFRhc2smJikgb3ZlcnJpZGUgZmluYWw7IC8vIEV4ZWN1dGVzIHRo
ZSB0YXNrIG9uIGNvbnRleHQncyB0aHJlYWQgYXN5bmNocm9ub3VzbHkuCiAKICNpZiBFTkFCTEUo
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVy
KiBzY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKSB7IHJldHVybiBtX3NjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlci5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKaW5kZXggMTQwMzBmODJiMTVhY2FiMDhiM2Y5YTQwN2Q1NjNlOGNmY2E4OGE3
ZC4uNWQxOTFhODM4MzRlZTYzYjUxMTE0ODdjN2E2OGYxMTJiOWE3NWI1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0xMjIsMzIgKzEyMiw0MSBA
QCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIENsZWFudXBUYXNrVGFnIHsgQ2xl
YW51cFRhc2sgfTsKIAotICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSA9IHR5
cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPCFzdGQ6OmlzX2Jhc2Vfb2Y8VGFzaywgVD46OnZhbHVlICYm
IHN0ZDo6aXNfY29udmVydGlibGU8VCwgc3RkOjpmdW5jdGlvbjx2b2lkIChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jik+Pjo6dmFsdWU+Ojp0eXBlPgotICAgICAgICBUYXNrKFQgdGFzaykKKyAgICAg
ICAgVGFzayhzdGQ6OmZ1bmN0aW9uPHZvaWQgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJiB0
YXNrKQogICAgICAgICAgICAgOiBtX3Rhc2soV1RGOjptb3ZlKHRhc2spKQogICAgICAgICAgICAg
LCBtX2lzQ2xlYW51cFRhc2soZmFsc2UpCiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAg
IFRhc2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+IHRhc2spCi0gICAgICAgICAgICA6IG1fdGFzayhb
dGFza10oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIHsgdGFzaygpOyB9KQorICAgICAgICBUYXNr
KHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4mJiB0YXNrKQorICAgICAgICAgICAgOiBtX3Rhc2soc3Rk
OjpiaW5kKFtdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPHZv
aWQgKCk+JiBib3VuZEZ1bmN0aW9uKSB7IGJvdW5kRnVuY3Rpb24oKTsgfSwgc3RkOjpwbGFjZWhv
bGRlcnM6Ol8xLCBXVEY6Om1vdmUodGFzaykpKQogICAgICAgICAgICAgLCBtX2lzQ2xlYW51cFRh
c2soZmFsc2UpCiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lID0gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19jb252ZXJ0
aWJsZTxULCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4+Ojp2
YWx1ZT46OnR5cGU+Ci0gICAgICAgIFRhc2soQ2xlYW51cFRhc2tUYWcsIFQgdGFzaykKLSAgICAg
ICAgICAgIDogbV90YXNrKFdURjo6bW92ZSh0YXNrKSkKLSAgICAgICAgICAgICwgbV9pc0NsZWFu
dXBUYXNrKHRydWUpCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgICAgIFRhc2so
VCYmIHRhc2ssIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPCFzdGQ6OmlzX2Jhc2Vfb2Y8VGFzaywg
VD46OnZhbHVlICYmIHN0ZDo6aXNfY29udmVydGlibGU8VCwgc3RkOjpmdW5jdGlvbjx2b2lkIChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Jik+Pjo6dmFsdWU+Ojp0eXBlKiA9IG51bGxwdHIpCisgICAg
ICAgICAgICA6IFRhc2soc3RkOjpmdW5jdGlvbjx2b2lkIChTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik+KFdURjo6bW92ZSh0YXNrKSkpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgICAgIFRhc2soVCYmIHRhc2ssIHR5cGVuYW1lIHN0ZDo6
ZW5hYmxlX2lmPCFzdGQ6OmlzX2Jhc2Vfb2Y8VGFzaywgVD46OnZhbHVlICYmIHN0ZDo6aXNfY29u
dmVydGlibGU8VCwgc3RkOjpmdW5jdGlvbjx2b2lkICgpPj46OnZhbHVlPjo6dHlwZSogPSBudWxs
cHRyKQorICAgICAgICAgICAgOiBUYXNrKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4oV1RGOjptb3Zl
KHRhc2spKSkKICAgICAgICAgewogICAgICAgICB9CiAKLSAgICAgICAgVGFzayhUYXNrJiYgb3Ro
ZXIpCi0gICAgICAgICAgICA6IG1fdGFzayhXVEY6Om1vdmUob3RoZXIubV90YXNrKSkKLSAgICAg
ICAgICAgICwgbV9pc0NsZWFudXBUYXNrKG90aGVyLm1faXNDbGVhbnVwVGFzaykKKyAgICAgICAg
VGFzayhDbGVhbnVwVGFza1RhZywgc3RkOjpmdW5jdGlvbjx2b2lkIChTY3JpcHRFeGVjdXRpb25D
b250ZXh0Jik+JiYgdGFzaykKKyAgICAgICAgICAgIDogbV90YXNrKFdURjo6bW92ZSh0YXNrKSkK
KyAgICAgICAgICAgICwgbV9pc0NsZWFudXBUYXNrKHRydWUpCiAgICAgICAgIHsKICAgICAgICAg
fQogCisgICAgICAgIFRhc2soY29uc3QgVGFzayYpID0gZGVsZXRlOworICAgICAgICBUYXNrJiBv
cGVyYXRvcj0oY29uc3QgVGFzayYpID0gZGVsZXRlOworICAgICAgICBUYXNrKFRhc2smJikgPSBk
ZWZhdWx0OworICAgICAgICBUYXNrJiBvcGVyYXRvcj0oVGFzayYmKSA9IGRlZmF1bHQ7CisKICAg
ICAgICAgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7
IG1fdGFzayhjb250ZXh0KTsgfQogICAgICAgICBib29sIGlzQ2xlYW51cFRhc2soKSBjb25zdCB7
IHJldHVybiBtX2lzQ2xlYW51cFRhc2s7IH0KIApAQCAtMTU2LDcgKzE2NSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgYm9vbCBtX2lzQ2xlYW51cFRhc2s7CiAgICAgfTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBwb3N0VGFzayhUYXNrKSA9IDA7IC8vIEV4ZWN1dGVzIHRoZSB0YXNrIG9uIGNvbnRleHQncyB0
aHJlYWQgYXN5bmNocm9ub3VzbHkuCisgICAgdmlydHVhbCB2b2lkIHBvc3RUYXNrKFRhc2smJikg
PSAwOyAvLyBFeGVjdXRlcyB0aGUgdGFzayBvbiBjb250ZXh0J3MgdGhyZWFkIGFzeW5jaHJvbm91
c2x5LgogCiAgICAgLy8gR2V0cyB0aGUgbmV4dCBpZCBpbiBhIGNpcmN1bGFyIHNlcXVlbmNlIGZy
b20gMSB0byAyXjMxLTEuCiAgICAgaW50IGNpcmN1bGFyU2VxdWVudGlhbElEKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmgKaW5kZXggZDA2ZDBjMWVmY2JmMWIw
MTNhOTJmMmNlYzRhOTcwNDU5MjY5YTI4ZC4uZTAxY2FlZjUwODQwODhkMWU5Y2UxZDZlY2U5N2Qz
MWE0MWQxZWMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUu
aApAQCAtNDAsOSArNDAsOSBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZvaWQgcG9z
dFRhc2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGYpCisgICAgdm9pZCBwb3N0VGFzayhzdGQ6OmZ1
bmN0aW9uPHZvaWQoKT4mJiBmKQogICAgIHsKLSAgICAgICAgbV9jb250ZXh0LnBvc3RUYXNrKGYp
OworICAgICAgICBtX2NvbnRleHQucG9zdFRhc2soV1RGOjptb3ZlKGYpKTsKICAgICB9CiAKIHBy
aXZhdGU6CkBAIC01Nyw5ICs1Nyw5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdm9p
ZCBwb3N0VGFzayhzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZnVuY3Rpb24pCisgICAgdm9pZCBwb3N0
VGFzayhzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICB7Ci0gICAgICAgIG1f
cXVldWUuYXBwZW5kKGZ1bmN0aW9uKTsKKyAgICAgICAgbV9xdWV1ZS5hcHBlbmQoV1RGOjptb3Zl
KGZ1bmN0aW9uKSk7CiAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBlY2Q2
NzQ0NDM2ZGJhMWM4NTkwODhjNzdmMzMxMmEyZGEyYzExYjc4Li42MzY3NzJjZWM2ODY3NmI4YWFk
NjVjMGVjOTU5NWUzNTk2YzdhNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmNwcApAQCAtMTQ2LDcgKzE0Niw3IEBAIFdvcmtlck5hdmlnYXRvciogV29y
a2VyR2xvYmFsU2NvcGU6Om5hdmlnYXRvcigpIGNvbnN0CiAgICAgcmV0dXJuIG1fbmF2aWdhdG9y
LmdldCgpOwogfQogCi12b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0VGFzayhUYXNrIHRhc2sp
Cit2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0VGFzayhUYXNrJiYgdGFzaykKIHsKICAgICB0
aHJlYWQoKS5ydW5Mb29wKCkucG9zdFRhc2soV1RGOjptb3ZlKHRhc2spKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA1ZmE1ZTg3NDA3NmJhZTJk
ZWI2ODY0NDIxZDNiYzNkZTBiMTVhMTRiLi5mZDg4MDE4ZTU2Y2ZjYzZmYTAzMzg5NzQyNWVhYTM1
ZDhiMDE0MTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC03NSw3ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB1c2luZyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpoYXNQZW5kaW5nQWN0aXZpdHk7CiAKLSAgICAgICAgdmly
dHVhbCB2b2lkIHBvc3RUYXNrKFRhc2spIG92ZXJyaWRlOyAvLyBFeGVjdXRlcyB0aGUgdGFzayBv
biBjb250ZXh0J3MgdGhyZWFkIGFzeW5jaHJvbm91c2x5LgorICAgICAgICB2aXJ0dWFsIHZvaWQg
cG9zdFRhc2soVGFzayYmKSBvdmVycmlkZTsgLy8gRXhlY3V0ZXMgdGhlIHRhc2sgb24gY29udGV4
dCdzIHRocmVhZCBhc3luY2hyb25vdXNseS4KIAogICAgICAgICAvLyBXb3JrZXJHbG9iYWxTY29w
ZQogICAgICAgICBXb3JrZXJHbG9iYWxTY29wZSogc2VsZigpIHsgcmV0dXJuIHRoaXM7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaAppbmRleCA2ZWQzNTg3NmZk
NTY5Yzk4YTY2YzhlZTA1MjQzYWFjOTU4MDk2ODZjLi4zNTM0ZTlmNjQxYTVkMzE4M2Y2ZmZmNzQ1
OGZiNDQ3ZjNiOTM3MjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckxvYWRlclByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2FkZXJQ
cm94eS5oCkBAIC00NiwxMiArNDYsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIH5Xb3JrZXJMb2FkZXJQcm94eSgpIHsgfQogCiAgICAgICAgIC8vIFBvc3RzIGEgdGFz
ayB0byB0aGUgdGhyZWFkIHdoaWNoIHJ1bnMgdGhlIGxvYWRpbmcgY29kZSAobm9ybWFsbHksIHRo
ZSBtYWluIHRocmVhZCkuCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0VGFza1RvTG9hZGVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2spID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBv
c3RUYXNrVG9Mb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayYmKSA9IDA7CiAKICAg
ICAgICAgLy8gUG9zdHMgY2FsbGJhY2tzIGZyb20gbG9hZGluZyBjb2RlIHRvIHRoZSBXb3JrZXJH
bG9iYWxTY29wZS4gVGhlICdtb2RlJyBpcyB1c2VkIHRvIGRpZmZlcmVudGlhdGUKICAgICAgICAg
Ly8gc3BlY2lmaWMgc3luY2hyb25vdXMgbG9hZGluZyByZXF1ZXN0cyBzbyB0aGV5IGNhbiBiZSAn
bmVzdGVkJywgcGVyIHNwZWMuCiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgdGFzayB3
YXMgcG9zdGVkIHN1Y2Nlc3NmdWxseS4KLSAgICAgICAgdmlydHVhbCBib29sIHBvc3RUYXNrRm9y
TW9kZVRvV29ya2VyR2xvYmFsU2NvcGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaywgY29u
c3QgU3RyaW5nJiBtb2RlKSA9IDA7CisgICAgICAgIHZpcnR1YWwgYm9vbCBwb3N0VGFza0Zvck1v
ZGVUb1dvcmtlckdsb2JhbFNjb3BlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2smJiwgY29u
c3QgU3RyaW5nJiBtb2RlKSA9IDA7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRl
eCBiZDc0ZWFjZTAyY2QzYzEwNmZkZWFiYzdlNGNkZjYxNjhhM2RiZTFlLi5jNzhhNTU5NzZhMGNm
YjZhNzEwOThlNTVjMDNhOTQxNGM5YTg3NjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtMTIyLDE0ICsxMjIsMTQgQEAgdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFMKICAgICAgICAgbV9xdWV1ZWRFYXJseVRhc2tzLmFwcGVuZChzdGQ6
Om1ha2VfdW5pcXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+KFdURjo6bW92ZSh0YXNr
KSkpOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0VGFza1RvTG9hZGVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgdGFzaykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJv
eHk6OnBvc3RUYXNrVG9Mb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayYmIHRhc2sp
CiB7CiAgICAgLy8gRklYTUU6IEluIGNhc2Ugb2YgbmVzdGVkIHdvcmtlcnMsIHRoaXMgc2hvdWxk
IGdvIGRpcmVjdGx5IHRvIHRoZSByb290IERvY3VtZW50IGNvbnRleHQuCiAgICAgQVNTRVJUKG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNEb2N1bWVudCgpKTsKICAgICBtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQtPnBvc3RUYXNrKFdURjo6bW92ZSh0YXNrKSk7CiB9CiAKLWJvb2wgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyR2xvYmFsU2NvcGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6VGFzayB0YXNrLCBjb25zdCBTdHJpbmcmIG1vZGUpCitib29sIFdv
cmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0VGFza0Zvck1vZGVUb1dvcmtlckdsb2JhbFNjb3BlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2smJiB0YXNrLCBjb25zdCBTdHJpbmcmIG1vZGUpCiB7
CiAgICAgaWYgKG1fYXNrZWRUb1Rlcm1pbmF0ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAt
MTg5LDcgKzE4OSw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OndvcmtlclRocmVhZENy
ZWF0ZWQoUGFzc1JlZlB0cjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+CiB2b2lkIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojp3b3JrZXJPYmplY3REZXN0cm95ZWQoKQogewogICAgIG1fd29ya2VyT2JqZWN0
ID0gMDsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKFt0aGlzXSAoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBv
c3RUYXNrKFt0aGlzXSB7CiAgICAgICAgIG1fbWF5QmVEZXN0cm95ZWQgPSB0cnVlOwogICAgICAg
ICBpZiAobV93b3JrZXJUaHJlYWQpCiAgICAgICAgICAgICB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxT
Y29wZSgpOwpAQCAtMjQ1LDcgKzI0NSw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnNl
bmRNZXNzYWdlVG9JbnNwZWN0b3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogCiB2b2lkIFdvcmtl
ck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJHbG9iYWxTY29wZURlc3Ryb3llZCgpCiB7Ci0gICAgbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhbdGhpc10gKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmKSB7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhbdGhpc10g
ewogICAgICAgICB3b3JrZXJHbG9iYWxTY29wZURlc3Ryb3llZEludGVybmFsKCk7CiAgICAgfSk7
CiAgICAgLy8gV2lsbCBleGVjdXRlIHdvcmtlckdsb2JhbFNjb3BlRGVzdHJveWVkSW50ZXJuYWwo
KSBvbiBjb250ZXh0J3MgdGhyZWFkLgpAQCAtMjU0LDcgKzI1NCw3IEBAIHZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6Ondvcmtlckdsb2JhbFNjb3BlRGVzdHJveWVkKCkKIHZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6Ondvcmtlckdsb2JhbFNjb3BlQ2xvc2VkKCkKIHsKICAgICAvLyBFeGVjdXRl
cyB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIG9uIHBhcmVudCBjb250ZXh0J3MgdGhyZWFk
LgotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soW3RoaXNdIChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JikgeworICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRh
c2soW3RoaXNdIHsKICAgICAgICAgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKTsKICAgICB9
KTsKIH0KQEAgLTI4Nyw3ICsyODcsNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp0ZXJt
aW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0
TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgU3Ry
aW5nQ2FwdHVyZSBjYXB0dXJlZE1lc3NhZ2UobWVzc2FnZSk7Ci0gICAgbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0LT5wb3N0VGFzayhbdGhpcywgY2FwdHVyZWRNZXNzYWdlXSAoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpIHsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKFt0
aGlzLCBjYXB0dXJlZE1lc3NhZ2VdIHsKICAgICAgICAgaWYgKG1fcGFnZUluc3BlY3RvcikKICAg
ICAgICAgICAgIG1fcGFnZUluc3BlY3Rvci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbVdvcmtlcihjYXB0
dXJlZE1lc3NhZ2Uuc3RyaW5nKCkpOwogICAgIH0pOwpAQCAtMjk1LDcgKzI5NSw3IEBAIHZvaWQg
V29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKIAogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6Y29uZmlybU1lc3Nh
Z2VGcm9tV29ya2VyT2JqZWN0KGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KQogewotICAgIG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soW3RoaXMsIGhhc1BlbmRpbmdBY3Rpdml0eV0g
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5wb3N0VGFzayhbdGhpcywgaGFzUGVuZGluZ0FjdGl2aXR5XSB7CiAgICAgICAgIHJlcG9ydFBl
bmRpbmdBY3Rpdml0eUludGVybmFsKHRydWUsIGhhc1BlbmRpbmdBY3Rpdml0eSk7CiAgICAgfSk7
CiAgICAgLy8gV2lsbCBleGVjdXRlIHJlcG9ydFBlbmRpbmdBY3Rpdml0eUludGVybmFsKCkgb24g
Y29udGV4dCdzIHRocmVhZC4KQEAgLTMwMyw3ICszMDMsNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5Ojpjb25maXJtTWVzc2FnZUZyb21Xb3JrZXJPYmplY3QoYm9vbCBoYXNQZW5kaW5nQWN0
aXZpdAogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRQZW5kaW5nQWN0aXZpdHko
Ym9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpCiB7Ci0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5wb3N0VGFzayhbdGhpcywgaGFzUGVuZGluZ0FjdGl2aXR5XSAoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpIHsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBo
YXNQZW5kaW5nQWN0aXZpdHldIHsKICAgICAgICAgcmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJu
YWwoZmFsc2UsIGhhc1BlbmRpbmdBY3Rpdml0eSk7CiAgICAgfSk7CiAgICAgLy8gV2lsbCBleGVj
dXRlIHJlcG9ydFBlbmRpbmdBY3Rpdml0eUludGVybmFsKCkgb24gY29udGV4dCdzIHRocmVhZC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCA5
NTk0MWM2MjRmNGZjOWNjM2ViMGZjMjMwYmEyYmQ3NTA4ZmRlZmIzLi5mMDM0ZmIwMTI1ZTU0ZjRj
MjUxNDgwMDVhMTM0YWI3YzQ4MGI5MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC03Niw4ICs3Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgLy8gSW1wbGVtZW50YXRpb24gb2YgV29ya2VyTG9hZGVyUHJveHkuCiAgICAg
ICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCBvbiBkaWZmZXJlbnQgdGhyZWFkcyB0byBz
Y2hlZHVsZSBsb2FkaW5nCiAgICAgICAgIC8vIHJlcXVlc3RzIGFuZCB0byBzZW5kIGNhbGxiYWNr
cyBiYWNrIHRvIFdvcmtlckdsb2JhbFNjb3BlLgotICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRh
c2tUb0xvYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrKSBvdmVycmlkZTsKLSAgICAg
ICAgdmlydHVhbCBib29sIHBvc3RUYXNrRm9yTW9kZVRvV29ya2VyR2xvYmFsU2NvcGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6VGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKSBvdmVycmlkZTsKKyAg
ICAgICAgdmlydHVhbCB2b2lkIHBvc3RUYXNrVG9Mb2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzayYmKSBvdmVycmlkZTsKKyAgICAgICAgdmlydHVhbCBib29sIHBvc3RUYXNrRm9yTW9k
ZVRvV29ya2VyR2xvYmFsU2NvcGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayYmLCBjb25z
dCBTdHJpbmcmIG1vZGUpIG92ZXJyaWRlOwogCiAgICAgICAgIHZvaWQgd29ya2VyVGhyZWFkQ3Jl
YXRlZChQYXNzUmVmUHRyPERlZGljYXRlZFdvcmtlclRocmVhZD4pOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCBlODEyMzA4NWQzZjIwZjNhMjliODhkZWNi
NmNhMGU1MmFhNGM4ZTZiLi40M2U1NmEwMTJkMzA5YTQxZGE0ZWMxZDQ4OTcwMmI3NzBhYjE0YTZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKQEAgLTIwOCwxNyAr
MjA4LDE3IEBAIHZvaWQgV29ya2VyUnVuTG9vcDo6dGVybWluYXRlKCkKICAgICBtX21lc3NhZ2VR
dWV1ZS5raWxsKCk7CiB9CiAKLXZvaWQgV29ya2VyUnVuTG9vcDo6cG9zdFRhc2soU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6VGFzayB0YXNrKQordm9pZCBXb3JrZXJSdW5Mb29wOjpwb3N0VGFzayhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJiYgdGFzaykKIHsKICAgICBwb3N0VGFza0Zvck1v
ZGUoV1RGOjptb3ZlKHRhc2spLCBkZWZhdWx0TW9kZSgpKTsKIH0KIAotdm9pZCBXb3JrZXJSdW5M
b29wOjpwb3N0VGFza0FuZFRlcm1pbmF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHRh
c2spCit2b2lkIFdvcmtlclJ1bkxvb3A6OnBvc3RUYXNrQW5kVGVybWluYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OlRhc2smJiB0YXNrKQogewogICAgIG1fbWVzc2FnZVF1ZXVlLmFwcGVuZEFu
ZEtpbGwoc3RkOjptYWtlX3VuaXF1ZTxUYXNrPihXVEY6Om1vdmUodGFzayksIGRlZmF1bHRNb2Rl
KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJSdW5Mb29wOjpwb3N0VGFza0Zvck1vZGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6VGFzayB0YXNrLCBjb25zdCBTdHJpbmcmIG1vZGUpCit2b2lkIFdvcmtl
clJ1bkxvb3A6OnBvc3RUYXNrRm9yTW9kZShTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJiYg
dGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKQogewogICAgIG1fbWVzc2FnZVF1ZXVlLmFwcGVuZChz
dGQ6Om1ha2VfdW5pcXVlPFRhc2s+KFdURjo6bW92ZSh0YXNrKSwgbW9kZSkpOwogfQpAQCAtMjI5
LDcgKzIyOSw3IEBAIHZvaWQgV29ya2VyUnVuTG9vcDo6VGFzazo6cGVyZm9ybVRhc2soY29uc3Qg
V29ya2VyUnVuTG9vcCYgcnVuTG9vcCwgV29ya2VyR2xvYmFsCiAgICAgICAgIG1fdGFzay5wZXJm
b3JtVGFzaygqY29udGV4dCk7CiB9CiAKLVdvcmtlclJ1bkxvb3A6OlRhc2s6OlRhc2soU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6VGFzayB0YXNrLCBjb25zdCBTdHJpbmcmIG1vZGUpCitXb3JrZXJS
dW5Mb29wOjpUYXNrOjpUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2smJiB0YXNrLCBj
b25zdCBTdHJpbmcmIG1vZGUpCiAgICAgOiBtX3Rhc2soV1RGOjptb3ZlKHRhc2spKQogICAgICwg
bV9tb2RlKG1vZGUuaXNvbGF0ZWRDb3B5KCkpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
UnVuTG9vcC5oCmluZGV4IDhiYjBjM2I5NWI0OGM3NTY4ZGI4ZDU5MDk1MmFhMzU1NTY1MTg0YjMu
Ljk0MzAzM2QyMzM5MWNmYTZiMzUxYWI4MjNlNjM3OWFlOGRmMWMyZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCkBAIC01Nyw5ICs1Nyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdm9pZCB0ZXJtaW5hdGUoKTsKICAgICAgICAgYm9vbCB0ZXJtaW5hdGVk
KCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlUXVldWUua2lsbGVkKCk7IH0KIAotICAgICAgICB2
b2lkIHBvc3RUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2spOwotICAgICAgICB2b2lk
IHBvc3RUYXNrQW5kVGVybWluYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2spOwotICAg
ICAgICB2b2lkIHBvc3RUYXNrRm9yTW9kZShTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrLCBj
b25zdCBTdHJpbmcmIG1vZGUpOworICAgICAgICB2b2lkIHBvc3RUYXNrKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OlRhc2smJik7CisgICAgICAgIHZvaWQgcG9zdFRhc2tBbmRUZXJtaW5hdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayYmKTsKKyAgICAgICAgdm9pZCBwb3N0VGFza0Zvck1v
ZGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayYmLCBjb25zdCBTdHJpbmcmIG1vZGUpOwog
CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgY3JlYXRlVW5pcXVlSWQoKSB7IHJldHVybiArK21fdW5p
cXVlSWQ7IH0KIApAQCAtNjgsNyArNjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGNsYXNzIFRhc2sgewogICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBUYXNr
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2ssIGNvbnN0IFN0cmluZyYgbW9kZSk7CisgICAg
ICAgICAgICBUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2smJiwgY29uc3QgU3RyaW5n
JiBtb2RlKTsKICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbW9kZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbW9kZTsgfQogICAgICAgICAgICAgdm9pZCBwZXJmb3JtVGFzayhjb25zdCBXb3JrZXJSdW5M
b29wJiwgV29ya2VyR2xvYmFsU2NvcGUqKTsKIAo=
</data>
<flag name="review"
          id="285030"
          type_id="1"
          status="-"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>