<?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>150990</bug_id>
          
          <creation_ts>2015-11-06 18:12:14 -0800</creation_ts>
          <short_desc>Use ColorSpaceSRGB for image buffers everywhere</short_desc>
          <delta_ts>2015-11-13 07:33:58 -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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140129</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-11-06 18:12:14 -0800</bug_when>
    <thetext>Use ColorSpaceSRGB for image buffers everywhere</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140131</commentid>
    <comment_count>1</comment_count>
      <attachid>264987</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-11-06 18:14:27 -0800</bug_when>
    <thetext>Created attachment 264987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140203</commentid>
    <comment_count>2</comment_count>
      <attachid>264987</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-11-07 13:40:26 -0800</bug_when>
    <thetext>Comment on attachment 264987
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ColorCG.cpp:70
&gt; +    // FIXME: can we remove this?

I find such comments rather unhelpful. I&apos;d file a bug and assign it to whoever comes up on the blame list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140239</commentid>
    <comment_count>3</comment_count>
      <attachid>264987</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-07 22:31:47 -0800</bug_when>
    <thetext>Comment on attachment 264987
Patch

Clearing flags on attachment: 264987

Committed r192138: &lt;http://trac.webkit.org/changeset/192138&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140240</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-07 22:31:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141833</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-11-13 07:33:58 -0800</bug_when>
    <thetext>&lt;rdar://problem/23533883&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264987</attachid>
            <date>2015-11-06 18:14:27 -0800</date>
            <delta_ts>2015-11-07 22:31:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150990-20151106181415.patch</filename>
            <type>text/plain</type>
            <size>25982</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZkNTllM2Y3MDgzOGI0
