<?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>163586</bug_id>
          
          <creation_ts>2016-10-17 23:24:56 -0700</creation_ts>
          <short_desc>[DOMJIT] Use NativeCallFrameTracer for operations used for DOMJIT slow calls</short_desc>
          <delta_ts>2016-10-18 11:49:39 -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>JavaScriptCore</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>163223</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1241349</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-17 23:24:56 -0700</bug_when>
    <thetext>DOMJIT slow calls should use NativeCallFrameTracer as the same to the other operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241353</commentid>
    <comment_count>1</comment_count>
      <attachid>291924</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-17 23:40:10 -0700</bug_when>
    <thetext>Created attachment 291924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241359</commentid>
    <comment_count>2</comment_count>
      <attachid>291927</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-18 00:08:46 -0700</bug_when>
    <thetext>Created attachment 291927
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241369</commentid>
    <comment_count>3</comment_count>
      <attachid>291927</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-10-18 01:02:04 -0700</bug_when>
    <thetext>Comment on attachment 291927
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241374</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-18 01:16:12 -0700</bug_when>
    <thetext>Committed r207456: &lt;http://trac.webkit.org/changeset/207456&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241393</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-10-18 02:43:50 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Committed r207456: &lt;http://trac.webkit.org/changeset/207456&gt;

It broke the Apple Mac cmake build: 

In file included from /Volumes/Data/slave/elcapitan-cmake-debug/build/Source/WebCore/domjit/JSNodeDOMJIT.cpp:36:
/Volumes/Data/slave/elcapitan-cmake-debug/build/Source/WebCore/ForwardingHeaders/interpreter/FrameTracers.h:28:10: fatal error: &apos;JavaScriptCore/FrameTracers.h&apos; file not found
#include &lt;JavaScriptCore/FrameTracers.h&gt;
         ^
1 error generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241530</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-18 11:49:39 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Committed r207456: &lt;http://trac.webkit.org/changeset/207456&gt;
&gt; 
&gt; It broke the Apple Mac cmake build: 
&gt; 
&gt; In file included from
&gt; /Volumes/Data/slave/elcapitan-cmake-debug/build/Source/WebCore/domjit/
&gt; JSNodeDOMJIT.cpp:36:
&gt; /Volumes/Data/slave/elcapitan-cmake-debug/build/Source/WebCore/
&gt; ForwardingHeaders/interpreter/FrameTracers.h:28:10: fatal error:
&gt; &apos;JavaScriptCore/FrameTracers.h&apos; file not found
&gt; #include &lt;JavaScriptCore/FrameTracers.h&gt;
&gt;          ^
&gt; 1 error generated.

This is related to forwarding header clean up in CMake.
Rebuilding fixes the issue[1]. (JSNodeDOMJIT.cpp is compiled correctly)

[1]: https://build.webkit.org/builders/Apple%20El%20Capitan%20CMake%20Debug%20%28Build%29/builds/9293/steps/compile-webkit/logs/stdio</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291924</attachid>
            <date>2016-10-17 23:40:10 -0700</date>
            <delta_ts>2016-10-18 00:08:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163586-20161018153636.patch</filename>
            <type>text/plain</type>
            <size>12370</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
N2M3NWI4MGJmYTZlNTNmYzM3N2M3OWFiYmY4YmRjNDYwOTYyZjk1Li41YzkyZjFhNjAwYzZkMGI3
OTcxYWY5NjhmMWMwMjg4ZDIxM2FjZWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNi0xMC0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRE9NSklUXSBVc2UgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIGZvciBv
cGVyYXRpb25zIHVzZWQgZm9yIERPTUpJVCBzbG93IGNhbGxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM1ODYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDIGZ1bmN0aW9ucyBjYWxsZWQgZnJvbSB0aGUg
RE9NSklUIHNsb3cgcGF0aCBjYWxscyBzaG91bGQgdXNlIE5hdGl2ZUNhbGxGcmFtZVRyYWNlci4K
KyAgICAgICAgVGhpcyBmaXhlcyB0aGUgZGVidWcgYXNzZXJ0aW9uIGNhdXNlZCBpbiByMjA3NDI3
LgorCisgICAgICAgICogYnl0ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMu
Y3BwOgorICAgICAgICAoSlNDOjpTbG93UGF0aENhbGxHZW5lcmF0b3JXaXRoQXJndW1lbnRzOjpn
ZW5lcmF0ZUltcGwpOgorICAgICAgICAoSlNDOjpET01KSVRBY2Nlc3NDYXNlUGF0Y2hwb2ludFBh
cmFtczo6ZW1pdFNsb3dQYXRoQ2FsbHMpOgorICAgICAgICAqIGJ5dGVjb2RlL0RPTUpJVEFjY2Vz
c0Nhc2VQYXRjaHBvaW50UGFyYW1zLmg6CisgICAgICAgICogYnl0ZWNvZGUvUG9seW1vcnBoaWNB
Y2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjplbWl0RE9NSklUR2V0dGVyKToK
KyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoV1RGOjpET01KSVRHZXR0ZXI6OkRPTUpJVE5v
ZGVET01KSVQ6OnNsb3dDYWxsKToKKyAgICAgICAgKFdURjo6RE9NSklUR2V0dGVyQ29tcGxleDo6
RE9NSklUTm9kZURPTUpJVDo6c2xvd0NhbGwpOgorCiAyMDE2LTEwLTE3ICBLZWl0aCBNaWxsZXIg
IDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBXQVNN
IE1lbW9yeS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1YzYwOTBlMDEzZjg0YTA2NzdjZjVmMDFlY2ZkNzYwODhk
ODJiYzBkLi5hZjhiZWFiMzk1NGUxMTczZjBlMDAyNmFkZjY1ZDY2MzE1YTlkN2U5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMTAtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5l
LnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0RPTUpJVF0gVXNlIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciBmb3Igb3BlcmF0aW9ucyB1c2VkIGZvciBET01KSVQgc2xvdyBjYWxscworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNTg2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBkb21qaXQvSlNOb2RlRE9N
SklULmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvV3JhcHBlclNsb3cpOgorCiAyMDE2LTEwLTE3
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZGVwZW5k
ZW5jeSBjeWNsZSB3aXRoIFVJS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYW1zLmNw
cAppbmRleCA3YTNmOGJhM2JkY2E0Nzc2NWZjZjgyOTRlZDQyZmM1MWFmNmNlODFjLi45NWUxNDAx
MTc2NDNhNDFjMjc1ZjhlNmFlNzVjYzEwZjY3NmJhMjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ET01KSVRBY2Nlc3NDYXNlUGF0
Y2hwb2ludFBhcmFtcy5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xhc3MgU2xvd1BhdGhDYWxsR2Vu
ZXJhdG9yV2l0aEFyZ3VtZW50cyA6IHB1YmxpYyBET01KSVRBY2Nlc3NDYXNlUGF0Y2hwb2ludFBh
cmEKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxzaXplX3QuLi4gQXJndW1lbnRzSW5kZXg+Ci0gICAg
Q0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBnZW5lcmF0ZUltcGwoVk0mIHZtLCBBY2Nlc3NHZW5lcmF0
aW9uU3RhdGUmIHN0YXRlLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVyc0J5UGF0Y2hw
b2ludCwgQ0NhbGxIZWxwZXJzJiBqaXQsIHN0ZDo6aW5kZXhfc2VxdWVuY2U8QXJndW1lbnRzSW5k
ZXguLi4+KQorICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgZ2VuZXJhdGVJbXBsKEFjY2Vzc0dl
bmVyYXRpb25TdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzQnlQ
YXRjaHBvaW50LCBDQ2FsbEhlbHBlcnMmIGppdCwgc3RkOjppbmRleF9zZXF1ZW5jZTxBcmd1bWVu
dHNJbmRleC4uLj4pCiAgICAgewogICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0IGV4Y2Vw
dGlvbnM7CiAgICAgICAgIC8vIFdlIHNwaWxsICgxKSB0aGUgdXNlZCByZWdpc3RlcnMgYnkgSUMg
YW5kICgyKSB0aGUgdXNlZCByZWdpc3RlcnMgYnkgRE9NSklUOjpQYXRjaHBvaW50LgpAQCAtNTks
OCArNTksNiBAQCBjbGFzcyBTbG93UGF0aENhbGxHZW5lcmF0b3JXaXRoQXJndW1lbnRzIDogcHVi
bGljIERPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYQogCiAgICAgICAgIGppdC5tYWtlU3Bh
Y2VPblN0YWNrRm9yQ0NhbGwoKTsKIAotICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6Y2Fs
bEZyYW1lUmVnaXN0ZXIsICZ2bS50b3BDYWxsRnJhbWUpOwotCiAgICAgICAgIC8vIEZJWE1FOiBD
dXJyZW50bHksIHdlIGRvIG5vdCBjaGVjayBhbnkgQVJNIEVBQkkgLyBTSDQgdGhpbmdzIGhlcmUu
CiAgICAgICAgIC8vIEJ1dCBpdCBpcyBPSyBiZWNhdXNlIGEgY29tcGlsZSBlcnJvciBoYXBwZW5z
IHdoZW4geW91IHBhc3MgSlNWYWx1ZVJlZ3MgYXMgYW4gYXJndW1lbnQuCiAgICAgICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMwOTkKQEAgLTg4LDEwICs4
NiwxMCBAQCBjbGFzcyBTbG93UGF0aENhbGxHZW5lcmF0b3JXaXRoQXJndW1lbnRzIDogcHVibGlj
IERPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYQogICAgICAgICByZXR1cm4gZXhjZXB0aW9u
czsKICAgICB9CiAKLSAgICBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0IGdlbmVyYXRlKFZNJiB2bSwg
QWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdp
c3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVscGVycyYgaml0KSBvdmVycmlkZQorICAgIENDYWxs
SGVscGVyczo6SnVtcExpc3QgZ2VuZXJhdGUoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSwg
Y29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVscGVy
cyYgaml0KSBvdmVycmlkZQogICAgIHsKICAgICAgICAgbV9mcm9tLmxpbmsoJmppdCk7Ci0gICAg
ICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgZXhjZXB0aW9ucyA9IGdlbmVyYXRlSW1wbCh2bSwg
c3RhdGUsIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIGppdCwgc3RkOjptYWtlX2luZGV4X3Nl
cXVlbmNlPHN0ZDo6dHVwbGVfc2l6ZTxzdGQ6OnR1cGxlPEFyZ3VtZW50cy4uLj4+Ojp2YWx1ZT4o
KSk7CisgICAgICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgZXhjZXB0aW9ucyA9IGdlbmVyYXRl
SW1wbChzdGF0ZSwgdXNlZFJlZ2lzdGVyc0J5UGF0Y2hwb2ludCwgaml0LCBzdGQ6Om1ha2VfaW5k
ZXhfc2VxdWVuY2U8c3RkOjp0dXBsZV9zaXplPHN0ZDo6dHVwbGU8QXJndW1lbnRzLi4uPj46OnZh
bHVlPigpKTsKICAgICAgICAgaml0Lmp1bXAoKS5saW5rVG8obV90bywgJmppdCk7CiAgICAgICAg
IHJldHVybiBleGNlcHRpb25zOwogICAgIH0KQEAgLTExNCwxMSArMTEyLDExIEBAIGNsYXNzIFNs
b3dQYXRoQ2FsbEdlbmVyYXRvcldpdGhBcmd1bWVudHMgOiBwdWJsaWMgRE9NSklUQWNjZXNzQ2Fz
ZVBhdGNocG9pbnRQYXJhCiBET01KSVRfU0xPV19QQVRIX0NBTExTKEpTQ19ERUZJTkVfQ0FMTF9P
UEVSQVRJT05TKQogI3VuZGVmIEpTQ19ERUZJTkVfQ0FMTF9PUEVSQVRJT05TCiAKLUNDYWxsSGVs
cGVyczo6SnVtcExpc3QgRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXM6OmVtaXRTbG93
UGF0aENhbGxzKFZNJiB2bSwgQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSwgY29uc3QgUmVn
aXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVscGVycyYgaml0KQor
Q0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBET01KSVRBY2Nlc3NDYXNlUGF0Y2hwb2ludFBhcmFtczo6
ZW1pdFNsb3dQYXRoQ2FsbHMoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSwgY29uc3QgUmVn
aXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVscGVycyYgaml0KQog
ewogICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgZXhjZXB0aW9uczsKICAgICBmb3IgKGF1dG8m
IGdlbmVyYXRvciA6IG1fZ2VuZXJhdG9ycykKLSAgICAgICAgZXhjZXB0aW9ucy5hcHBlbmQoZ2Vu
ZXJhdG9yLT5nZW5lcmF0ZSh2bSwgc3RhdGUsIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIGpp
dCkpOworICAgICAgICBleGNlcHRpb25zLmFwcGVuZChnZW5lcmF0b3ItPmdlbmVyYXRlKHN0YXRl
LCB1c2VkUmVnaXN0ZXJzQnlQYXRjaHBvaW50LCBqaXQpKTsKICAgICByZXR1cm4gZXhjZXB0aW9u
czsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RPTUpJ
VEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYW1zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuaAppbmRleCA5NThhYmE3NzY3
YTYwZTQ5MGY4N2Q3MDkwNDY3MDVjM2JmMjVjOTM0Li44Y2Y5NzUxOTc0ZmM0MDIwNWU5NzE0MjEw
ZjYxYTA5N2E2OTE4YmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuaApAQCAt
NDMsMTAgKzQzLDEwIEBAIGNsYXNzIERPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYW1zIDog
cHVibGljIERPTUpJVDo6UGF0Y2hwb2ludFBhcmFtcyB7CiAgICAgY2xhc3MgU2xvd1BhdGhDYWxs
R2VuZXJhdG9yIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflNsb3dQYXRoQ2FsbEdl
bmVyYXRvcigpIHsgfQotICAgICAgICB2aXJ0dWFsIENDYWxsSGVscGVyczo6SnVtcExpc3QgZ2Vu
ZXJhdGUoVk0mLCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmLCBjb25zdCBSZWdpc3RlclNldCYgdXNl
ZFJlZ2lzdGVyc0J5UGF0Y2hwb2ludCwgQ0NhbGxIZWxwZXJzJikgPSAwOworICAgICAgICB2aXJ0
dWFsIENDYWxsSGVscGVyczo6SnVtcExpc3QgZ2VuZXJhdGUoQWNjZXNzR2VuZXJhdGlvblN0YXRl
JiwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVs
cGVycyYpID0gMDsKICAgICB9OwogCi0gICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBlbWl0U2xv
d1BhdGhDYWxscyhWTSYsIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0
JiB1c2VkUmVnaXN0ZXJzQnlQYXRjaHBvaW50LCBDQ2FsbEhlbHBlcnMmKTsKKyAgICBDQ2FsbEhl
bHBlcnM6Okp1bXBMaXN0IGVtaXRTbG93UGF0aENhbGxzKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYs
IGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzQnlQYXRjaHBvaW50LCBDQ2FsbEhlbHBl
cnMmKTsKIAogcHJpdmF0ZToKICNkZWZpbmUgSlNDX0RFRklORV9DQUxMX09QRVJBVElPTlMoT3Bl
cmF0aW9uVHlwZSwgUmVzdWx0VHlwZSwgLi4uKSB2b2lkIGFkZFNsb3dQYXRoQ2FsbEltcGwoQ0Nh
bGxIZWxwZXJzOjpKdW1wTGlzdCwgQ0NhbGxIZWxwZXJzJiwgT3BlcmF0aW9uVHlwZSwgUmVzdWx0
VHlwZSwgc3RkOjp0dXBsZTxfX1ZBX0FSR1NfXz4gYXJncykgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAppbmRl
eCBmNTFmOTQwYWIwYTc5YTVlZTU3N2NhZWM1M2Q5MWU2MGUzZWEzYjc5Li42MmRhOThlZDIwNzNk
MjdlOTAyZjNkMDEzY2VkMDk1Y2UyNjg4ZGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKQEAgLTE0MjYsNyArMTQyNiw2
IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYg
c3RhdGUpCiB2b2lkIEFjY2Vzc0Nhc2U6OmVtaXRET01KSVRHZXR0ZXIoQWNjZXNzR2VuZXJhdGlv
blN0YXRlJiBzdGF0ZSwgR1BSUmVnIGJhc2VGb3JHZXRHUFIpCiB7CiAgICAgQ0NhbGxIZWxwZXJz
JiBqaXQgPSAqc3RhdGUuaml0OwotICAgIFZNJiB2bSA9ICpqaXQudm0oKTsKICAgICBTdHJ1Y3R1
cmVTdHViSW5mbyYgc3R1YkluZm8gPSAqc3RhdGUuc3R1YkluZm87CiAgICAgSlNWYWx1ZVJlZ3Mg
dmFsdWVSZWdzID0gc3RhdGUudmFsdWVSZWdzOwogICAgIEdQUlJlZyBiYXNlR1BSID0gc3RhdGUu
YmFzZUdQUjsKQEAgLTE1MzUsNyArMTUzNCw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6ZW1pdERPTUpJ
VEdldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlLCBHUFJSZWcgYmFzZUZvckdlCiAg
ICAgYWxsb2NhdG9yLnJlc3RvcmVSZXVzZWRSZWdpc3RlcnNCeVBvcHBpbmcoaml0LCBwcmVzZXJ2
ZWRTdGF0ZSk7CiAgICAgc3RhdGUuc3VjY2VlZCgpOwogCi0gICAgQ0NhbGxIZWxwZXJzOjpKdW1w
TGlzdCBleGNlcHRpb25zID0gcGFyYW1zLmVtaXRTbG93UGF0aENhbGxzKHZtLCBzdGF0ZSwgcmVn
aXN0ZXJzVG9TcGlsbEZvckNDYWxsLCBqaXQpOworICAgIENDYWxsSGVscGVyczo6SnVtcExpc3Qg
ZXhjZXB0aW9ucyA9IHBhcmFtcy5lbWl0U2xvd1BhdGhDYWxscyhzdGF0ZSwgcmVnaXN0ZXJzVG9T
cGlsbEZvckNDYWxsLCBqaXQpOwogICAgIGV4Y2VwdGlvbnMubGluaygmaml0KTsKICAgICBhbGxv
Y2F0b3IucmVzdG9yZVJldXNlZFJlZ2lzdGVyc0J5UG9wcGluZyhqaXQsIHByZXNlcnZlZFN0YXRl
KTsKICAgICBzdGF0ZS5lbWl0RXhwbGljaXRFeGNlcHRpb25IYW5kbGVyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
c2MuY3BwCmluZGV4IGY1ZjEzNjQ3M2YwYmExMWM2MzU2NDg4YzNlNWNhNTdiMGI5NDZlMDUuLjM4
MGE0NWJjYzkyYzlkMDljZDdlYzExYjgxYzlmMmM4ZmY0ZTFiZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwCkBAIC02MjYsNiArNjI2LDEyIEBAIGNsYXNzIERPTUpJVEdldHRlciA6IHB1YmxpYyBET01K
SVROb2RlIHsKICAgICAgICAgICAgIHJldHVybiBET01KSVROb2RlOjpjaGVja0RPTUpJVE5vZGUo
KTsKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIHNsb3dDYWxsKEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9pbnRlcikKKyAgICAgICAgewor
ICAgICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmZXhlYy0+dm0oKSwgZXhl
Yyk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKHN0YXRpY19j
YXN0PERPTUpJVEdldHRlcio+KHBvaW50ZXIpLT52YWx1ZSgpKSk7CisgICAgICAgIH0KKwogICAg
ICAgICBSZWY8RE9NSklUOjpDYWxsRE9NUGF0Y2hwb2ludD4gY2FsbERPTSgpIG92ZXJyaWRlCiAg
ICAgICAgIHsKICAgICAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01QYXRjaHBvaW50PiBwYXRj
aHBvaW50ID0gRE9NSklUOjpDYWxsRE9NUGF0Y2hwb2ludDo6Y3JlYXRlKCk7CkBAIC02MzMsMTAg
KzYzOSw3IEBAIGNsYXNzIERPTUpJVEdldHRlciA6IHB1YmxpYyBET01KSVROb2RlIHsKICAgICAg
ICAgICAgIHBhdGNocG9pbnQtPnNldEdlbmVyYXRvcihbPV0oQ0NhbGxIZWxwZXJzJiBqaXQsIERP
TUpJVDo6UGF0Y2hwb2ludFBhcmFtcyYgcGFyYW1zKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1
ZVJlZ3MgcmVzdWx0cyA9IHBhcmFtc1swXS5qc1ZhbHVlUmVncygpOwogICAgICAgICAgICAgICAg
IEdQUlJlZyBkb20gPSBwYXJhbXNbMV0uZ3ByKCk7Ci0KLSAgICAgICAgICAgICAgICBwYXJhbXMu
YWRkU2xvd1BhdGhDYWxsKGppdC5qdW1wKCksIGppdCwgc3RhdGljX2Nhc3Q8RW5jb2RlZEpTVmFs
dWUoKikoRXhlY1N0YXRlKiwgdm9pZCopPihbXShFeGVjU3RhdGUqLCB2b2lkKiBwb2ludGVyKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3Rh
dGljX2Nhc3Q8RE9NSklUR2V0dGVyKj4ocG9pbnRlciktPnZhbHVlKCkpKTsKLSAgICAgICAgICAg
ICAgICB9KSwgcmVzdWx0cywgZG9tKTsKKyAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1Bh
dGhDYWxsKGppdC5qdW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRvbSk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKIAogICAgICAgICAgICAg
fSk7CkBAIC03MDgsNiArNzExLDIwIEBAIGNsYXNzIERPTUpJVEdldHRlckNvbXBsZXggOiBwdWJs
aWMgRE9NSklUTm9kZSB7CiAgICAgICAgICAgICByZXR1cm4gRE9NSklUTm9kZTo6Y2hlY2tET01K
SVROb2RlKCk7CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBzbG93Q2FsbChFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgICAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAgICAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgICAgICAgICBhdXRvKiBvYmplY3Qg
PSBzdGF0aWNfY2FzdDxET01KSVROb2RlKj4ocG9pbnRlcik7CisgICAgICAgICAgICBhdXRvKiBk
b21qaXRHZXR0ZXJDb21wbGV4ID0ganNEeW5hbWljQ2FzdDxET01KSVRHZXR0ZXJDb21wbGV4Kj4o
b2JqZWN0KTsKKyAgICAgICAgICAgIGlmIChkb21qaXRHZXR0ZXJDb21wbGV4KSB7CisgICAgICAg
ICAgICAgICAgaWYgKGRvbWppdEdldHRlckNvbXBsZXgtPm1fZW5hYmxlRXhjZXB0aW9uKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93RXhjZXB0aW9uKGV4
ZWMsIHNjb3BlLCBjcmVhdGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoIkRPTUpJVEdldHRlckNv
bXBsZXggc2xvdyBjYWxsIGV4Y2VwdGlvbiIpKSkpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihvYmplY3QtPnZhbHVlKCkpKTsKKyAg
ICAgICAgfQorCiAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01QYXRjaHBvaW50PiBjYWxsRE9N
KCkgb3ZlcnJpZGUKICAgICAgICAgewogICAgICAgICAgICAgUmVmUHRyPERPTUpJVDo6Q2FsbERP
TVBhdGNocG9pbnQ+IHBhdGNocG9pbnQgPSBET01KSVQ6OkNhbGxET01QYXRjaHBvaW50OjpjcmVh
dGUoKTsKQEAgLTcyMCwxNyArNzM3LDcgQEAgY2xhc3MgRE9NSklUR2V0dGVyQ29tcGxleCA6IHB1
YmxpYyBET01KSVROb2RlIHsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgcGF0Y2hwb2ludC0+bnVtR1BTY3JhdGNoUmVnaXN0ZXJzOyArK2kpCiAgICAgICAgICAgICAg
ICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKDQyKSwgcGFyYW1zLmdw
U2NyYXRjaChpKSk7CiAKLSAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxsKGpp
dC5qdW1wKCksIGppdCwgc3RhdGljX2Nhc3Q8RW5jb2RlZEpTVmFsdWUoKikoRXhlY1N0YXRlKiwg
dm9pZCopPihbXShFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpIHsKLSAgICAgICAgICAg
ICAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgICAgICAgICAgICAgICAgICBhdXRv
KiBvYmplY3QgPSBzdGF0aWNfY2FzdDxET01KSVROb2RlKj4ocG9pbnRlcik7Ci0gICAgICAgICAg
ICAgICAgICAgIGF1dG8qIGRvbWppdEdldHRlckNvbXBsZXggPSBqc0R5bmFtaWNDYXN0PERPTUpJ
VEdldHRlckNvbXBsZXgqPihvYmplY3QpOwotICAgICAgICAgICAgICAgICAgICBpZiAoZG9taml0
R2V0dGVyQ29tcGxleCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvbWppdEdldHRl
ckNvbXBsZXgtPm1fZW5hYmxlRXhjZXB0aW9uKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dFeGNlcHRpb24oZXhlYywgc2NvcGUsIGNyZWF0
ZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiRE9NSklUR2V0dGVyQ29tcGxleCBzbG93IGNhbGwg
ZXhjZXB0aW9uIikpKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihvYmplY3QtPnZhbHVlKCkpKTsKLSAg
ICAgICAgICAgICAgICB9KSwgcmVzdWx0cywgZG9tR1BSKTsKKyAgICAgICAgICAgICAgICBwYXJh
bXMuYWRkU2xvd1BhdGhDYWxsKGppdC5qdW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRv
bUdQUik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsK
IAogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb21qaXQvSlNO
b2RlRE9NSklULmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbWppdC9KU05vZGVET01KSVQuY3BwCmlu
ZGV4IGQ4ZjU5MmM2NGFmMWI0MmNkYjhhZWQ4NGY4Mzc1NmE1YzgyZjFhNjEuLjk3ODFiNzQ1MzNi
ZDQyMjhmNGVmNmJiNjhjYTUyMGE3YWFkOWIzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbWppdC9KU05vZGVET01KSVQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbWppdC9KU05v
ZGVET01KSVQuY3BwCkBAIC00MSwxMSArNDEsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogZW51
bSBjbGFzcyBJc0NvbnRhaW5lckd1YXJkUmVxdWlyZW1lbnQgeyBSZXF1aXJlZCwgTm90UmVxdWly
ZWQgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlZE5vZGU+Ci1FbmNvZGVkSlNWYWx1ZSB0
b1dyYXBwZXJTbG93KEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIHZvaWQqIHJlc3VsdCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
dG9XcmFwcGVyU2xvdyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCB2b2lkKiByZXN1bHQpCiB7CiAgICAgQVNTRVJUKGV4ZWMpOwogICAgIEFT
U0VSVChyZXN1bHQpOwogICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgIEpTQzo6TmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmZXhlYy0+dm0oKSwgZXhlYyk7CiAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KSwgKnN0YXRpY19jYXN0PFdyYXBwZWROb2RlKj4ocmVzdWx0KSkpOwogfQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291927</attachid>
            <date>2016-10-18 00:08:46 -0700</date>
            <delta_ts>2016-10-18 01:02:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163586-20161018160512.patch</filename>
            <type>text/plain</type>
            <size>26051</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