YzZmYWM5Y2Y1YmIwOTI0Njg0YTQwNDAzZS4uY2QxNmZkMGVjN2Y5NWRiZThlMGE1NjE0OTJkMGY4
NDQzNDUxNTYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE1LTExLTA2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBDb2xvclNw
YWNlU1JHQiBmb3IgaW1hZ2UgYnVmZmVycyBldmVyeXdoZXJlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA5OTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb2xvclNwYWNlU1JHQiBhbmQgQ29sb3JTcGFj
ZURldmljZVJHQiBhcmUgZXF1aXZhbGVudCBub3csIHNvIGNvbnZlcnQKKyAgICAgICAgY29kZSB0
aGF0IGNyZWF0ZXMgaW1hZ2UgYnVmZmVycyB0YWdnZWQgd2l0aCBDb2xvclNwYWNlRGV2aWNlUkdC
IHRvIHVzZSBDb2xvclNwYWNlU1JHQi4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNy
ZWF0ZUNvbXBhdGlibGVCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9CaXRtYXBJbWFnZUNHLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkJpdG1hcEltYWdlOjpjaGVja0ZvclNvbGlkQ29sb3IpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29sb3I6OkNv
bG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZik6IERlbGV0ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6cHV0Qnl0ZUFycmF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW06CisgICAgICAgIChJT1N1cmZhY2U6OmNyZWF0ZUZy
b21JbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZsb29kLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RkVUaWxlOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZpbHRlckVmZmVjdDo6RmlsdGVyRWZmZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUdy
YXBoaWM6OlNvdXJjZUdyYXBoaWMpOgorICAgICAgICAqIHJlbmRlcmluZy9GaWx0ZXJFZmZlY3RS
ZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVp
bGQpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXI6OmFwcGx5KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZU1hYzo6cGFpbnRQcm9ncmVzc0Jhcik6CisgICAgICAgICogcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseUNsaXBwaW5nVG9Db250ZXh0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpidWlsZFByaW1pdGl2ZXMpOgorICAgICAgICAq
IHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmFwcGx5UmVzb3VyY2UpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6Y3JlYXRlVGlsZUltYWdlKToKKyAg
ICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
SW1hZ2U6OmRyYXdQYXR0ZXJuRm9yQ29udGFpbmVyKToKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3Mv
ZmlsdGVycy9TVkdGRUltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFSW1hZ2U6OnBsYXRm
b3JtQXBwbHlTb2Z0d2FyZSk6CisKIDIwMTUtMTEtMDYgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxt
YXJpb0BlbmRsZXNzbS5jb20+CiAKICAgICAgICAgTGF5b3V0IFRlc3QgYWNjZXNzaWJpbGl0eS93
aW4vbGlua2VkLWVsZW1lbnRzLmh0bWwgaXMgY3Jhc2hpbmcgb24gd2luIGRlYnVnCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggZmI0ZDcwODM3OGM2NWRhZDM5MTI0YjAzODE4YzdiYmZiZmZmOTljNy4uZWJiMTA3Yjhj
MGQ3OTUxMGI3MzNlMTI4MGIyYTliY2Y4YmFkYTJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDE1LTExLTA2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFVzZSBDb2xvclNwYWNlU1JHQiBmb3IgaW1hZ2UgYnVmZmVycyBldmVyeXdoZXJl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA5OTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb2xvclNw
YWNlU1JHQiBhbmQgQ29sb3JTcGFjZURldmljZVJHQiBhcmUgZXF1aXZhbGVudCBub3csIHNvIGNv
bnZlcnQKKyAgICAgICAgY29kZSB0aGF0IGNyZWF0ZXMgaW1hZ2UgYnVmZmVycyB0YWdnZWQgd2l0
aCBDb2xvclNwYWNlRGV2aWNlUkdCIHRvIHVzZSBDb2xvclNwYWNlU1JHQi4KKworICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllckJhY2tpbmdTdG9yZTo6c3dhcFRvVmFsaWRGcm9udEJ1ZmZlcik6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBf
dGFrZVZpZXdTbmFwc2hvdF0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NuYXBzaG90UmVjdDpp
bnRvSW1hZ2VPZldpZHRoOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAyMDE1LTExLTA2ICBQaGls
aXAgQ2hpbWVudG8gIDxwaGlsaXAuY2hpbWVudG9AZ21haWwuY29tPgogCiAgICAgICAgIFtHVEtd
IEZhaWxzIHRvIGxpbmsgbGlid2Via2l0Mmd0a2luamVjdGVkYnVuZGxlLnNvIG9uIE9TWApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5j
cHAKaW5kZXggMjMwOWY1ZGQ1ZGQ1NmY2OGYxZTFlZTQ2ZTVjZTE3YTQ3MTY2NzcxZi4uOWFiYTFi
OTc4MThmYTRhOWRmZTUzYTNkNGU5OThhN2RkNzhkMGI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBAIC02NDAsNyAr
NjQwLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBHcmFwaGljc0NvbnRleHQ6OmNy
ZWF0ZUNvbXBhdGlibGVCdWZmZXIoY29uc3QgRmxvYXQKICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJh
bnNmb3JtID0gZ2V0Q1RNKERlZmluaXRlbHlJbmNsdWRlRGV2aWNlU2NhbGUpOwogICAgIEZsb2F0
U2l6ZSBzY2FsZWRTaXplKHN0YXRpY19jYXN0PGludD4oY2VpbChzaXplLndpZHRoKCkgKiB0cmFu
c2Zvcm0ueFNjYWxlKCkpKSwgc3RhdGljX2Nhc3Q8aW50PihjZWlsKHNpemUuaGVpZ2h0KCkgKiB0
cmFuc2Zvcm0ueVNjYWxlKCkpKSk7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+
IGJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGVDb21wYXRpYmxlQnVmZmVyKHNjYWxlZFNpemUs
IDEsIENvbG9yU3BhY2VEZXZpY2VSR0IsICp0aGlzLCBoYXNBbHBoYSk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEltYWdlQnVmZmVyPiBidWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlQ29tcGF0aWJs
ZUJ1ZmZlcihzY2FsZWRTaXplLCAxLCBDb2xvclNwYWNlU1JHQiwgKnRoaXMsIGhhc0FscGhhKTsK
ICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCmluZGV4IDM2NjAzYjc5Zjhk
MGE3ZTkyNzA3YzI1YzQ2ZDI0ZmQzZDllNTA1MzAuLjc1OGE5ZWEyODVlODNkYmFmYmJhMDQ0NmMz
Y2NiNWY1ZWQ2ZWU2OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VCdWZmZXIuaApAQCAtNjksNyArNjksNyBAQCBjbGFzcyBJbWFnZUJ1ZmZlciB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICAvLyBXaWxsIHJldHVybiBhIG51bGwgcG9pbnRlciBvbiBhbGxvY2F0
aW9uIGZhaWx1cmUuCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gY3Jl
YXRlKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBm
bG9hdCByZXNvbHV0aW9uU2NhbGUgPSAxLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xvclNw
YWNlRGV2aWNlUkdCKQorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNy
ZWF0ZShjb25zdCBGbG9hdFNpemUmIHNpemUsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwg
ZmxvYXQgcmVzb2x1dGlvblNjYWxlID0gMSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gQ29sb3JT
cGFjZVNSR0IpCiAgICAgewogICAgICAgICBib29sIHN1Y2Nlc3MgPSBmYWxzZTsKICAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBidWZmZXIobmV3IEltYWdlQnVmZmVyKHNpemUs
IHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwgcmVuZGVyaW5nTW9kZSwgc3VjY2VzcykpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvQml0bWFwSW1h
Z2VDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9CaXRtYXBJbWFn
ZUNHLmNwcAppbmRleCA1OWE4Y2RiZGU2ZGE1MjllYzUxMWNjYzIyMGM0NzI4MDgxMDMyYmNjLi5m
MDgwZWJmZWRkYjZhMTRkNTFhYTViY2NlNjhjZGJlYmE5MzhiZTM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9CaXRtYXBJbWFnZUNHLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9CaXRtYXBJbWFnZUNHLmNwcApAQCAt
MTU1LDcgKzE1NSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNoZWNrRm9yU29saWRDb2xvcigpCiAg
ICAgLy8gQ3VycmVudGx5IHdlIG9ubHkgY2hlY2sgZm9yIHNvbGlkIGNvbG9yIGluIHRoZSBpbXBv
cnRhbnQgc3BlY2lhbCBjYXNlIG9mIGEgMXgxIGltYWdlLgogICAgIGlmIChDR0ltYWdlR2V0V2lk
dGgoaW1hZ2UpID09IDEgJiYgQ0dJbWFnZUdldEhlaWdodChpbWFnZSkgPT0gMSkgewogICAgICAg
ICB1bnNpZ25lZCBjaGFyIHBpeGVsWzRdOyAvLyBSR0JBCi0gICAgICAgIFJldGFpblB0cjxDR0Nv
bnRleHRSZWY+IGJpdG1hcENvbnRleHQgPSBhZG9wdENGKENHQml0bWFwQ29udGV4dENyZWF0ZShw
aXhlbCwgMSwgMSwgOCwgc2l6ZW9mKHBpeGVsKSwgZGV2aWNlUkdCQ29sb3JTcGFjZVJlZigpLAor
ICAgICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBiaXRtYXBDb250ZXh0ID0gYWRvcHRDRihD
R0JpdG1hcENvbnRleHRDcmVhdGUocGl4ZWwsIDEsIDEsIDgsIHNpemVvZihwaXhlbCksIHNSR0JD
b2xvclNwYWNlUmVmKCksCiAgICAgICAgICAgICBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZExh
c3QgfCBrQ0dCaXRtYXBCeXRlT3JkZXIzMkJpZykpOwogICAgICAgICBpZiAoIWJpdG1hcENvbnRl
eHQpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9Db2xvckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0NvbG9yQ0cuY3BwCmluZGV4IDhhN2ZlYmVkNTQwODM3ZWQxMjMwMGQ3YjI4YjM3
YmFiNzg2ZmZmMzUuLjg5M2U2NzQ0Mzk2ZmJhNzZhZDE5YjU4ZWU1ZWRlYmIxMTBiMzdkNTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCkBA
IC02Nyw2ICs2Nyw3IEBAIENvbG9yOjpDb2xvcihDR0NvbG9yUmVmIGNvbG9yKQogICAgIHNpemVf
dCBudW1Db21wb25lbnRzID0gQ0dDb2xvckdldE51bWJlck9mQ29tcG9uZW50cyhjb2xvcik7CiAg
ICAgY29uc3QgQ0dGbG9hdCogY29tcG9uZW50cyA9IENHQ29sb3JHZXRDb21wb25lbnRzKGNvbG9y
KTsKICNlbHNlCisgICAgLy8gRklYTUU6IGNhbiB3ZSByZW1vdmUgdGhpcz8KICAgICBSZXRhaW5Q
dHI8Q0dDb2xvclJlZj4gY29ycmVjdGVkQ29sb3IgPSBhZG9wdENGKGNyZWF0ZUNHQ29sb3JXaXRo
RGV2aWNlUkdCQShjb2xvcikpOwogICAgIGlmICghY29ycmVjdGVkQ29sb3IpCiAgICAgICAgIGNv
cnJlY3RlZENvbG9yID0gY29sb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggMzYwZTM4N2NjODMx
YTYzMDc3NjQzM2JmNjE1Y2M4YmNjODNlOGQ1Zi4uMmU1OWQ1YzFlNDgxYzcxZjBjYjAxZjAwOWZl
ODUxNmFmN2NiYzc4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcApAQCAtODEsOSArODEsNiBAQCBDR0Nv
bG9yU3BhY2VSZWYgZGV2aWNlUkdCQ29sb3JTcGFjZVJlZigpCiAKIENHQ29sb3JTcGFjZVJlZiBz
UkdCQ29sb3JTcGFjZVJlZigpCiB7Ci0jaWYgUExBVEZPUk0oSU9TKQotICAgIHJldHVybiBkZXZp
Y2VSR0JDb2xvclNwYWNlUmVmKCk7Ci0jZWxzZQogICAgIHN0YXRpYyBDR0NvbG9yU3BhY2VSZWYg
c1JHQlNwYWNlID0gQ0dDb2xvclNwYWNlQ3JlYXRlV2l0aE5hbWUoa0NHQ29sb3JTcGFjZVNSR0Ip
OwogI2lmIFBMQVRGT1JNKFdJTikKICAgICAvLyBPdXQtb2YtZGF0ZSBDRyBpbnN0YWxsYXRpb25z
IHdpbGwgbm90IGhvbm9yIGtDR0NvbG9yU3BhY2VTUkdCLiBUaGlzIGxvZ2ljIGF2b2lkcwpAQCAt
OTMsNyArOTAsNiBAQCBDR0NvbG9yU3BhY2VSZWYgc1JHQkNvbG9yU3BhY2VSZWYoKQogICAgICAg
ICBzUkdCU3BhY2UgPSBkZXZpY2VSR0JDb2xvclNwYWNlUmVmKCk7CiAjZW5kaWYgLy8gUExBVEZP
Uk0oV0lOKQogICAgIHJldHVybiBzUkdCU3BhY2U7Ci0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQog
fQogCiAjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwCmluZGV4IDMy
MjMyMDJiNzI3ODgyNzJmMTY4MDMxNjRiNjNiMTdiZGRhMjlhMGMuLjdjN2RlNWJiNzcwN2U5NTdi
NTJjNzk3OGUzODYwZWJlYzc2NTY1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwCkBAIC0zMTIsNyArMzEyLDcgQEAg
dm9pZCBJbWFnZUJ1ZmZlcjo6cHV0Qnl0ZUFycmF5KE11bHRpcGx5IG11bHRpcGxpZWQsIFVpbnQ4
Q2xhbXBlZEFycmF5KiBzb3VyY2UsIGMKICAgICAvLyBNYWtlIGEgY29weSBvZiB0aGUgc291cmNl
IHRvIGVuc3VyZSB0aGUgYml0cyBkb24ndCBjaGFuZ2UgYmVmb3JlIGJlaW5nIGRyYXduCiAgICAg
SW50U2l6ZSBzb3VyY2VDb3B5U2l6ZShzb3VyY2VSZWN0LndpZHRoKCksIHNvdXJjZVJlY3QuaGVp
Z2h0KCkpOwogICAgIC8vIEZJWE1FICgxNDk0MzEpOiBTaG91bGQgdGhpcyBJbWFnZUJ1ZmZlciBi
ZSB1bmNvbmRpdGlvbmFsbHkgdW5hY2NlbGVyYXRlZD8gTWFraW5nIGl0IG1hdGNoIHRoZSBjb250
ZXh0IHNlZW1zIHRvIGJyZWFrIHB1dERhdGEoKS4KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VC
dWZmZXI+IHNvdXJjZUNvcHkgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNvdXJjZUNvcHlTaXplLCBV
bmFjY2VsZXJhdGVkLCAxLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8SW1hZ2VCdWZmZXI+IHNvdXJjZUNvcHkgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNvdXJjZUNv
cHlTaXplLCBVbmFjY2VsZXJhdGVkLCAxLCBDb2xvclNwYWNlU1JHQik7CiAgICAgaWYgKCFzb3Vy
Y2VDb3B5KQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQppbmRleCAzYzYzOTc5YWUxYTA3ZGVlMjRj
NzQ3NDM0Zjg3YmUzNjMwZWQzNTI3Li5lNTI1ODEzYzhiYTEzZmFjYzE0NzZiMThiNDcwZTAxODVk
OWRiY2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9JT1N1cmZhY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvSU9TdXJmYWNlLm1tCkBAIC04OCw3ICs4OCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZh
Y2U+IElPU3VyZmFjZTo6Y3JlYXRlRnJvbUltYWdlKENHSW1hZ2VSZWYgaW1hZ2UpCiAgICAgc2l6
ZV90IHdpZHRoID0gQ0dJbWFnZUdldFdpZHRoKGltYWdlKTsKICAgICBzaXplX3QgaGVpZ2h0ID0g
Q0dJbWFnZUdldEhlaWdodChpbWFnZSk7CiAKLSAgICBhdXRvIHN1cmZhY2UgPSBJT1N1cmZhY2U6
OmNyZWF0ZShJbnRTaXplKHdpZHRoLCBoZWlnaHQpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAg
ICBhdXRvIHN1cmZhY2UgPSBJT1N1cmZhY2U6OmNyZWF0ZShJbnRTaXplKHdpZHRoLCBoZWlnaHQp
LCBDb2xvclNwYWNlU1JHQik7CiAgICAgYXV0byBzdXJmYWNlQ29udGV4dCA9IHN1cmZhY2UtPmVu
c3VyZVBsYXRmb3JtQ29udGV4dCgpOwogICAgIENHQ29udGV4dERyYXdJbWFnZShzdXJmYWNlQ29u
dGV4dCwgQ0dSZWN0TWFrZSgwLCAwLCB3aWR0aCwgaGVpZ2h0KSwgaW1hZ2UpOwogICAgIENHQ29u
dGV4dEZsdXNoKHN1cmZhY2VDb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9vZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZsb29kLmgKaW5kZXggMWFhNTY5YjVkYzRhYzJkY2Y1OWEx
NzYzOGQ3YmMwNjc4NmI5Y2Q5Zi4uNjIzNTQxZmU4MzlmZWE0MGM5ZjYzOWU2OWI4NjM5NmYzNDNh
MjFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUZsb29kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUZsb29kLmgKQEAgLTQxLDggKzQxLDggQEAgcHVibGljOgogI2lmICFVU0UoQ0cpCiAgICAg
Ly8gZmVGbG9vZCBkb2VzIG5vdCBwZXJmb3JtIGNvbG9yIGludGVycG9sYXRpb24gb2YgYW55IGtp
bmQsIHNvIHRoZSByZXN1bHQgaXMgYWx3YXlzIGluIHRoZSBjdXJyZW50CiAgICAgLy8gY29sb3Ig
c3BhY2UgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0
ZXJzLgotICAgIHZvaWQgc2V0T3BlcmF0aW5nQ29sb3JTcGFjZShDb2xvclNwYWNlKSBvdmVycmlk
ZSB7IEZpbHRlckVmZmVjdDo6c2V0UmVzdWx0Q29sb3JTcGFjZShDb2xvclNwYWNlRGV2aWNlUkdC
KTsgfQotICAgIHZvaWQgc2V0UmVzdWx0Q29sb3JTcGFjZShDb2xvclNwYWNlKSBvdmVycmlkZSB7
IEZpbHRlckVmZmVjdDo6c2V0UmVzdWx0Q29sb3JTcGFjZShDb2xvclNwYWNlRGV2aWNlUkdCKTsg
fQorICAgIHZvaWQgc2V0T3BlcmF0aW5nQ29sb3JTcGFjZShDb2xvclNwYWNlKSBvdmVycmlkZSB7
IEZpbHRlckVmZmVjdDo6c2V0UmVzdWx0Q29sb3JTcGFjZShDb2xvclNwYWNlU1JHQik7IH0KKyAg
ICB2b2lkIHNldFJlc3VsdENvbG9yU3BhY2UoQ29sb3JTcGFjZSkgb3ZlcnJpZGUgeyBGaWx0ZXJF
ZmZlY3Q6OnNldFJlc3VsdENvbG9yU3BhY2UoQ29sb3JTcGFjZVNSR0IpOyB9CiAjZW5kaWYKIAog
ICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUFwcGx5U29mdHdhcmUoKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmNwcApp
bmRleCBhMTg3Yjc0ZmZmZmRkNWE5NzQ0ZGM2OTdjY2M1ZWVhYzIwZWRmMzAyLi43ZmJmYTUyNGM3
NTgwNDdkMmQzMmY0YjNhOGUwMDQyOTZiNGYwMTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVGlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCkBAIC02NCw3ICs2NCw3IEBA
IHZvaWQgRkVUaWxlOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUoKQogICAgICAgICB0aWxlUmVjdC5z
Y2FsZShmaWx0ZXIuZmlsdGVyUmVzb2x1dGlvbigpLndpZHRoKCksIGZpbHRlci5maWx0ZXJSZXNv
bHV0aW9uKCkuaGVpZ2h0KCkpOwogICAgIH0KIAotICAgIGF1dG8gdGlsZUltYWdlID0gU1ZHUmVu
ZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIodGlsZVJlY3QsIHRpbGVSZWN0LCBDb2xv
clNwYWNlRGV2aWNlUkdCLCBmaWx0ZXIoKS5yZW5kZXJpbmdNb2RlKCkpOworICAgIGF1dG8gdGls
ZUltYWdlID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIodGlsZVJlY3Qs
IHRpbGVSZWN0LCBDb2xvclNwYWNlU1JHQiwgZmlsdGVyKCkucmVuZGVyaW5nTW9kZSgpKTsKICAg
ICBpZiAoIXRpbGVJbWFnZSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHAKaW5k
ZXggMzE2NDBjM2Q2NzQ4MDQ3OTViZjJhM2RhODhiOTM1ZDk0OTRjNDA1ZC4uMWRjYjBjYjA2MGNm
MmI4NDhiODlmMDU3YzQ2MTk5ZTY1MTM2MzY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcApAQCAtNDYs
NyArNDYsNyBAQCBGaWx0ZXJFZmZlY3Q6OkZpbHRlckVmZmVjdChGaWx0ZXImIGZpbHRlcikKICAg
ICAsIG1faGFzSGVpZ2h0KGZhbHNlKQogICAgICwgbV9jbGlwc1RvQm91bmRzKHRydWUpCiAgICAg
LCBtX29wZXJhdGluZ0NvbG9yU3BhY2UoQ29sb3JTcGFjZUxpbmVhclJHQikKLSAgICAsIG1fcmVz
dWx0Q29sb3JTcGFjZShDb2xvclNwYWNlRGV2aWNlUkdCKQorICAgICwgbV9yZXN1bHRDb2xvclNw
YWNlKENvbG9yU3BhY2VTUkdCKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5oCmluZGV4IGU0NDYyNTUy
Y2JjODUwMDgzNjEzZWY1ZjJkY2YyNGQ2MzJiNDg4ODUuLjM5NjlmYzZjMjg4NWNkYjMxYWU5YWQ2
ZWY5NWIwM2U5ZTY2ZDhjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5oCkBAIC00NSw3ICs0NSw3IEBAIHBy
aXZhdGU6CiAgICAgU291cmNlR3JhcGhpYyhGaWx0ZXImIGZpbHRlcikKICAgICAgICAgOiBGaWx0
ZXJFZmZlY3QoZmlsdGVyKQogICAgIHsKLSAgICAgICAgc2V0T3BlcmF0aW5nQ29sb3JTcGFjZShD
b2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICAgICAgc2V0T3BlcmF0aW5nQ29sb3JTcGFjZShDb2xv
clNwYWNlU1JHQik7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAKaW5kZXggZmQ1MDllOGVhZDU5Njk3ZDQ2MGQzOGQz
MTNlM2UwNDE2ZmE2NTg3Ny4uMDFjN2YyMDY0OGJlYjgzMTA3NTIyZWM0N2M5YThiZTBhMTk4NmM1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRl
cmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmlsdGVyRWZmZWN0UmVuZGVy
ZXIuY3BwCkBAIC0yODQsNyArMjg0LDcgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVp
bGQoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMKICAgICAg
ICAgICAgIC8vIFVubGlrZSBTVkcgRmlsdGVycyBhbmQgQ1NTRmlsdGVySW1hZ2VzLCBmaWx0ZXIg
ZnVuY3Rpb25zIG9uIHRoZSBmaWx0ZXIKICAgICAgICAgICAgIC8vIHByb3BlcnR5IGFwcGxpZWQg
aGVyZSBzaG91bGQgbm90IGNsaXAgdG8gdGhlaXIgcHJpbWl0aXZlIHN1YnJlZ2lvbnMuCiAgICAg
ICAgICAgICBlZmZlY3QtPnNldENsaXBzVG9Cb3VuZHMoY29uc3VtZXIgPT0gRmlsdGVyRnVuY3Rp
b24pOwotICAgICAgICAgICAgZWZmZWN0LT5zZXRPcGVyYXRpbmdDb2xvclNwYWNlKENvbG9yU3Bh
Y2VEZXZpY2VSR0IpOworICAgICAgICAgICAgZWZmZWN0LT5zZXRPcGVyYXRpbmdDb2xvclNwYWNl
KENvbG9yU3BhY2VTUkdCKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKGZpbHRlck9w
ZXJhdGlvbi50eXBlKCkgIT0gRmlsdGVyT3BlcmF0aW9uOjpSRUZFUkVOQ0UpIHsKICAgICAgICAg
ICAgICAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpLmFwcGVuZChwcmV2aW91c0VmZmVjdCk7CkBA
IC0zMzksNyArMzM5LDcgQEAgdm9pZCBGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YXBwbHkoKQogewog
ICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IGVmZmVjdCA9IGxhc3RFZmZlY3QoKTsKICAgICBlZmZl
Y3QtPmFwcGx5KCk7Ci0gICAgZWZmZWN0LT50cmFuc2Zvcm1SZXN1bHRDb2xvclNwYWNlKENvbG9y
U3BhY2VEZXZpY2VSR0IpOworICAgIGVmZmVjdC0+dHJhbnNmb3JtUmVzdWx0Q29sb3JTcGFjZShD
b2xvclNwYWNlU1JHQik7CiB9CiAKIExheW91dFJlY3QgRmlsdGVyRWZmZWN0UmVuZGVyZXI6OmNv
bXB1dGVTb3VyY2VJbWFnZVJlY3RGb3JEaXJ0eVJlY3QoY29uc3QgTGF5b3V0UmVjdCYgZmlsdGVy
Qm94UmVjdCwgY29uc3QgTGF5b3V0UmVjdCYgZGlydHlSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDkyYWYwY2Y1YWM1YTgzZjgwYjc2MTA3ZTQ1
ZmVmZjY2ZWRjYWYzYmQuLjFlNGQ1OGZmNzViMjU1NTM0YTBmNTBiZmQ1ZjFiZmNkOTI3MDUzOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTExNDEs
NyArMTE0MSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50UHJvZ3Jlc3NCYXIoY29uc3Qg
UmVuZGVyT2JqZWN0JiByZW5kZXJPYmplY3QsIGNvbnN0IFBhCiAgICAgdHJhY2tJbmZvLnJlc2Vy
dmVkID0gMDsKICAgICB0cmFja0luZm8uZmlsbGVyMSA9IDA7CiAKLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZUNvbXBhdGli
bGVCdWZmZXIoaW5mbGF0ZWRSZWN0LnNpemUoKSwgZGV2aWNlU2NhbGVGYWN0b3IsIENvbG9yU3Bh
Y2VEZXZpY2VSR0IsIHBhaW50SW5mby5jb250ZXh0KCksIHRydWUpOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlQ29tcGF0
aWJsZUJ1ZmZlcihpbmZsYXRlZFJlY3Quc2l6ZSgpLCBkZXZpY2VTY2FsZUZhY3RvciwgQ29sb3JT
cGFjZVNSR0IsIHBhaW50SW5mby5jb250ZXh0KCksIHRydWUpOwogICAgIGlmICghaW1hZ2VCdWZm
ZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHAKaW5kZXggNWY2M2Y1
NjU2ZDkyOGZjNDM3MjQ2YTdjMzUzYWUwOTYzNzM1NTg2ZS4uYmE3MTJkY2JmMTZhMTJjNTk0MTFl
ZWM1OWI0ZmQxN2ZkYjNjZjk0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcApAQCAtMTQxLDcgKzE0MSw3
IEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseUNsaXBwaW5nVG9Db250ZXh0
KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjCiAKICAgICBpZiAoc2hvdWxkQ3JlYXRlQ2xpcHBl
ck1hc2tJbWFnZSAmJiAhcmVwYWludFJlY3QuaXNFbXB0eSgpKSB7CiAgICAgICAgIC8vIEZJWE1F
ICgxNDk0NjkpOiBUaGlzIGltYWdlIGJ1ZmZlciBzaG91bGQgbm90IGJlIHVuY29uZGl0aW9uYWxs
eSB1bmFjY2VsZXJhdGVkLiBNYWtpbmcgaXQgbWF0Y2ggdGhlIGNvbnRleHQgYnJlYWtzIG5lc3Rl
ZCBjbGlwcGluZywgdGhvdWdoLgotICAgICAgICBjbGlwcGVyTWFza0ltYWdlID0gU1ZHUmVuZGVy
aW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIocmVwYWludFJlY3QsIGFic29sdXRlVHJhbnNm
b3JtLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBVbmFjY2VsZXJhdGVkKTsKKyAgICAgICAgY2xpcHBl
ck1hc2tJbWFnZSA9IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKHJlcGFp
bnRSZWN0LCBhYnNvbHV0ZVRyYW5zZm9ybSwgQ29sb3JTcGFjZVNSR0IsIFVuYWNjZWxlcmF0ZWQp
OwogICAgICAgICBpZiAoIWNsaXBwZXJNYXNrSW1hZ2UpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSZXNvdXJjZUZpbHRlci5jcHAKaW5kZXggNGYzYmQ3ODgyN2M1NjIwZDE1Yjc2MjdmMjZmNjVl
YTRhNzBjZjFhMy4uNDVkMjI5ZWNkNGE1M2U2ODM4MTUyNDdkNjgxMTc5YTEzY2NkOWIzYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZp
bHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNv
dXJjZUZpbHRlci5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFNWR0ZpbHRl
ckJ1aWxkZXI+IFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpidWlsZFByaW1pdGl2ZXMoU1ZHRmkK
ICAgICAgICAgZWxlbWVudC5zZXRTdGFuZGFyZEF0dHJpYnV0ZXMoZWZmZWN0LmdldCgpKTsKICAg
ICAgICAgZWZmZWN0LT5zZXRFZmZlY3RCb3VuZGFyaWVzKFNWR0xlbmd0aENvbnRleHQ6OnJlc29s
dmVSZWN0YW5nbGU8U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPigmZWxlbWVu
dCwgZmlsdGVyRWxlbWVudCgpLnByaW1pdGl2ZVVuaXRzKCksIHRhcmdldEJvdW5kaW5nQm94KSk7
CiAgICAgICAgIGlmIChlbGVtZW50LnJlbmRlcmVyKCkpCi0gICAgICAgICAgICBlZmZlY3QtPnNl
dE9wZXJhdGluZ0NvbG9yU3BhY2UoZWxlbWVudC5yZW5kZXJlcigpLT5zdHlsZSgpLnN2Z1N0eWxl
KCkuY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycygpID09IENJX0xJTkVBUlJHQiA/IENvbG9yU3Bh
Y2VMaW5lYXJSR0IgOiBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICAgICAgICAgIGVmZmVjdC0+
c2V0T3BlcmF0aW5nQ29sb3JTcGFjZShlbGVtZW50LnJlbmRlcmVyKCktPnN0eWxlKCkuc3ZnU3R5
bGUoKS5jb2xvckludGVycG9sYXRpb25GaWx0ZXJzKCkgPT0gQ0lfTElORUFSUkdCID8gQ29sb3JT
cGFjZUxpbmVhclJHQiA6IENvbG9yU3BhY2VTUkdCKTsKICAgICAgICAgYnVpbGRlci0+YWRkKGVs
ZW1lbnQucmVzdWx0KCksIFdURjo6bW92ZShlZmZlY3QpKTsKICAgICB9CiAgICAgcmV0dXJuIGJ1
aWxkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlR3JhZGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAppbmRleCBkYzVkMjc1MjgxZjQwMzM3YWU4MDQzM2Q1
MmYxYmNiNzBkODlhMjUwLi4wZTFiOTM2NzNiM2M5YjEwMGZhNmQyYTNhYjY3NDkwZDJiZmQ1MWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlR3JhZGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUmVzb3VyY2VHcmFkaWVudC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIGNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRleHRHcmFkaWVudChHcmFwaGljc0NvbnRl
eHQqJiBjb24KICAgICBBZmZpbmVUcmFuc2Zvcm0gYWJzb2x1dGVUcmFuc2Zvcm0gPSBTVkdSZW5k
ZXJpbmdDb250ZXh0OjpjYWxjdWxhdGVUcmFuc2Zvcm1hdGlvblRvT3V0ZXJtb3N0Q29vcmRpbmF0
ZVN5c3RlbSgqdGV4dFJvb3RCbG9jayk7CiAgICAgRmxvYXRSZWN0IHJlcGFpbnRSZWN0ID0gdGV4
dFJvb3RCbG9jay0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKTsKIAotICAgIGF1dG8g
bWFza0ltYWdlID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIocmVwYWlu
dFJlY3QsIGFic29sdXRlVHJhbnNmb3JtLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBjb250ZXh0LT5y
ZW5kZXJpbmdNb2RlKCkpOworICAgIGF1dG8gbWFza0ltYWdlID0gU1ZHUmVuZGVyaW5nQ29udGV4
dDo6Y3JlYXRlSW1hZ2VCdWZmZXIocmVwYWludFJlY3QsIGFic29sdXRlVHJhbnNmb3JtLCBDb2xv
clNwYWNlU1JHQiwgY29udGV4dC0+cmVuZGVyaW5nTW9kZSgpKTsKICAgICBpZiAoIW1hc2tJbWFn
ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCmluZGV4IDliN2I5YWMy
YjM0YmZjM2E1ODMyYjNkYWMxYmE5Nzc4ZDk0NzM5YWEuLmI0MWJjN2EyYTNhZTliY2UzNmZhY2E1
MWYyMzMxN2FmMmY4YTU4MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCkBAIC02OCw3ICs2OCw3IEBAIGJv
b2wgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyRWxlbWVudCYg
cmVuZGVyZXIsIGNvbnN0IFJlbmRlCiAKICAgICBpZiAoIW1hc2tlckRhdGEtPm1hc2tJbWFnZSAm
JiAhcmVwYWludFJlY3QuaXNFbXB0eSgpKSB7CiAgICAgICAgIGNvbnN0IFNWR1JlbmRlclN0eWxl
JiBzdmdTdHlsZSA9IHN0eWxlKCkuc3ZnU3R5bGUoKTsKLSAgICAgICAgQ29sb3JTcGFjZSBjb2xv
clNwYWNlID0gc3ZnU3R5bGUuY29sb3JJbnRlcnBvbGF0aW9uKCkgPT0gQ0lfTElORUFSUkdCID8g
Q29sb3JTcGFjZUxpbmVhclJHQiA6IENvbG9yU3BhY2VEZXZpY2VSR0I7CisgICAgICAgIENvbG9y
U3BhY2UgY29sb3JTcGFjZSA9IHN2Z1N0eWxlLmNvbG9ySW50ZXJwb2xhdGlvbigpID09IENJX0xJ
TkVBUlJHQiA/IENvbG9yU3BhY2VMaW5lYXJSR0IgOiBDb2xvclNwYWNlU1JHQjsKICAgICAgICAg
Ly8gRklYTUUgKDE0OTQ3MCk6IFRoaXMgaW1hZ2UgYnVmZmVyIHNob3VsZCBub3QgYmUgdW5jb25k
aXRpb25hbGx5IHVuYWNjZWxlcmF0ZWQuIE1ha2luZyBpdCBtYXRjaCB0aGUgY29udGV4dCBicmVh
a3MgYWxwaGEgbWFza2luZywgdGhvdWdoLgogICAgICAgICBtYXNrZXJEYXRhLT5tYXNrSW1hZ2Ug
PSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihyZXBhaW50UmVjdCwgYWJz
b2x1dGVUcmFuc2Zvcm0sIGNvbG9yU3BhY2UsIFVuYWNjZWxlcmF0ZWQpOwogICAgICAgICBpZiAo
IW1hc2tlckRhdGEtPm1hc2tJbWFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAppbmRleCAxMzY0MDJmOTZh
MTMwMmQ2MjE4NzgwN2YyYjExNjZiOTRhZDhhNDNmLi5jYzJiNGQ2NTE5NDYyMThlNDkzZTM0ZWFj
NDE0YjcxZDBiZDQxNmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCkBAIC0yNDgsNyArMjQ4LDcgQEAg
Ym9vbCBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmJ1aWxkVGlsZUltYWdlVHJhbnNmb3JtKFJl
bmRlckVsZW1lbnQmIHJlbmRlcmVyLAogc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBSZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm46OmNyZWF0ZVRpbGVJbWFnZShjb25zdCBQYXR0ZXJuQXR0cmli
dXRlcyYgYXR0cmlidXRlcywgY29uc3QgRmxvYXRSZWN0JiB0aWxlQm91bmRhcmllcywgY29uc3Qg
RmxvYXRSZWN0JiBhYnNvbHV0ZVRpbGVCb3VuZGFyaWVzLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0m
IHRpbGVJbWFnZVRyYW5zZm9ybSwgRmxvYXRSZWN0JiBjbGFtcGVkQWJzb2x1dGVUaWxlQm91bmRh
cmllcywgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlKSBjb25zdAogewogICAgIGNsYW1wZWRB
YnNvbHV0ZVRpbGVCb3VuZGFyaWVzID0gSW1hZ2VCdWZmZXI6OmNsYW1wZWRSZWN0KGFic29sdXRl
VGlsZUJvdW5kYXJpZXMpOwotICAgIGF1dG8gdGlsZUltYWdlID0gU1ZHUmVuZGVyaW5nQ29udGV4
dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoYWJzb2x1dGVUaWxlQm91bmRhcmllcywgY2xhbXBlZEFic29s
dXRlVGlsZUJvdW5kYXJpZXMsIENvbG9yU3BhY2VEZXZpY2VSR0IsIHJlbmRlcmluZ01vZGUpOwor
ICAgIGF1dG8gdGlsZUltYWdlID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZm
ZXIoYWJzb2x1dGVUaWxlQm91bmRhcmllcywgY2xhbXBlZEFic29sdXRlVGlsZUJvdW5kYXJpZXMs
IENvbG9yU3BhY2VTUkdCLCByZW5kZXJpbmdNb2RlKTsKICAgICBpZiAoIXRpbGVJbWFnZSkKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9n
cmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1h
Z2UuY3BwCmluZGV4IDc1NDRhNzZmMzVmMzVkYTNhYTU5ZGIyNzU4YTFhNjJhOWEyOWZmOTIuLjI4
NDMwNGYyYzUyMTEyMzYwYzcwYThhZmQyNmFmMGE3ZGEyN2Y4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU1ZHSW1h
Z2U6OmRyYXdQYXR0ZXJuRm9yQ29udGFpbmVyKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29u
c3QgRmxvYXRTaXplCiAgICAgRmxvYXRSZWN0IGltYWdlQnVmZmVyU2l6ZSA9IHpvb21lZENvbnRh
aW5lclJlY3Q7CiAgICAgaW1hZ2VCdWZmZXJTaXplLnNjYWxlKGltYWdlQnVmZmVyU2NhbGUud2lk
dGgoKSwgaW1hZ2VCdWZmZXJTY2FsZS5oZWlnaHQoKSk7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8
SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGVDb21wYXRpYmxlQnVmZmVy
KGV4cGFuZGVkSW50U2l6ZShpbWFnZUJ1ZmZlclNpemUuc2l6ZSgpKSwgMSwgQ29sb3JTcGFjZURl
dmljZVJHQiwgY29udGV4dCwgdHJ1ZSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVy
PiBidWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlQ29tcGF0aWJsZUJ1ZmZlcihleHBhbmRlZElu
dFNpemUoaW1hZ2VCdWZmZXJTaXplLnNpemUoKSksIDEsIENvbG9yU3BhY2VTUkdCLCBjb250ZXh0
LCB0cnVlKTsKICAgICBpZiAoIWJ1ZmZlcikgLy8gRmFpbGVkIHRvIGFsbG9jYXRlIGJ1ZmZlci4K
ICAgICAgICAgcmV0dXJuOwogICAgIGRyYXdGb3JDb250YWluZXIoYnVmZmVyLT5jb250ZXh0KCks
IGNvbnRhaW5lclNpemUsIHpvb20sIGltYWdlQnVmZmVyU2l6ZSwgem9vbWVkQ29udGFpbmVyUmVj
dCwgQ29sb3JTcGFjZURldmljZVJHQiwgQ29tcG9zaXRlU291cmNlT3ZlciwgQmxlbmRNb2RlTm9y
bWFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NW
R0ZFSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJ
bWFnZS5jcHAKaW5kZXggNjYxOGNmNTQ4NGU0OWVlMjFjY2NmNjc4OTRkMDAyZjYwZTE3ZTgwNi4u
NzNhZDBjNDYzNjJlZTE3MGY1MDlhYjY1YTU4NTVkNWUxNWI1YzY5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5jcHAKQEAgLTExMiw4
ICsxMTIsOCBAQCB2b2lkIEZFSW1hZ2U6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZSgpCiAgICAgSW50
UG9pbnQgcGFpbnRMb2NhdGlvbiA9IGFic29sdXRlUGFpbnRSZWN0KCkubG9jYXRpb24oKTsKICAg
ICBkZXN0UmVjdC5tb3ZlKC1wYWludExvY2F0aW9uLngoKSwgLXBhaW50TG9jYXRpb24ueSgpKTsK
IAotICAgIC8vIEZFSW1hZ2UgcmVzdWx0cyBhcmUgYWx3YXlzIGluIENvbG9yU3BhY2VEZXZpY2VS
R0IKLSAgICBzZXRSZXN1bHRDb2xvclNwYWNlKENvbG9yU3BhY2VEZXZpY2VSR0IpOworICAgIC8v
IEZFSW1hZ2UgcmVzdWx0cyBhcmUgYWx3YXlzIGluIENvbG9yU3BhY2VTUkdCCisgICAgc2V0UmVz
dWx0Q29sb3JTcGFjZShDb2xvclNwYWNlU1JHQik7CiAKICAgICBpZiAocmVuZGVyZXIpIHsKICAg
ICAgICAgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhYnNvbHV0ZVRyYW5zZm9ybSA9IGZpbHRlcigp
LmFic29sdXRlVHJhbnNmb3JtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCAyY2NiYWM3ZmM3ZjI3MDljMGZhYzJl
MjBlZWM5OWY0MGNiYWY5ZmM1Li5hMzZjMDY1MzhkZGNkMzQwZmY2YTc3MzQxNDM2ZWU0ZTY5YmY5
MDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmUubW0KQEAgLTEzOSw3ICsxMzksNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlbW90ZUxheWVy
QgogICAgICAgICBNYWNoU2VuZFJpZ2h0IHNlbmRSaWdodDsKICAgICAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShzZW5kUmlnaHQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBy
ZXN1bHQubV9mcm9udEJ1ZmZlci5zdXJmYWNlID0gSU9TdXJmYWNlOjpjcmVhdGVGcm9tU2VuZFJp
Z2h0KHNlbmRSaWdodCwgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgICAgIHJlc3VsdC5tX2Zy
b250QnVmZmVyLnN1cmZhY2UgPSBJT1N1cmZhY2U6OmNyZWF0ZUZyb21TZW5kUmlnaHQoc2VuZFJp
Z2h0LCBDb2xvclNwYWNlU1JHQik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNlbmRp
ZgpAQCAtMTg2LDcgKzE4Niw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OnN3YXBU
b1ZhbGlkRnJvbnRCdWZmZXIoKQogICAgICAgICBzdGQ6OnN3YXAobV9mcm9udEJ1ZmZlciwgbV9i
YWNrQnVmZmVyKTsKIAogICAgICAgICBpZiAoIW1fZnJvbnRCdWZmZXIuc3VyZmFjZSkKLSAgICAg
ICAgICAgIG1fZnJvbnRCdWZmZXIuc3VyZmFjZSA9IElPU3VyZmFjZTo6Y3JlYXRlKGV4cGFuZGVk
U2NhbGVkU2l6ZSwgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgICAgICAgICBtX2Zyb250QnVm
ZmVyLnN1cmZhY2UgPSBJT1N1cmZhY2U6OmNyZWF0ZShleHBhbmRlZFNjYWxlZFNpemUsIENvbG9y
U3BhY2VTUkdCKTsKIAogICAgICAgICBzZXRCdWZmZXJWb2xhdGlsaXR5KEJ1ZmZlclR5cGU6OkZy
b250LCBmYWxzZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KaW5kZXggZTBiYWIzNzNlY2VhYTgzOWRmOGMxNmQyMGEwOWY2MmI0YWNmOTVl
OC4uYjQ0ZDRjZWFiMzc5Y2I3OWUwNDczYWZkNzYzY2Y0OWM1NTE4Njg3MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTExNDYsNyAr
MTE0Niw3IEBAIC0gKFBhc3NSZWZQdHI8V2ViS2l0OjpWaWV3U25hcHNob3Q+KV90YWtlVmlld1Nu
YXBzaG90CiAgICAgQ0FUcmFuc2Zvcm0zRCB0cmFuc2Zvcm0gPSBDQVRyYW5zZm9ybTNETWFrZVNj
YWxlKGRldmljZVNjYWxlLCBkZXZpY2VTY2FsZSwgMSk7CiAKICNpZiBVU0UoSU9TVVJGQUNFKQot
ICAgIGF1dG8gc3VyZmFjZSA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlKFdlYkNvcmU6OmV4
cGFuZGVkSW50U2l6ZShzbmFwc2hvdFNpemUpLCBXZWJDb3JlOjpDb2xvclNwYWNlRGV2aWNlUkdC
KTsKKyAgICBhdXRvIHN1cmZhY2UgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShXZWJDb3Jl
OjpleHBhbmRlZEludFNpemUoc25hcHNob3RTaXplKSwgV2ViQ29yZTo6Q29sb3JTcGFjZVNSR0Ip
OwogICAgIENBUmVuZGVyU2VydmVyUmVuZGVyTGF5ZXJXaXRoVHJhbnNmb3JtKE1BQ0hfUE9SVF9O
VUxMLCBzZWxmLmxheWVyLmNvbnRleHQuY29udGV4dElkLCByZWludGVycHJldF9jYXN0PHVpbnQ2
NF90PihzZWxmLmxheWVyKSwgc3VyZmFjZS0+c3VyZmFjZSgpLCAwLCAwLCAmdHJhbnNmb3JtKTsK
IAogICAgIFJlZlB0cjxXZWJLaXQ6OlZpZXdTbmFwc2hvdD4gdmlld1NuYXBzaG90ID0gV2ViS2l0
OjpWaWV3U25hcHNob3Q6OmNyZWF0ZShudWxscHRyKTsKQEAgLTM3OTEsNyArMzc5MSw3IEBAIC0g
KHZvaWQpX3NuYXBzaG90UmVjdDooQ0dSZWN0KXJlY3RJblZpZXdDb29yZGluYXRlcyBpbnRvSW1h
Z2VPZldpZHRoOihDR0Zsb2F0KWltCiAjaWYgVVNFKElPU1VSRkFDRSkKICAgICAvLyBJZiB3ZSBh
cmUgcGFyZW50ZWQgYW5kIHRodXMgd29uJ3QgaW5jdXIgYSBzaWduaWZpY2FudCBwZW5hbHR5IGZy
b20gcGFnaW5nIGluIHRpbGVzLCBzbmFwc2hvdCB0aGUgdmlldyBoaWVyYXJjaHkgZGlyZWN0bHku
CiAgICAgaWYgKENBRGlzcGxheSAqZGlzcGxheSA9IHNlbGYud2luZG93LnNjcmVlbi5fZGlzcGxh
eSkgewotICAgICAgICBhdXRvIHN1cmZhY2UgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShX
ZWJDb3JlOjpleHBhbmRlZEludFNpemUoV2ViQ29yZTo6RmxvYXRTaXplKGltYWdlU2l6ZSkpLCBX
ZWJDb3JlOjpDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICAgICAgYXV0byBzdXJmYWNlID0gV2Vi
Q29yZTo6SU9TdXJmYWNlOjpjcmVhdGUoV2ViQ29yZTo6ZXhwYW5kZWRJbnRTaXplKFdlYkNvcmU6
OkZsb2F0U2l6ZShpbWFnZVNpemUpKSwgV2ViQ29yZTo6Q29sb3JTcGFjZVNSR0IpOwogICAgICAg
ICBDR0Zsb2F0IGltYWdlU2NhbGVJblZpZXdDb29yZGluYXRlcyA9IGltYWdlV2lkdGggLyByZWN0
SW5WaWV3Q29vcmRpbmF0ZXMuc2l6ZS53aWR0aDsKICAgICAgICAgQ0FUcmFuc2Zvcm0zRCB0cmFu
c2Zvcm0gPSBDQVRyYW5zZm9ybTNETWFrZVNjYWxlKGltYWdlU2NhbGVJblZpZXdDb29yZGluYXRl
cywgaW1hZ2VTY2FsZUluVmlld0Nvb3JkaW5hdGVzLCAxKTsKICAgICAgICAgdHJhbnNmb3JtID0g
Q0FUcmFuc2Zvcm0zRFRyYW5zbGF0ZSh0cmFuc2Zvcm0sIC1yZWN0SW5WaWV3Q29vcmRpbmF0ZXMu
b3JpZ2luLngsIC1yZWN0SW5WaWV3Q29vcmRpbmF0ZXMub3JpZ2luLnksIDApOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>