N2M3NWI4MGJmYTZlNTNmYzM3N2M3OWFiYmY4YmRjNDYwOTYyZjk1Li5mMjhjYWZjMTZjZDgyMzYx
ZmYzMzM2YzIyNDYyZDhiOWVkOGFiMDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNi0xMC0xOCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRE9NSklUXSBVc2UgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIGZvciBv
cGVyYXRpb25zIHVzZWQgZm9yIERPTUpJVCBzbG93IGNhbGxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM1ODYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDIGZ1bmN0aW9ucyBjYWxsZWQgZnJvbSB0aGUg
RE9NSklUIHNsb3cgcGF0aCBjYWxscyBzaG91bGQgdXNlIE5hdGl2ZUNhbGxGcmFtZVRyYWNlci4K
KyAgICAgICAgVGhpcyBmaXhlcyB0aGUgZGVidWcgYXNzZXJ0aW9uIGNhdXNlZCBpbiByMjA3NDI3
LgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBieXRlY29kZS9ET01KSVRBY2Nlc3NDYXNlUGF0Y2hwb2ludFBhcmFtcy5jcHA6
CisgICAgICAgIChKU0M6OlNsb3dQYXRoQ2FsbEdlbmVyYXRvcldpdGhBcmd1bWVudHM6OmdlbmVy
YXRlSW1wbCk6CisgICAgICAgIChKU0M6OkRPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYW1z
OjplbWl0U2xvd1BhdGhDYWxscyk6CisgICAgICAgICogYnl0ZWNvZGUvRE9NSklUQWNjZXNzQ2Fz
ZVBhdGNocG9pbnRQYXJhbXMuaDoKKyAgICAgICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vz
cy5jcHA6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmVtaXRET01KSVRHZXR0ZXIpOgorICAg
ICAgICAqIGludGVycHJldGVyL0ZyYW1lVHJhY2Vycy5oOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6
U3VzcGVuZEV4Y2VwdGlvblNjb3BlOjpTdXNwZW5kRXhjZXB0aW9uU2NvcGUpOgorICAgICAgICAo
SlNDOjpTdXNwZW5kRXhjZXB0aW9uU2NvcGU6On5TdXNwZW5kRXhjZXB0aW9uU2NvcGUpOgorICAg
ICAgICAoSlNDOjpUb3BDYWxsRnJhbWVTZXR0ZXI6OlRvcENhbGxGcmFtZVNldHRlcik6CisgICAg
ICAgIChKU0M6OlRvcENhbGxGcmFtZVNldHRlcjo6flRvcENhbGxGcmFtZVNldHRlcik6CisgICAg
ICAgIChKU0M6Ok5hdGl2ZUNhbGxGcmFtZVRyYWNlcjo6TmF0aXZlQ2FsbEZyYW1lVHJhY2VyKToK
KyAgICAgICAgKEpTQzo6TmF0aXZlQ2FsbEZyYW1lVHJhY2VyV2l0aFJlc3RvcmU6Ok5hdGl2ZUNh
bGxGcmFtZVRyYWNlcldpdGhSZXN0b3JlKToKKyAgICAgICAgKEpTQzo6TmF0aXZlQ2FsbEZyYW1l
VHJhY2VyV2l0aFJlc3RvcmU6On5OYXRpdmVDYWxsRnJhbWVUcmFjZXJXaXRoUmVzdG9yZSk6Cisg
ICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaDoKKyAgICAgICAgKEpTQzo6U3VzcGVu
ZEV4Y2VwdGlvblNjb3BlOjpTdXNwZW5kRXhjZXB0aW9uU2NvcGUpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpTdXNwZW5kRXhjZXB0aW9uU2NvcGU6On5TdXNwZW5kRXhjZXB0aW9uU2NvcGUpOiBE
ZWxldGVkLgorICAgICAgICAoSlNDOjpUb3BDYWxsRnJhbWVTZXR0ZXI6OlRvcENhbGxGcmFtZVNl
dHRlcik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlRvcENhbGxGcmFtZVNldHRlcjo6flRvcENh
bGxGcmFtZVNldHRlcik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Ok5hdGl2ZUNhbGxGcmFtZVRy
YWNlcjo6TmF0aXZlQ2FsbEZyYW1lVHJhY2VyKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6TmF0
aXZlQ2FsbEZyYW1lVHJhY2VyV2l0aFJlc3RvcmU6Ok5hdGl2ZUNhbGxGcmFtZVRyYWNlcldpdGhS
ZXN0b3JlKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6TmF0aXZlQ2FsbEZyYW1lVHJhY2VyV2l0
aFJlc3RvcmU6On5OYXRpdmVDYWxsRnJhbWVUcmFjZXJXaXRoUmVzdG9yZSk6IERlbGV0ZWQuCisg
ICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKFdURjo6RE9NSklUR2V0dGVyOjpET01KSVROb2Rl
RE9NSklUOjpzbG93Q2FsbCk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckNvbXBsZXg6OkRP
TUpJVE5vZGVET01KSVQ6OnNsb3dDYWxsKToKKwogMjAxNi0xMC0xNyAgS2VpdGggTWlsbGVyICA8
a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV0FTTSBN
ZW1vcnkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNWM2MDkwZTAxM2Y4NGEwNjc3Y2Y1ZjAxZWNmZDc2MDg4ZDgy
YmMwZC4uNWE4ZDA0Zjg3MDM1Nzc0YmE3Y2MxNGE2NjgzOTQ0Y2Q5MmZiZmI5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTEwLTE4ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50
ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtET01KSVRdIFVzZSBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgZm9yIG9wZXJhdGlvbnMgdXNlZCBmb3IgRE9NSklUIHNsb3cgY2FsbHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzU4NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMv
aW50ZXJwcmV0ZXIvRnJhbWVUcmFjZXJzLmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9ET01KSVRBY2Nlc3NDYXNlUGF0Y2hwb2ludFBhcmFtcy5oLgorICAgICAg
ICAqIGRvbWppdC9KU05vZGVET01KSVQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9XcmFwcGVy
U2xvdyk6CisKIDIwMTYtMTAtMTcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbW92ZSBkZXBlbmRlbmN5IGN5Y2xlIHdpdGggVUlLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggZmYxZjlmMDViNjdlNmIzYWNjMmNhYzM0OTBjYWEwYmNhMDczNmQ4
YS4uMDdkNTE0Y2E1ODA1NGJlOTk0OTlkMzdhMTg2ZTc5YzQ2ZDM5OWZmZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTIxMDUsNiArMjEwNSw3IEBACiAJCUUzM0Y1MDg0MUI4NDM3
QTAwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzM0Y1MDgyMUI4NDM3QTAwMDQxMzg1
NiAvKiBKU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmNwcCAqLzsgfTsKIAkJRTMzRjUwODUxQjg0
MzdBMDAwNDEzODU2IC8qIEpTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzM0Y1MDgzMUI4NDM3QTAwMDQxMzg1
NiAvKiBKU0ludGVybmFsUHJvbWlzZURlZmVycmVkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMzRjUwODcxQjg0NDlFRjAwNDEzODU2IC8qIEpT
SW50ZXJuYWxQcm9taXNlQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzNGNTA4NjFCODQ0OUVGMDA0MTM4NTYgLyogSlNJbnRl
cm5hbFByb21pc2VDb25zdHJ1Y3Rvci5sdXQuaCAqLzsgfTsKKwkJRTM0RURCRjcxREI1RkZDOTAw
REM4N0E1IC8qIEZyYW1lVHJhY2Vycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTM0RURCRjYxREI1RkZDMTAwREM4N0E1IC8qIEZyYW1lVHJhY2Vycy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTQ2
MjJCMUI2MDY1RDEwMDU0NTM4NiAvKiBDb25zdHJ1Y3RBYmlsaXR5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU0NjIyQTFCNjA2NUQxMDA1NDUzODYg
LyogQ29uc3RydWN0QWJpbGl0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUzNTU1QjhBMURBRTAzQTUwMEYzNjkyMSAvKiBET01KSVRDYWxsRE9N
UGF0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM1NTVCODkxREFFMDNBMjAwRjM2OTIxIC8qIERPTUpJVENhbGxET01QYXRjaHBvaW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1NUYz
NTIxQjdEQzg1MzAwQzUwREM1IC8qIE1vZHVsZUxvYWRlclByb3RvdHlwZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU1RjM1MDFCN0RDODUzMDBD
NTBEQzUgLyogTW9kdWxlTG9hZGVyUHJvdG90eXBlLmNwcCAqLzsgfTsKQEAgLTQ0MjEsNiArNDQy
Miw3IEBACiAJCUUzM0Y1MDgzMUI4NDM3QTAwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlzZURl
ZmVycmVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW50ZXJuYWxQcm9t
aXNlRGVmZXJyZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMzRjUwODYxQjg0
NDlFRjAwNDEzODU2IC8qIEpTSW50ZXJuYWxQcm9taXNlQ29uc3RydWN0b3IubHV0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW50ZXJuYWxQcm9taXNlQ29uc3RydWN0b3Iu
bHV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzM0Y1MDg4MUI4NDRBMUEwMDQx
Mzg1NiAvKiBJbnRlcm5hbFByb21pc2VDb25zdHJ1Y3Rvci5qcyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuamF2YXNjcmlwdDsgcGF0aCA9IEludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yLmpzOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzRFREJGNjFEQjVGRkMxMDBEQzg3QTUgLyogRnJh
bWVUcmFjZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lVHJhY2Vy
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU0NjIyQTFCNjA2NUQxMDA1NDUz
ODYgLyogQ29uc3RydWN0QWJpbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb25zdHJ1Y3RBYmlsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNTU1
Qjg5MURBRTAzQTIwMEYzNjkyMSAvKiBET01KSVRDYWxsRE9NUGF0Y2hwb2ludC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRDYWxsRE9NUGF0Y2hwb2ludC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzU1RjM1MDFCN0RDODUzMDBDNTBEQzUgLyogTW9k
dWxlTG9hZGVyUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1vZHVsZUxvYWRlclByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC01MjA3LDYgKzUyMDksNyBAQAogCQkJCTE0MjlEOERCMEVEMjIwNUIwMEI4OTYxOSAvKiBD
YWxsRnJhbWUuY3BwICovLAogCQkJCTE0MjlEOERDMEVEMjIwNUIwMEI4OTYxOSAvKiBDYWxsRnJh
bWUuaCAqLywKIAkJCQlBN0Y4NjlFQzBGOTVDMkVDMDA1NTg2OTcgLyogQ2FsbEZyYW1lQ2xvc3Vy
ZS5oICovLAorCQkJCUUzNEVEQkY2MURCNUZGQzEwMERDODdBNSAvKiBGcmFtZVRyYWNlcnMuaCAq
LywKIAkJCQkxNDI5RDdEMzBFRDIxMjgyMDBCODk2MTkgLyogSW50ZXJwcmV0ZXIuY3BwICovLAog
CQkJCTE0MjlENzdCMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oICovLAogCQkJCTY1
RkI1MTE2MTg0RUU5QkMwMEMxMkI3MCAvKiBQcm90b0NhbGxGcmFtZS5jcHAgKi8sCkBAIC04MDM3
LDYgKzgwNDAsNyBAQAogCQkJCUJDMThDNDFGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0Z1bmN0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzIwMjhCQTE3OTc2MDNEMDA5ODAyOEMgLyogSlNGdW5j
dGlvbklubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkYxMTdCNkI1QUIwMEE3QUUz
RiAvKiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM0RURC
RjcxREI1RkZDOTAwREM4N0E1IC8qIEZyYW1lVHJhY2Vycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEYyQjY2RjIxN0I2QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkYzMTdCNkI1QUIwMEE3QUUzRiAvKiBK
U0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEYyQjY2RjQxN0I2QjVBQjAwQTdBRTNGIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYW1z
LmNwcAppbmRleCA3YTNmOGJhM2JkY2E0Nzc2NWZjZjgyOTRlZDQyZmM1MWFmNmNlODFjLi45NWUx
NDAxMTc2NDNhNDFjMjc1ZjhlNmFlNzVjYzEwZjY3NmJhMjBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ET01KSVRBY2Nlc3NDYXNl
UGF0Y2hwb2ludFBhcmFtcy5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xhc3MgU2xvd1BhdGhDYWxs
R2VuZXJhdG9yV2l0aEFyZ3VtZW50cyA6IHB1YmxpYyBET01KSVRBY2Nlc3NDYXNlUGF0Y2hwb2lu
dFBhcmEKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxzaXplX3QuLi4gQXJndW1lbnRzSW5kZXg+Ci0g
ICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBnZW5lcmF0ZUltcGwoVk0mIHZtLCBBY2Nlc3NHZW5l
cmF0aW9uU3RhdGUmIHN0YXRlLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVyc0J5UGF0
Y2hwb2ludCwgQ0NhbGxIZWxwZXJzJiBqaXQsIHN0ZDo6aW5kZXhfc2VxdWVuY2U8QXJndW1lbnRz
SW5kZXguLi4+KQorICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgZ2VuZXJhdGVJbXBsKEFjY2Vz
c0dlbmVyYXRpb25TdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJz
QnlQYXRjaHBvaW50LCBDQ2FsbEhlbHBlcnMmIGppdCwgc3RkOjppbmRleF9zZXF1ZW5jZTxBcmd1
bWVudHNJbmRleC4uLj4pCiAgICAgewogICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0IGV4
Y2VwdGlvbnM7CiAgICAgICAgIC8vIFdlIHNwaWxsICgxKSB0aGUgdXNlZCByZWdpc3RlcnMgYnkg
SUMgYW5kICgyKSB0aGUgdXNlZCByZWdpc3RlcnMgYnkgRE9NSklUOjpQYXRjaHBvaW50LgpAQCAt
NTksOCArNTksNiBAQCBjbGFzcyBTbG93UGF0aENhbGxHZW5lcmF0b3JXaXRoQXJndW1lbnRzIDog
cHVibGljIERPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYQogCiAgICAgICAgIGppdC5tYWtl
U3BhY2VPblN0YWNrRm9yQ0NhbGwoKTsKIAotICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6
Y2FsbEZyYW1lUmVnaXN0ZXIsICZ2bS50b3BDYWxsRnJhbWUpOwotCiAgICAgICAgIC8vIEZJWE1F
OiBDdXJyZW50bHksIHdlIGRvIG5vdCBjaGVjayBhbnkgQVJNIEVBQkkgLyBTSDQgdGhpbmdzIGhl
cmUuCiAgICAgICAgIC8vIEJ1dCBpdCBpcyBPSyBiZWNhdXNlIGEgY29tcGlsZSBlcnJvciBoYXBw
ZW5zIHdoZW4geW91IHBhc3MgSlNWYWx1ZVJlZ3MgYXMgYW4gYXJndW1lbnQuCiAgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMwOTkKQEAgLTg4LDEw
ICs4NiwxMCBAQCBjbGFzcyBTbG93UGF0aENhbGxHZW5lcmF0b3JXaXRoQXJndW1lbnRzIDogcHVi
bGljIERPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYQogICAgICAgICByZXR1cm4gZXhjZXB0
aW9uczsKICAgICB9CiAKLSAgICBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0IGdlbmVyYXRlKFZNJiB2
bSwgQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRS
ZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVscGVycyYgaml0KSBvdmVycmlkZQorICAgIEND
YWxsSGVscGVyczo6SnVtcExpc3QgZ2VuZXJhdGUoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0
ZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVs
cGVycyYgaml0KSBvdmVycmlkZQogICAgIHsKICAgICAgICAgbV9mcm9tLmxpbmsoJmppdCk7Ci0g
ICAgICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgZXhjZXB0aW9ucyA9IGdlbmVyYXRlSW1wbCh2
bSwgc3RhdGUsIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIGppdCwgc3RkOjptYWtlX2luZGV4
X3NlcXVlbmNlPHN0ZDo6dHVwbGVfc2l6ZTxzdGQ6OnR1cGxlPEFyZ3VtZW50cy4uLj4+Ojp2YWx1
ZT4oKSk7CisgICAgICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgZXhjZXB0aW9ucyA9IGdlbmVy
YXRlSW1wbChzdGF0ZSwgdXNlZFJlZ2lzdGVyc0J5UGF0Y2hwb2ludCwgaml0LCBzdGQ6Om1ha2Vf
aW5kZXhfc2VxdWVuY2U8c3RkOjp0dXBsZV9zaXplPHN0ZDo6dHVwbGU8QXJndW1lbnRzLi4uPj46
OnZhbHVlPigpKTsKICAgICAgICAgaml0Lmp1bXAoKS5saW5rVG8obV90bywgJmppdCk7CiAgICAg
ICAgIHJldHVybiBleGNlcHRpb25zOwogICAgIH0KQEAgLTExNCwxMSArMTEyLDExIEBAIGNsYXNz
IFNsb3dQYXRoQ2FsbEdlbmVyYXRvcldpdGhBcmd1bWVudHMgOiBwdWJsaWMgRE9NSklUQWNjZXNz
Q2FzZVBhdGNocG9pbnRQYXJhCiBET01KSVRfU0xPV19QQVRIX0NBTExTKEpTQ19ERUZJTkVfQ0FM
TF9PUEVSQVRJT05TKQogI3VuZGVmIEpTQ19ERUZJTkVfQ0FMTF9PUEVSQVRJT05TCiAKLUNDYWxs
SGVscGVyczo6SnVtcExpc3QgRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXM6OmVtaXRT
bG93UGF0aENhbGxzKFZNJiB2bSwgQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSwgY29uc3Qg
UmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVscGVycyYgaml0
KQorQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBET01KSVRBY2Nlc3NDYXNlUGF0Y2hwb2ludFBhcmFt
czo6ZW1pdFNsb3dQYXRoQ2FsbHMoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSwgY29uc3Qg
UmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxsSGVscGVycyYgaml0
KQogewogICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgZXhjZXB0aW9uczsKICAgICBmb3IgKGF1
dG8mIGdlbmVyYXRvciA6IG1fZ2VuZXJhdG9ycykKLSAgICAgICAgZXhjZXB0aW9ucy5hcHBlbmQo
Z2VuZXJhdG9yLT5nZW5lcmF0ZSh2bSwgc3RhdGUsIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQs
IGppdCkpOworICAgICAgICBleGNlcHRpb25zLmFwcGVuZChnZW5lcmF0b3ItPmdlbmVyYXRlKHN0
YXRlLCB1c2VkUmVnaXN0ZXJzQnlQYXRjaHBvaW50LCBqaXQpKTsKICAgICByZXR1cm4gZXhjZXB0
aW9uczsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RP
TUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYW1zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuaAppbmRleCA5NThhYmE3
NzY3YTYwZTQ5MGY4N2Q3MDkwNDY3MDVjM2JmMjVjOTM0Li44Y2Y5NzUxOTc0ZmM0MDIwNWU5NzE0
MjEwZjYxYTA5N2E2OTE4YmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvRE9NSklUQWNjZXNzQ2FzZVBhdGNocG9pbnRQYXJhbXMuaApA
QCAtNDMsMTAgKzQzLDEwIEBAIGNsYXNzIERPTUpJVEFjY2Vzc0Nhc2VQYXRjaHBvaW50UGFyYW1z
IDogcHVibGljIERPTUpJVDo6UGF0Y2hwb2ludFBhcmFtcyB7CiAgICAgY2xhc3MgU2xvd1BhdGhD
YWxsR2VuZXJhdG9yIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflNsb3dQYXRoQ2Fs
bEdlbmVyYXRvcigpIHsgfQotICAgICAgICB2aXJ0dWFsIENDYWxsSGVscGVyczo6SnVtcExpc3Qg
Z2VuZXJhdGUoVk0mLCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmLCBjb25zdCBSZWdpc3RlclNldCYg
dXNlZFJlZ2lzdGVyc0J5UGF0Y2hwb2ludCwgQ0NhbGxIZWxwZXJzJikgPSAwOworICAgICAgICB2
aXJ0dWFsIENDYWxsSGVscGVyczo6SnVtcExpc3QgZ2VuZXJhdGUoQWNjZXNzR2VuZXJhdGlvblN0
YXRlJiwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdpc3RlcnNCeVBhdGNocG9pbnQsIENDYWxs
SGVscGVycyYpID0gMDsKICAgICB9OwogCi0gICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBlbWl0
U2xvd1BhdGhDYWxscyhWTSYsIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYsIGNvbnN0IFJlZ2lzdGVy
U2V0JiB1c2VkUmVnaXN0ZXJzQnlQYXRjaHBvaW50LCBDQ2FsbEhlbHBlcnMmKTsKKyAgICBDQ2Fs
bEhlbHBlcnM6Okp1bXBMaXN0IGVtaXRTbG93UGF0aENhbGxzKEFjY2Vzc0dlbmVyYXRpb25TdGF0
ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzQnlQYXRjaHBvaW50LCBDQ2FsbEhl
bHBlcnMmKTsKIAogcHJpdmF0ZToKICNkZWZpbmUgSlNDX0RFRklORV9DQUxMX09QRVJBVElPTlMo
T3BlcmF0aW9uVHlwZSwgUmVzdWx0VHlwZSwgLi4uKSB2b2lkIGFkZFNsb3dQYXRoQ2FsbEltcGwo
Q0NhbGxIZWxwZXJzOjpKdW1wTGlzdCwgQ0NhbGxIZWxwZXJzJiwgT3BlcmF0aW9uVHlwZSwgUmVz
dWx0VHlwZSwgc3RkOjp0dXBsZTxfX1ZBX0FSR1NfXz4gYXJncykgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcApp
bmRleCBmNTFmOTQwYWIwYTc5YTVlZTU3N2NhZWM1M2Q5MWU2MGUzZWEzYjc5Li42MmRhOThlZDIw
NzNkMjdlOTAyZjNkMDEzY2VkMDk1Y2UyNjg4ZGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKQEAgLTE0MjYsNyArMTQy
Niw2IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmVyYXRpb25TdGF0
ZSYgc3RhdGUpCiB2b2lkIEFjY2Vzc0Nhc2U6OmVtaXRET01KSVRHZXR0ZXIoQWNjZXNzR2VuZXJh
dGlvblN0YXRlJiBzdGF0ZSwgR1BSUmVnIGJhc2VGb3JHZXRHUFIpCiB7CiAgICAgQ0NhbGxIZWxw
ZXJzJiBqaXQgPSAqc3RhdGUuaml0OwotICAgIFZNJiB2bSA9ICpqaXQudm0oKTsKICAgICBTdHJ1
Y3R1cmVTdHViSW5mbyYgc3R1YkluZm8gPSAqc3RhdGUuc3R1YkluZm87CiAgICAgSlNWYWx1ZVJl
Z3MgdmFsdWVSZWdzID0gc3RhdGUudmFsdWVSZWdzOwogICAgIEdQUlJlZyBiYXNlR1BSID0gc3Rh
dGUuYmFzZUdQUjsKQEAgLTE1MzUsNyArMTUzNCw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6ZW1pdERP
TUpJVEdldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlLCBHUFJSZWcgYmFzZUZvckdl
CiAgICAgYWxsb2NhdG9yLnJlc3RvcmVSZXVzZWRSZWdpc3RlcnNCeVBvcHBpbmcoaml0LCBwcmVz
ZXJ2ZWRTdGF0ZSk7CiAgICAgc3RhdGUuc3VjY2VlZCgpOwogCi0gICAgQ0NhbGxIZWxwZXJzOjpK
dW1wTGlzdCBleGNlcHRpb25zID0gcGFyYW1zLmVtaXRTbG93UGF0aENhbGxzKHZtLCBzdGF0ZSwg
cmVnaXN0ZXJzVG9TcGlsbEZvckNDYWxsLCBqaXQpOworICAgIENDYWxsSGVscGVyczo6SnVtcExp
c3QgZXhjZXB0aW9ucyA9IHBhcmFtcy5lbWl0U2xvd1BhdGhDYWxscyhzdGF0ZSwgcmVnaXN0ZXJz
VG9TcGlsbEZvckNDYWxsLCBqaXQpOwogICAgIGV4Y2VwdGlvbnMubGluaygmaml0KTsKICAgICBh
bGxvY2F0b3IucmVzdG9yZVJldXNlZFJlZ2lzdGVyc0J5UG9wcGluZyhqaXQsIHByZXNlcnZlZFN0
YXRlKTsKICAgICBzdGF0ZS5lbWl0RXhwbGljaXRFeGNlcHRpb25IYW5kbGVyKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvRnJhbWVUcmFjZXJzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvRnJhbWVUcmFjZXJzLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzViNmI4MzM4MGYxOTE2ZDViZGE4YWRlZjY0YThiMDk1Nzk2ODlhYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9GcmFtZVRyYWNlcnMuaApA
QCAtMCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2F0Y2hTY29wZS5oIgorI2luY2x1ZGUg
IlZNLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdHJ1Y3QgVk1FbnRyeUZyYW1lOworCitjbGFz
cyBTdXNwZW5kRXhjZXB0aW9uU2NvcGUgeworcHVibGljOgorICAgIFN1c3BlbmRFeGNlcHRpb25T
Y29wZShWTSogdm0pCisgICAgICAgIDogbV92bSh2bSkKKyAgICB7CisgICAgICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKCp2bSk7CisgICAgICAgIG9sZEV4Y2VwdGlvbiA9IHNj
b3BlLmV4Y2VwdGlvbigpOworICAgICAgICBzY29wZS5jbGVhckV4Y2VwdGlvbigpOworICAgIH0K
KyAgICB+U3VzcGVuZEV4Y2VwdGlvblNjb3BlKCkKKyAgICB7CisgICAgICAgIG1fdm0tPnJlc3Rv
cmVQcmV2aW91c0V4Y2VwdGlvbihvbGRFeGNlcHRpb24pOworICAgIH0KK3ByaXZhdGU6CisgICAg
RXhjZXB0aW9uKiBvbGRFeGNlcHRpb247CisgICAgVk0qIG1fdm07Cit9OworCitjbGFzcyBUb3BD
YWxsRnJhbWVTZXR0ZXIgeworcHVibGljOgorICAgIFRvcENhbGxGcmFtZVNldHRlcihWTSYgY3Vy
cmVudFZNLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKKyAgICAgICAgOiB2bShjdXJyZW50Vk0pCisg
ICAgICAgICwgb2xkQ2FsbEZyYW1lKGN1cnJlbnRWTS50b3BDYWxsRnJhbWUpCisgICAgeworICAg
ICAgICBjdXJyZW50Vk0udG9wQ2FsbEZyYW1lID0gY2FsbEZyYW1lOworICAgIH0KKworICAgIH5U
b3BDYWxsRnJhbWVTZXR0ZXIoKQorICAgIHsKKyAgICAgICAgdm0udG9wQ2FsbEZyYW1lID0gb2xk
Q2FsbEZyYW1lOworICAgIH0KK3ByaXZhdGU6CisgICAgVk0mIHZtOworICAgIENhbGxGcmFtZSog
b2xkQ2FsbEZyYW1lOworfTsKKworY2xhc3MgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHsKK3B1Ymxp
YzoKKyAgICBBTFdBWVNfSU5MSU5FIE5hdGl2ZUNhbGxGcmFtZVRyYWNlcihWTSogdm0sIENhbGxG
cmFtZSogY2FsbEZyYW1lKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHZtKTsKKyAgICAgICAgQVNT
RVJUKGNhbGxGcmFtZSk7CisgICAgICAgIEFTU0VSVChyZWludGVycHJldF9jYXN0PHZvaWQqPihj
YWxsRnJhbWUpIDwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4odm0tPnRvcFZNRW50cnlGcmFtZSkp
OworICAgICAgICB2bS0+dG9wQ2FsbEZyYW1lID0gY2FsbEZyYW1lOworICAgIH0KK307CisKK2Ns
YXNzIE5hdGl2ZUNhbGxGcmFtZVRyYWNlcldpdGhSZXN0b3JlIHsKK3B1YmxpYzoKKyAgICBBTFdB
WVNfSU5MSU5FIE5hdGl2ZUNhbGxGcmFtZVRyYWNlcldpdGhSZXN0b3JlKFZNKiB2bSwgVk1FbnRy
eUZyYW1lKiB2bUVudHJ5RnJhbWUsIENhbGxGcmFtZSogY2FsbEZyYW1lKQorICAgICAgICA6IG1f
dm0odm0pCisgICAgeworICAgICAgICBBU1NFUlQodm0pOworICAgICAgICBBU1NFUlQoY2FsbEZy
YW1lKTsKKyAgICAgICAgbV9zYXZlZFRvcFZNRW50cnlGcmFtZSA9IHZtLT50b3BWTUVudHJ5RnJh
bWU7CisgICAgICAgIG1fc2F2ZWRUb3BDYWxsRnJhbWUgPSB2bS0+dG9wQ2FsbEZyYW1lOworICAg
ICAgICB2bS0+dG9wVk1FbnRyeUZyYW1lID0gdm1FbnRyeUZyYW1lOworICAgICAgICB2bS0+dG9w
Q2FsbEZyYW1lID0gY2FsbEZyYW1lOworICAgIH0KKworICAgIEFMV0FZU19JTkxJTkUgfk5hdGl2
ZUNhbGxGcmFtZVRyYWNlcldpdGhSZXN0b3JlKCkKKyAgICB7CisgICAgICAgIG1fdm0tPnRvcFZN
RW50cnlGcmFtZSA9IG1fc2F2ZWRUb3BWTUVudHJ5RnJhbWU7CisgICAgICAgIG1fdm0tPnRvcENh
bGxGcmFtZSA9IG1fc2F2ZWRUb3BDYWxsRnJhbWU7CisgICAgfQorCitwcml2YXRlOgorICAgIFZN
KiBtX3ZtOworICAgIFZNRW50cnlGcmFtZSogbV9zYXZlZFRvcFZNRW50cnlGcmFtZTsKKyAgICBD
YWxsRnJhbWUqIG1fc2F2ZWRUb3BDYWxsRnJhbWU7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCmluZGV4IGFlOWFlMjg2YTdiMzVh
ZTdmNjQ4NGIwNTc3YWM1NTY3MjVhOTM5MjQuLjQ5MGE2MTA1NTc5YzQxYmE0NjQxMzhhZWVhOWQx
ZmI5MjQ4ZWFiNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9JbnRlcnByZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5oCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJBcmdMaXN0LmgiCiAj
aW5jbHVkZSAiQ2F0Y2hTY29wZS5oIgorI2luY2x1ZGUgIkZyYW1lVHJhY2Vycy5oIgogI2luY2x1
ZGUgIkpTQ0pTVmFsdWUuaCIKICNpbmNsdWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU09iamVj
dC5oIgpAQCAtODUsNzggKzg2LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFN0YWNrRnJh
bWVOYXRpdmVDb2RlCiAgICAgfTsKIAotICAgIGNsYXNzIFN1c3BlbmRFeGNlcHRpb25TY29wZSB7
Ci0gICAgcHVibGljOgotICAgICAgICBTdXNwZW5kRXhjZXB0aW9uU2NvcGUoVk0qIHZtKQotICAg
ICAgICAgICAgOiBtX3ZtKHZtKQotICAgICAgICB7Ci0gICAgICAgICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9DQVRDSF9TQ09QRSgqdm0pOwotICAgICAgICAgICAgb2xkRXhjZXB0aW9uID0gc2Nv
cGUuZXhjZXB0aW9uKCk7Ci0gICAgICAgICAgICBzY29wZS5jbGVhckV4Y2VwdGlvbigpOwotICAg
ICAgICB9Ci0gICAgICAgIH5TdXNwZW5kRXhjZXB0aW9uU2NvcGUoKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBtX3ZtLT5yZXN0b3JlUHJldmlvdXNFeGNlcHRpb24ob2xkRXhjZXB0aW9uKTsKLSAg
ICAgICAgfQotICAgIHByaXZhdGU6Ci0gICAgICAgIEV4Y2VwdGlvbiogb2xkRXhjZXB0aW9uOwot
ICAgICAgICBWTSogbV92bTsKLSAgICB9OwotICAgIAotICAgIGNsYXNzIFRvcENhbGxGcmFtZVNl
dHRlciB7Ci0gICAgcHVibGljOgotICAgICAgICBUb3BDYWxsRnJhbWVTZXR0ZXIoVk0mIGN1cnJl
bnRWTSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCi0gICAgICAgICAgICA6IHZtKGN1cnJlbnRWTSkK
LSAgICAgICAgICAgICwgb2xkQ2FsbEZyYW1lKGN1cnJlbnRWTS50b3BDYWxsRnJhbWUpIAotICAg
ICAgICB7Ci0gICAgICAgICAgICBjdXJyZW50Vk0udG9wQ2FsbEZyYW1lID0gY2FsbEZyYW1lOwot
ICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICB+VG9wQ2FsbEZyYW1lU2V0dGVyKCkgCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHZtLnRvcENhbGxGcmFtZSA9IG9sZENhbGxGcmFtZTsKLSAgICAg
ICAgfQotICAgIHByaXZhdGU6Ci0gICAgICAgIFZNJiB2bTsKLSAgICAgICAgQ2FsbEZyYW1lKiBv
bGRDYWxsRnJhbWU7Ci0gICAgfTsKLSAgICAKLSAgICBjbGFzcyBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgewotICAgIHB1YmxpYzoKLSAgICAgICAgQUxXQVlTX0lOTElORSBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIoVk0qIHZtLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKLSAgICAgICAgewotICAgICAgICAg
ICAgQVNTRVJUKHZtKTsKLSAgICAgICAgICAgIEFTU0VSVChjYWxsRnJhbWUpOwotICAgICAgICAg
ICAgQVNTRVJUKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNhbGxGcmFtZSkgPCByZWludGVycHJl
dF9jYXN0PHZvaWQqPih2bS0+dG9wVk1FbnRyeUZyYW1lKSk7Ci0gICAgICAgICAgICB2bS0+dG9w
Q2FsbEZyYW1lID0gY2FsbEZyYW1lOwotICAgICAgICB9Ci0gICAgfTsKLQotICAgIGNsYXNzIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlcldpdGhSZXN0b3JlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIEFM
V0FZU19JTkxJTkUgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyV2l0aFJlc3RvcmUoVk0qIHZtLCBWTUVu
dHJ5RnJhbWUqIHZtRW50cnlGcmFtZSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCi0gICAgICAgICAg
ICA6IG1fdm0odm0pCi0gICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVCh2bSk7Ci0gICAgICAg
ICAgICBBU1NFUlQoY2FsbEZyYW1lKTsKLSAgICAgICAgICAgIG1fc2F2ZWRUb3BWTUVudHJ5RnJh
bWUgPSB2bS0+dG9wVk1FbnRyeUZyYW1lOwotICAgICAgICAgICAgbV9zYXZlZFRvcENhbGxGcmFt
ZSA9IHZtLT50b3BDYWxsRnJhbWU7Ci0gICAgICAgICAgICB2bS0+dG9wVk1FbnRyeUZyYW1lID0g
dm1FbnRyeUZyYW1lOwotICAgICAgICAgICAgdm0tPnRvcENhbGxGcmFtZSA9IGNhbGxGcmFtZTsK
LSAgICAgICAgfQotCi0gICAgICAgIEFMV0FZU19JTkxJTkUgfk5hdGl2ZUNhbGxGcmFtZVRyYWNl
cldpdGhSZXN0b3JlKCkKLSAgICAgICAgewotICAgICAgICAgICAgbV92bS0+dG9wVk1FbnRyeUZy
YW1lID0gbV9zYXZlZFRvcFZNRW50cnlGcmFtZTsKLSAgICAgICAgICAgIG1fdm0tPnRvcENhbGxG
cmFtZSA9IG1fc2F2ZWRUb3BDYWxsRnJhbWU7Ci0gICAgICAgIH0KLQotICAgIHByaXZhdGU6Ci0g
ICAgICAgIFZNKiBtX3ZtOwotICAgICAgICBWTUVudHJ5RnJhbWUqIG1fc2F2ZWRUb3BWTUVudHJ5
RnJhbWU7Ci0gICAgICAgIENhbGxGcmFtZSogbV9zYXZlZFRvcENhbGxGcmFtZTsKLSAgICB9Owot
CiAgICAgY2xhc3MgSW50ZXJwcmV0ZXIgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICAgICAgZnJpZW5kIGNsYXNzIENhY2hlZENhbGw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmlu
ZGV4IGY1ZjEzNjQ3M2YwYmExMWM2MzU2NDg4YzNlNWNhNTdiMGI5NDZlMDUuLjM4MGE0NWJjYzky
YzlkMDljZDdlYzExYjgxYzlmMmM4ZmY0ZTFiZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC02
MjYsNiArNjI2LDEyIEBAIGNsYXNzIERPTUpJVEdldHRlciA6IHB1YmxpYyBET01KSVROb2RlIHsK
ICAgICAgICAgICAgIHJldHVybiBET01KSVROb2RlOjpjaGVja0RPTUpJVE5vZGUoKTsKICAgICAg
ICAgfQogCisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIHNsb3dD
YWxsKEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9pbnRlcikKKyAgICAgICAgeworICAgICAgICAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmZXhlYy0+dm0oKSwgZXhlYyk7CisgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKHN0YXRpY19jYXN0PERPTUpJ
VEdldHRlcio+KHBvaW50ZXIpLT52YWx1ZSgpKSk7CisgICAgICAgIH0KKwogICAgICAgICBSZWY8
RE9NSklUOjpDYWxsRE9NUGF0Y2hwb2ludD4gY2FsbERPTSgpIG92ZXJyaWRlCiAgICAgICAgIHsK
ICAgICAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01QYXRjaHBvaW50PiBwYXRjaHBvaW50ID0g
RE9NSklUOjpDYWxsRE9NUGF0Y2hwb2ludDo6Y3JlYXRlKCk7CkBAIC02MzMsMTAgKzYzOSw3IEBA
IGNsYXNzIERPTUpJVEdldHRlciA6IHB1YmxpYyBET01KSVROb2RlIHsKICAgICAgICAgICAgIHBh
dGNocG9pbnQtPnNldEdlbmVyYXRvcihbPV0oQ0NhbGxIZWxwZXJzJiBqaXQsIERPTUpJVDo6UGF0
Y2hwb2ludFBhcmFtcyYgcGFyYW1zKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVz
dWx0cyA9IHBhcmFtc1swXS5qc1ZhbHVlUmVncygpOwogICAgICAgICAgICAgICAgIEdQUlJlZyBk
b20gPSBwYXJhbXNbMV0uZ3ByKCk7Ci0KLSAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1Bh
dGhDYWxsKGppdC5qdW1wKCksIGppdCwgc3RhdGljX2Nhc3Q8RW5jb2RlZEpTVmFsdWUoKikoRXhl
Y1N0YXRlKiwgdm9pZCopPihbXShFeGVjU3RhdGUqLCB2b2lkKiBwb2ludGVyKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8
RE9NSklUR2V0dGVyKj4ocG9pbnRlciktPnZhbHVlKCkpKTsKLSAgICAgICAgICAgICAgICB9KSwg
cmVzdWx0cywgZG9tKTsKKyAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxsKGpp
dC5qdW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRvbSk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKIAogICAgICAgICAgICAgfSk7CkBAIC03
MDgsNiArNzExLDIwIEBAIGNsYXNzIERPTUpJVEdldHRlckNvbXBsZXggOiBwdWJsaWMgRE9NSklU
Tm9kZSB7CiAgICAgICAgICAgICByZXR1cm4gRE9NSklUTm9kZTo6Y2hlY2tET01KSVROb2RlKCk7
CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBzbG93Q2FsbChFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAgICAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgICAgICAgICBhdXRvKiBvYmplY3QgPSBzdGF0aWNf
Y2FzdDxET01KSVROb2RlKj4ocG9pbnRlcik7CisgICAgICAgICAgICBhdXRvKiBkb21qaXRHZXR0
ZXJDb21wbGV4ID0ganNEeW5hbWljQ2FzdDxET01KSVRHZXR0ZXJDb21wbGV4Kj4ob2JqZWN0KTsK
KyAgICAgICAgICAgIGlmIChkb21qaXRHZXR0ZXJDb21wbGV4KSB7CisgICAgICAgICAgICAgICAg
aWYgKGRvbWppdEdldHRlckNvbXBsZXgtPm1fZW5hYmxlRXhjZXB0aW9uKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93RXhjZXB0aW9uKGV4ZWMsIHNjb3Bl
LCBjcmVhdGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoIkRPTUpJVEdldHRlckNvbXBsZXggc2xv
dyBjYWxsIGV4Y2VwdGlvbiIpKSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc051bWJlcihvYmplY3QtPnZhbHVlKCkpKTsKKyAgICAgICAgfQor
CiAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01QYXRjaHBvaW50PiBjYWxsRE9NKCkgb3ZlcnJp
ZGUKICAgICAgICAgewogICAgICAgICAgICAgUmVmUHRyPERPTUpJVDo6Q2FsbERPTVBhdGNocG9p
bnQ+IHBhdGNocG9pbnQgPSBET01KSVQ6OkNhbGxET01QYXRjaHBvaW50OjpjcmVhdGUoKTsKQEAg
LTcyMCwxNyArNzM3LDcgQEAgY2xhc3MgRE9NSklUR2V0dGVyQ29tcGxleCA6IHB1YmxpYyBET01K
SVROb2RlIHsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGF0Y2hw
b2ludC0+bnVtR1BTY3JhdGNoUmVnaXN0ZXJzOyArK2kpCiAgICAgICAgICAgICAgICAgICAgIGpp
dC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKDQyKSwgcGFyYW1zLmdwU2NyYXRjaChp
KSk7CiAKLSAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxsKGppdC5qdW1wKCks
IGppdCwgc3RhdGljX2Nhc3Q8RW5jb2RlZEpTVmFsdWUoKikoRXhlY1N0YXRlKiwgdm9pZCopPihb
XShFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpIHsKLSAgICAgICAgICAgICAgICAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgICAgICAgICAgICAgICAgICBhdXRvKiBvYmplY3Qg
PSBzdGF0aWNfY2FzdDxET01KSVROb2RlKj4ocG9pbnRlcik7Ci0gICAgICAgICAgICAgICAgICAg
IGF1dG8qIGRvbWppdEdldHRlckNvbXBsZXggPSBqc0R5bmFtaWNDYXN0PERPTUpJVEdldHRlckNv
bXBsZXgqPihvYmplY3QpOwotICAgICAgICAgICAgICAgICAgICBpZiAoZG9taml0R2V0dGVyQ29t
cGxleCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvbWppdEdldHRlckNvbXBsZXgt
Pm1fZW5hYmxlRXhjZXB0aW9uKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodGhyb3dFeGNlcHRpb24oZXhlYywgc2NvcGUsIGNyZWF0ZUVycm9yKGV4
ZWMsIEFTQ0lJTGl0ZXJhbCgiRE9NSklUR2V0dGVyQ29tcGxleCBzbG93IGNhbGwgZXhjZXB0aW9u
IikpKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc051bWJlcihvYmplY3QtPnZhbHVlKCkpKTsKLSAgICAgICAgICAg
ICAgICB9KSwgcmVzdWx0cywgZG9tR1BSKTsKKyAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xv
d1BhdGhDYWxsKGppdC5qdW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRvbUdQUik7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKIAogICAgICAg
ICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9p
bnRlcnByZXRlci9GcmFtZVRyYWNlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL2ludGVycHJldGVyL0ZyYW1lVHJhY2Vycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlMDMxM2MwMDNmMmMz
Y2U0NmRiYzhmM2EyMjJjYjU1YTRjNWUxODYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnRlcnByZXRlci9GcmFtZVRyYWNlcnMuaApAQCAtMCww
ICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBXZWJDb3JlX0ZXRF9GcmFtZVRyYWNlcnNfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9G
cmFtZVRyYWNlcnNfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0ZyYW1lVHJhY2Vycy5oPgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb21qaXQvSlNOb2RlRE9NSklULmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbWppdC9KU05vZGVET01KSVQuY3BwCmluZGV4IGQ4ZjU5MmM2
NGFmMWI0MmNkYjhhZWQ4NGY4Mzc1NmE1YzgyZjFhNjEuLmI5NjkzYWNhYTc1MmE0NDQ4ZDQxNmNj
MDQxNzc3MmMwMDBlODdjYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbWppdC9KU05v
ZGVET01KSVQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbWppdC9KU05vZGVET01KSVQuY3Bw
CkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgPGRvbWppdC9E
T01KSVRQYXRjaHBvaW50Lmg+CiAjaW5jbHVkZSA8ZG9taml0L0RPTUpJVFBhdGNocG9pbnRQYXJh
bXMuaD4KKyNpbmNsdWRlIDxpbnRlcnByZXRlci9GcmFtZVRyYWNlcnMuaD4KIAogdXNpbmcgbmFt
ZXNwYWNlIEpTQzsKIApAQCAtNDEsMTEgKzQyLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGVu
dW0gY2xhc3MgSXNDb250YWluZXJHdWFyZFJlcXVpcmVtZW50IHsgUmVxdWlyZWQsIE5vdFJlcXVp
cmVkIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZWROb2RlPgotRW5jb2RlZEpTVmFsdWUg
dG9XcmFwcGVyU2xvdyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCB2b2lkKiByZXN1bHQpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IHRvV3JhcHBlclNsb3coSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgdm9pZCogcmVzdWx0KQogewogICAgIEFTU0VSVChleGVjKTsKICAgICBB
U1NFUlQocmVzdWx0KTsKICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU0M6Ok5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJmV4ZWMtPnZtKCksIGV4ZWMpOwogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodG9KUyhleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCksICpzdGF0aWNfY2FzdDxXcmFwcGVkTm9kZSo+KHJlc3VsdCkpKTsKIH0K
IAo=
</data>
<flag name="review"
          id="315038"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>