<?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>60190</bug_id>
          
          <creation_ts>2011-05-04 11:32:03 -0700</creation_ts>
          <short_desc>Can&apos;t save a link from &quot;Save Linked File to Download&quot; popup menu</short_desc>
          <delta_ts>2011-05-04 13:33:56 -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>New Bugs</component>
          <version>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>buildbot</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>398108</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-05-04 11:32:03 -0700</bug_when>
    <thetext>Can&apos;t save a link from &quot;Save Linked File to Download&quot; popup menu</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398110</commentid>
    <comment_count>1</comment_count>
      <attachid>92288</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-05-04 11:34:19 -0700</bug_when>
    <thetext>Created attachment 92288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398121</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-04 11:43:45 -0700</bug_when>
    <thetext>Attachment 92288 did not build on qt:
Build output: http://queues.webkit.org/results/8557610</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398124</commentid>
    <comment_count>3</comment_count>
      <attachid>92288</attachid>
    <who name="">mitz</who>
    <bug_when>2011-05-04 11:45:55 -0700</bug_when>
    <thetext>Comment on attachment 92288
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm:639
&gt; +    [request.get() setValue:(NSString*)webPage-&gt;userAgent() forHTTPHeaderField:@&quot;User-Agent&quot;];

Missing space after NSString</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398174</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-05-04 12:26:53 -0700</bug_when>
    <thetext>Attachment 92288 did not build on win:
Build output: http://queues.webkit.org/results/8577001</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398177</commentid>
    <comment_count>5</comment_count>
      <attachid>92299</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-05-04 12:29:30 -0700</bug_when>
    <thetext>Created attachment 92299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398211</commentid>
    <comment_count>6</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-05-04 13:33:56 -0700</bug_when>
    <thetext>Committed r85783: &lt;http://trac.webkit.org/changeset/85783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92288</attachid>
            <date>2011-05-04 11:34:19 -0700</date>
            <delta_ts>2011-05-04 12:29:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60190-20110504113418.patch</filename>
            <type>text/plain</type>
            <size>14576</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1NzY2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjAgQEAKKzIwMTEtMDUtMDQgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDYW4ndCBzYXZlIGEgbGluayBmcm9tICJTYXZlIExpbmtl
ZCBGaWxlIHRvIERvd25sb2FkIiBwb3B1cCBtZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDE5MAorCisgICAgICAgIE1ha2Ugc3VyZSB0aGF0IHN1
Z2dlc3RlZEZpbGVuYW1lRm9yUmVzb3VyY2VXaXRoVVJMIGFuZCByZXNvdXJjZURhdGFGb3JGcmFt
ZSBib3RoIGxvb2sKKyAgICAgICAgaW4gdGhlIGNhY2hlIGlmIHRoZSByZXNvdXJjZSBjYW4ndCBi
ZSBmb3VuZCBpbiB0aGUgY3VycmVudCB3ZWIgcGFnZS4gVGhpcyBtYXRjaGVzIFdlYktpdDEuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZTo6c3VnZ2VzdGVkRmlsZW5hbWVGb3JSZXNvdXJjZVdpdGhVUkwpOgorICAg
ICAgICBDYWxsIFdlYlBhZ2U6OmNhY2hlZFN1Z2dlc3RlZEZpbGVuYW1lRm9yVVJMIGlmIHdlIGNh
bid0IGZpbmQgYSByZXNvdXJjZSBpbiB0aGUgcGFnZS4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6cmVzb3VyY2VEYXRhRm9yRnJh
bWUpOgorICAgICAgICBNb3ZlIGNvZGUgb3V0IGZyb20gZ2V0UmVzb3VyY2VEYXRhRnJvbUZyYW1l
LgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldFJlc291cmNlRGF0YUZyb21GcmFtZSk6
CisgICAgICAgIENhbGwgcmVzb3VyY2VEYXRhRm9yRnJhbWUgZmlyc3QgYW5kIHRoZW4gY2FjaGVk
UmVzcG9uc2VEYXRhRm9yVVJMLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUhhc0xvY2FsRGF0YUZvclVSTCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlTUlNRVR5cGVGb3JVUkwpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUNhbkhhbmRsZVJlcXVlc3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjYWNoZWRTdWdnZXN0ZWRGaWxlbmFtZUZvclVSTCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlRGF0YUZvclVSTCk6CisgICAg
ICAgIEFkZCBzdHVicy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFn
ZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6Y2FjaGVkUmVzcG9uc2VGb3JVUkwpOgorICAgICAg
ICBBZGQgaGVscGVyIGZ1bmN0aW9uLgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNhY2hl
ZFN1Z2dlc3RlZEZpbGVuYW1lRm9yVVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2Fj
aGVkUmVzcG9uc2VNSU1FVHlwZUZvclVSTCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNh
Y2hlZFJlc3BvbnNlRGF0YUZvclVSTCk6CisgICAgICAgIENhbGwgaGVscGVyIGZ1bmN0aW9uLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtSGFzTG9jYWxEYXRhRm9yVVJMKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VNSU1FVHlwZUZvclVSTCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtQ2FuSGFuZGxlUmVxdWVzdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmNhY2hlZFN1Z2dlc3RlZEZpbGVuYW1lRm9yVVJMKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VEYXRhRm9yVVJMKToKKyAgICAgICAgQWRk
IHN0dWJzLgorICAgICAgICAKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBh
Z2VXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpjYWNoZWRSZXNwb25zZUZvclVSTCk6CisgICAg
ICAgIEFkZCBoZWxwZXIgZnVuY3Rpb24uCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGxh
dGZvcm1IYXNMb2NhbERhdGFGb3JVUkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjYWNo
ZWRSZXNwb25zZU1JTUVUeXBlRm9yVVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2Fj
aGVkU3VnZ2VzdGVkRmlsZW5hbWVGb3JVUkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpj
YWNoZWRSZXNwb25zZURhdGFGb3JVUkwpOgorICAgICAgICBDYWxsIGhlbHBlciBmdW5jdGlvbi4K
KwogMjAxMS0wNS0wNCAgSmVmZiBNaWxsZXIgIDxqZWZmbUBhcHBsZS5jb20+CiAKICAgICAgICAg
Rml4IHR5cG8gaW4gc3ZuIHByb3BlcnR5IGluIHI4NTc1Ni4KSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAkocmV2aXNpb24gODU3NTUpCisr
KyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02NDAsMTAgKzY0MCwxMCBAQCBTdHJpbmcgV2ViRnJhbWU6OnN1Z2dlc3RlZEZp
bGVuYW1lRm9yUmVzCiAKICAgICAvLyBOZXh0LCB0cnkgc3VicmVzb3VyY2VzLgogICAgIFJlZlB0
cjxBcmNoaXZlUmVzb3VyY2U+IHJlc291cmNlID0gbG9hZGVyLT5zdWJyZXNvdXJjZSh1cmwpOwot
ICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICAKLSAgICBy
ZXR1cm4gcmVzb3VyY2UtPnJlc3BvbnNlKCkuc3VnZ2VzdGVkRmlsZW5hbWUoKTsKKyAgICBpZiAo
cmVzb3VyY2UpCisgICAgICAgIHJldHVybiByZXNvdXJjZS0+cmVzcG9uc2UoKS5zdWdnZXN0ZWRG
aWxlbmFtZSgpOworCisgICAgcmV0dXJuIHBhZ2UoKS0+Y2FjaGVkU3VnZ2VzdGVkRmlsZW5hbWVG
b3JVUkwodXJsKTsKIH0KIAogU3RyaW5nIFdlYkZyYW1lOjptaW1lVHlwZUZvclJlc291cmNlV2l0
aFVSTChjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA4NTc1NSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTM4NiwxOCArMTM4NiwzNCBAQCB2b2lkIFdlYlBhZ2U6OmdldE1haW5SZXNvdXJjZURhdGFPZkZy
YW1lCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEYXRhQ2FsbGJhY2soZGF0YVJl
ZmVyZW5jZSwgY2FsbGJhY2tJRCkpOwogfQogCi12b2lkIFdlYlBhZ2U6OmdldFJlc291cmNlRGF0
YUZyb21GcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHJlc291cmNlVVJMLCB1
aW50NjRfdCBjYWxsYmFja0lEKQorc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiByZXNv
dXJjZURhdGFGb3JGcmFtZShGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHJlc291cmNlVVJMKQor
eworICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50
TG9hZGVyKCk7CisgICAgaWYgKCFsb2FkZXIpCisgICAgICAgIHJldHVybiAwOworCisgICAgUmVm
UHRyPEFyY2hpdmVSZXNvdXJjZT4gc3VicmVzb3VyY2UgPSBsb2FkZXItPnN1YnJlc291cmNlKHJl
c291cmNlVVJMKTsKKyAgICBpZiAoIXN1YnJlc291cmNlKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIHJldHVybiBzdWJyZXNvdXJjZS0+ZGF0YSgpOworfQorCit2b2lkIFdlYlBhZ2U6OmdldFJl
c291cmNlRGF0YUZyb21GcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHJlc291
cmNlVVJMU3RyaW5nLCB1aW50NjRfdCBjYWxsYmFja0lEKQogewogICAgIENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YVJlZmVyZW5jZTsKKyAgICBLVVJMIHJlc291cmNlVVJMKEtVUkwoKSwgcmVz
b3VyY2VVUkxTdHJpbmcpOwogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyOwogICAg
IGlmIChXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaGFyZWQoKS53ZWJGcmFtZShmcmFt
ZUlEKSkgewotICAgICAgICBpZiAoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5jb3Jl
RnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkpIHsKLSAgICAgICAgICAgIGlmIChS
ZWZQdHI8QXJjaGl2ZVJlc291cmNlPiBzdWJyZXNvdXJjZSA9IGxvYWRlci0+c3VicmVzb3VyY2Uo
S1VSTChLVVJMKCksIHJlc291cmNlVVJMKSkpIHsKLSAgICAgICAgICAgICAgICBpZiAoKGJ1ZmZl
ciA9IHN1YnJlc291cmNlLT5kYXRhKCkpKQotICAgICAgICAgICAgICAgICAgICBkYXRhUmVmZXJl
bmNlID0gQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4
X3QqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+c2l6ZSgpKTsKLSAgICAgICAgICAgIH0KKyAg
ICAgICAgYnVmZmVyID0gcmVzb3VyY2VEYXRhRm9yRnJhbWUoZnJhbWUtPmNvcmVGcmFtZSgpLCBy
ZXNvdXJjZVVSTCk7CisgICAgICAgIGlmICghYnVmZmVyKSB7CisgICAgICAgICAgICAvLyBUcnkg
dG8gZ2V0IHRoZSByZXNvdXJjZSBkYXRhIGZyb20gdGhlIGNhY2hlLgorICAgICAgICAgICAgYnVm
ZmVyID0gY2FjaGVkUmVzcG9uc2VEYXRhRm9yVVJMKHJlc291cmNlVVJMKTsKICAgICAgICAgfQor
CisgICAgICAgIGlmIChidWZmZXIpCisgICAgICAgICAgICBkYXRhUmVmZXJlbmNlID0gQ29yZUlQ
Qzo6RGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXIt
PmRhdGEoKSksIGJ1ZmZlci0+c2l6ZSgpKTsKICAgICB9CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRhdGFDYWxsYmFjayhkYXRhUmVmZXJlbmNlLCBjYWxsYmFja0lEKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlz
aW9uIDg1NzU1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMjkxLDcgKzI5MSw5IEBAIHB1YmxpYzoKICAgICAKICAgICBi
b29sIGhhc0xvY2FsRGF0YUZvclVSTChjb25zdCBXZWJDb3JlOjpLVVJMJik7CiAgICAgU3RyaW5n
IGNhY2hlZFJlc3BvbnNlTUlNRVR5cGVGb3JVUkwoY29uc3QgV2ViQ29yZTo6S1VSTCYpOwotICAg
IAorICAgIFN0cmluZyBjYWNoZWRTdWdnZXN0ZWRGaWxlbmFtZUZvclVSTChjb25zdCBXZWJDb3Jl
OjpLVVJMJik7CisgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IGNhY2hlZFJl
c3BvbnNlRGF0YUZvclVSTChjb25zdCBXZWJDb3JlOjpLVVJMJik7CisKICAgICBzdGF0aWMgYm9v
bCBjYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogCiAg
ICAgY2xhc3MgU2FuZGJveEV4dGVuc2lvblRyYWNrZXIgewpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCShyZXZpc2lv
biA4NTc1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFn
ZUd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMywyMyArMTAzLDM1IEBAIGJvb2wgV2ViUGFn
ZTo6cGVyZm9ybURlZmF1bHRCZWhhdmlvckZvcksKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9v
bCBXZWJQYWdlOjpwbGF0Zm9ybUhhc0xvY2FsRGF0YUZvclVSTChjb25zdCBXZWJDb3JlOjpLVVJM
JikKK2Jvb2wgV2ViUGFnZTo6cGxhdGZvcm1IYXNMb2NhbERhdGFGb3JVUkwoY29uc3QgS1VSTCYp
CiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudAorICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVN0cmluZyBXZWJQ
YWdlOjpjYWNoZWRSZXNwb25zZU1JTUVUeXBlRm9yVVJMKGNvbnN0IFdlYkNvcmU6OktVUkwmKQor
U3RyaW5nIFdlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlTUlNRVR5cGVGb3JVUkwoY29uc3QgS1VSTCYp
CiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudAorICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCiAg
ICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1ib29sIFdlYlBhZ2U6OnBsYXRmb3JtQ2FuSGFuZGxl
UmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKQorYm9vbCBXZWJQYWdlOjpw
bGF0Zm9ybUNhbkhhbmRsZVJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JikKIHsKLSAgICAv
LyBGSVhNRTogSW1wbGVtZW50CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAorU3RyaW5nIFdlYlBhZ2U6OmNhY2hlZFN1Z2dlc3RlZEZpbGVuYW1lRm9yVVJM
KGNvbnN0IEtVUkwmKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIFN0
cmluZygpOworfQorCitQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gV2ViUGFnZTo6Y2FjaGVkUmVz
cG9uc2VEYXRhRm9yVVJMKGNvbnN0IEtVUkwmKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQu
CisgICAgcmV0dXJuIDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQko
cmV2aXNpb24gODU3NTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dlYlBhZ2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTYzMywyMCArNjMzLDMyIEBAIGJvb2wg
V2ViUGFnZTo6cGxhdGZvcm1IYXNMb2NhbERhdGFGb3JVUkwKICAgICByZXR1cm4gY2FjaGVkUmVz
cG9uc2U7CiB9CiAKLVN0cmluZyBXZWJQYWdlOjpjYWNoZWRSZXNwb25zZU1JTUVUeXBlRm9yVVJM
KGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCkKK3N0YXRpYyBOU0NhY2hlZFVSTFJlc3BvbnNlICpj
YWNoZWRSZXNwb25zZUZvclVSTChXZWJQYWdlKiB3ZWJQYWdlLCBjb25zdCBLVVJMJiB1cmwpCiB7
Ci0gICAgTlNNdXRhYmxlVVJMUmVxdWVzdCogcmVxdWVzdCA9IFtbTlNNdXRhYmxlVVJMUmVxdWVz
dCBhbGxvY10gaW5pdFdpdGhVUkw6dXJsXTsKLSAgICBbcmVxdWVzdCBzZXRWYWx1ZTooTlNTdHJp
bmcqKXVzZXJBZ2VudCgpIGZvckhUVFBIZWFkZXJGaWVsZDpAIlVzZXItQWdlbnQiXTsKLSAgICBO
U0NhY2hlZFVSTFJlc3BvbnNlICpjYWNoZWRSZXNwb25zZTsKKyAgICBSZXRhaW5QdHI8TlNNdXRh
YmxlVVJMUmVxdWVzdD4gcmVxdWVzdChBZG9wdE5TLCBbW05TTXV0YWJsZVVSTFJlcXVlc3QgYWxs
b2NdIGluaXRXaXRoVVJMOnVybF0pOworICAgIFtyZXF1ZXN0LmdldCgpIHNldFZhbHVlOihOU1N0
cmluZyopd2ViUGFnZS0+dXNlckFnZW50KCkgZm9ySFRUUEhlYWRlckZpZWxkOkAiVXNlci1BZ2Vu
dCJdOworCiAjaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQogICAgIGlmIChDRlVSTFN0b3Jh
Z2VTZXNzaW9uUmVmIHN0b3JhZ2VTZXNzaW9uID0gUmVzb3VyY2VIYW5kbGU6OnByaXZhdGVCcm93
c2luZ1N0b3JhZ2VTZXNzaW9uKCkpCi0gICAgICAgIGNhY2hlZFJlc3BvbnNlID0gV0tDYWNoZWRS
ZXNwb25zZUZvclJlcXVlc3Qoc3RvcmFnZVNlc3Npb24sIHJlcXVlc3QpOwotICAgIGVsc2UKKyAg
ICAgICAgcmV0dXJuIFdLQ2FjaGVkUmVzcG9uc2VGb3JSZXF1ZXN0KHN0b3JhZ2VTZXNzaW9uLCBy
ZXF1ZXN0LmdldCgpKTsKICNlbmRpZgotICAgICAgICBjYWNoZWRSZXNwb25zZSA9IFtbTlNVUkxD
YWNoZSBzaGFyZWRVUkxDYWNoZV0gY2FjaGVkUmVzcG9uc2VGb3JSZXF1ZXN0OnJlcXVlc3RdOwot
ICAgIFtyZXF1ZXN0IHJlbGVhc2VdOwotICAgIAotICAgIHJldHVybiBbW2NhY2hlZFJlc3BvbnNl
IHJlc3BvbnNlXSBNSU1FVHlwZV07CisKKyAgICByZXR1cm4gW1tOU1VSTENhY2hlIHNoYXJlZFVS
TENhY2hlXSBjYWNoZWRSZXNwb25zZUZvclJlcXVlc3Q6cmVxdWVzdC5nZXQoKV07Cit9CisKK1N0
cmluZyBXZWJQYWdlOjpjYWNoZWRTdWdnZXN0ZWRGaWxlbmFtZUZvclVSTChjb25zdCBLVVJMJiB1
cmwpCit7CisgICAgcmV0dXJuIFtbY2FjaGVkUmVzcG9uc2VGb3JVUkwodGhpcywgdXJsKSByZXNw
b25zZV0gc3VnZ2VzdGVkRmlsZW5hbWVdOworfQorCitTdHJpbmcgV2ViUGFnZTo6Y2FjaGVkUmVz
cG9uc2VNSU1FVHlwZUZvclVSTChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgcmV0dXJuIFtbY2Fj
aGVkUmVzcG9uc2VGb3JVUkwodGhpcywgdXJsKSByZXNwb25zZV0gTUlNRVR5cGVdOworfQorCitQ
YXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gV2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VEYXRhRm9yVVJM
KGNvbnN0IEtVUkwmIHVybCkKK3sKKyAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjp3cmFwTlNEYXRh
KFtjYWNoZWRSZXNwb25zZUZvclVSTCh0aGlzLCB1cmwpIGRhdGFdKTsKIH0KIAogYm9vbCBXZWJQ
YWdlOjpwbGF0Zm9ybUNhbkhhbmRsZVJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0KQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0
L1dlYlBhZ2VRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAJKHJldmlzaW9uIDg1NzU1KQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI2NSwyMiArMjY1LDM1IEBAIGJvb2wgV2ViUGFnZTo6cGVyZm9ybURlZmF1bHRCZWhhdmlvckZv
cksKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBXZWJQYWdlOjpwbGF0Zm9ybUhhc0xvY2Fs
RGF0YUZvclVSTChjb25zdCBXZWJDb3JlOjpLVVJMJikKK2Jvb2wgV2ViUGFnZTo6cGxhdGZvcm1I
YXNMb2NhbERhdGFGb3JVUkwoY29uc3QgS1VSTCYpCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVu
dAorICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLVN0cmluZyBXZWJQYWdlOjpjYWNoZWRSZXNwb25zZU1JTUVUeXBl
Rm9yVVJMKGNvbnN0IFdlYkNvcmU6OktVUkwmKQorU3RyaW5nIFdlYlBhZ2U6OmNhY2hlZFJlc3Bv
bnNlTUlNRVR5cGVGb3JVUkwoY29uc3QgS1VSTCYpCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVu
dAorICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1i
b29sIFdlYlBhZ2U6OnBsYXRmb3JtQ2FuSGFuZGxlUmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmKQorYm9vbCBXZWJQYWdlOjpwbGF0Zm9ybUNhbkhhbmRsZVJlcXVlc3QoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JikKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50CisgICAgLy8g
RklYTUU6IEltcGxlbWVudC4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorU3RyaW5nIFdlYlBhZ2U6
OmNhY2hlZFN1Z2dlc3RlZEZpbGVuYW1lRm9yVVJMKGNvbnN0IEtVUkwmKQoreworICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIFN0cmluZygpOworfQorCitQYXNzUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gV2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VEYXRhRm9yVVJMKGNvbnN0IEtVUkwm
KQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIDA7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L3dpbi9XZWJQYWdlV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCShyZXZpc2lvbiA4NTc1NSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2MCwxMyArMjYwLDEzIEBAIGJvb2wgV2ViUGFnZTo6cGVyZm9ybURlZmF1bHRC
ZWhhdmlvckZvcksKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBXZWJQYWdlOjpwbGF0Zm9y
bUhhc0xvY2FsRGF0YUZvclVSTChjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwpCi17CiAjaWYgVVNF
KENGTkVUV09SSykKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25zZVJlZj4gY2Fj
aGVkUmVzcG9uc2VGb3JVUkwoV2ViUGFnZSogd2ViUGFnZSwgY29uc3QgS1VSTCYgdXJsKQorewog
ICAgIFJldGFpblB0cjxDRlVSTFJlZj4gY2ZVUkwoQWRvcHRDRiwgdXJsLmNyZWF0ZUNGVVJMKCkp
OwogICAgIFJldGFpblB0cjxDRk11dGFibGVVUkxSZXF1ZXN0UmVmPiByZXF1ZXN0KEFkb3B0Q0Ys
IENGVVJMUmVxdWVzdENyZWF0ZU11dGFibGUoMCwgY2ZVUkwuZ2V0KCksIGtDRlVSTFJlcXVlc3RD
YWNoZVBvbGljeVJlbG9hZElnbm9yaW5nQ2FjaGUsIDYwLCAwKSk7Ci0gICAgCi0gICAgUmV0YWlu
UHRyPENGU3RyaW5nUmVmPiB1c2VyQWdlbnQoQWRvcHRDRiwgdXNlckFnZW50KCkuY3JlYXRlQ0ZT
dHJpbmcoKSk7CisKKyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHVzZXJBZ2VudChBZG9wdENG
LCB3ZWJQYWdlLT51c2VyQWdlbnQoKS5jcmVhdGVDRlN0cmluZygpKTsKICAgICBDRlVSTFJlcXVl
c3RTZXRIVFRQSGVhZGVyRmllbGRWYWx1ZShyZXF1ZXN0LmdldCgpLCBDRlNUUigiVXNlci1BZ2Vu
dCIpLCB1c2VyQWdlbnQuZ2V0KCkpOwogCiAgICAgUmV0YWluUHRyPENGVVJMQ2FjaGVSZWY+IGNh
Y2hlOwpAQCAtMjc3LDQwICsyNzcsNTYgQEAgYm9vbCBXZWJQYWdlOjpwbGF0Zm9ybUhhc0xvY2Fs
RGF0YUZvclVSTAogI2VuZGlmCiAgICAgICAgIGNhY2hlLmFkb3B0Q0YoQ0ZVUkxDYWNoZUNvcHlT
aGFyZWRVUkxDYWNoZSgpKTsKIAotICAgIFJldGFpblB0cjxDRkNhY2hlZFVSTFJlc3BvbnNlUmVm
PiByZXNwb25zZShBZG9wdENGLCBDRlVSTENhY2hlQ29weVJlc3BvbnNlRm9yUmVxdWVzdChjYWNo
ZS5nZXQoKSwgcmVxdWVzdC5nZXQoKSkpOyAgICAKLSAgICByZXR1cm4gcmVzcG9uc2U7CisgICAg
UmV0YWluUHRyPENGQ2FjaGVkVVJMUmVzcG9uc2VSZWY+IHJlc3BvbnNlKEFkb3B0Q0YsIENGVVJM
Q2FjaGVDb3B5UmVzcG9uc2VGb3JSZXF1ZXN0KGNhY2hlLmdldCgpLCByZXF1ZXN0LmdldCgpKSk7
CisgICAgcmV0dXJuIHJlc3BvbnNlOyAgICAgICAgCit9CisjZW5kaWYKKworYm9vbCBXZWJQYWdl
OjpwbGF0Zm9ybUhhc0xvY2FsRGF0YUZvclVSTChjb25zdCBLVVJMJiB1cmwpCit7CisjaWYgVVNF
KENGTkVUV09SSykKKyAgICByZXR1cm4gY2FjaGVkUmVzcG9uc2VGb3JVUkwodGhpcywgdXJsKTsK
ICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9CiAKLVN0cmluZyBXZWJQYWdlOjpj
YWNoZWRSZXNwb25zZU1JTUVUeXBlRm9yVVJMKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCkKK1N0
cmluZyBXZWJQYWdlOjpjYWNoZWRSZXNwb25zZU1JTUVUeXBlRm9yVVJMKGNvbnN0IEtVUkwmIHVy
bCkKIHsKICNpZiBVU0UoQ0ZORVRXT1JLKQotICAgIFJldGFpblB0cjxDRlVSTFJlZj4gY2ZVUkwo
QWRvcHRDRiwgdXJsLmNyZWF0ZUNGVVJMKCkpOwotICAgIFJldGFpblB0cjxDRk11dGFibGVVUkxS
ZXF1ZXN0UmVmPiByZXF1ZXN0KEFkb3B0Q0YsIENGVVJMUmVxdWVzdENyZWF0ZU11dGFibGUoMCwg
Y2ZVUkwuZ2V0KCksIGtDRlVSTFJlcXVlc3RDYWNoZVBvbGljeVJlbG9hZElnbm9yaW5nQ2FjaGUs
IDYwLCAwKSk7Ci0gICAgCi0gICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiB1c2VyQWdlbnQoQWRv
cHRDRiwgdXNlckFnZW50KCkuY3JlYXRlQ0ZTdHJpbmcoKSk7Ci0gICAgQ0ZVUkxSZXF1ZXN0U2V0
SFRUUEhlYWRlckZpZWxkVmFsdWUocmVxdWVzdC5nZXQoKSwgQ0ZTVFIoIlVzZXItQWdlbnQiKSwg
dXNlckFnZW50LmdldCgpKTsKLQotICAgIFJldGFpblB0cjxDRlVSTENhY2hlUmVmPiBjYWNoZTsK
LSNpZiBVU0UoQ0ZVUkxTVE9SQUdFU0VTU0lPTlMpCi0gICAgaWYgKENGVVJMU3RvcmFnZVNlc3Np
b25SZWYgc3RvcmFnZVNlc3Npb24gPSBSZXNvdXJjZUhhbmRsZTo6cHJpdmF0ZUJyb3dzaW5nU3Rv
cmFnZVNlc3Npb24oKSkKLSAgICAgICAgY2FjaGUuYWRvcHRDRih3a0NvcHlVUkxDYWNoZShzdG9y
YWdlU2Vzc2lvbikpOwotICAgIGVsc2UKKyAgICBSZXRhaW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25z
ZVJlZj4gY2FjaGVkUmVzcG9uc2UgPSBjYWNoZWRSZXNwb25zZUZvclVSTCh0aGlzLCB1cmwpOwor
ICAgIENGVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UgPSBDRkNhY2hlZFVSTFJlc3BvbnNlR2V0V3Jh
cHBlZFJlc3BvbnNlKGNhY2hlZFJlc3BvbnNlLmdldCgpKTsKKyAgICByZXR1cm4gcmVzcG9uc2Ug
PyBDRlVSTFJlc3BvbnNlR2V0TUlNRVR5cGUocmVzcG9uc2UpIDogU3RyaW5nKCk7CisjZWxzZQor
ICAgIHJldHVybiBTdHJpbmcoKTsKICNlbmRpZgotICAgICAgICBjYWNoZS5hZG9wdENGKENGVVJM
Q2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKSk7Cit9CiAKLSAgICBSZXRhaW5QdHI8Q0ZDYWNoZWRV
UkxSZXNwb25zZVJlZj4gY2FjaGVkUmVzcG9uc2UoQWRvcHRDRiwgQ0ZVUkxDYWNoZUNvcHlSZXNw
b25zZUZvclJlcXVlc3QoY2FjaGUuZ2V0KCksIHJlcXVlc3QuZ2V0KCkpKTsKLSAgICAKK1N0cmlu
ZyBXZWJQYWdlOjpjYWNoZWRTdWdnZXN0ZWRGaWxlbmFtZUZvclVSTChjb25zdCBLVVJMJiB1cmwp
Cit7CisjaWYgVVNFKENGTkVUV09SSykKKyAgICBSZXRhaW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25z
ZVJlZj4gY2FjaGVkUmVzcG9uc2UgPSBjYWNoZWRSZXNwb25zZUZvclVSTCh0aGlzLCB1cmwpOwog
ICAgIENGVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UgPSBDRkNhY2hlZFVSTFJlc3BvbnNlR2V0V3Jh
cHBlZFJlc3BvbnNlKGNhY2hlZFJlc3BvbnNlLmdldCgpKTsKLSAgICAKLSAgICByZXR1cm4gcmVz
cG9uc2UgPyBDRlVSTFJlc3BvbnNlR2V0TUlNRVR5cGUocmVzcG9uc2UpIDogU3RyaW5nKCk7Cisg
ICAgaWYgKCFyZXNwb25zZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gc3VnZ2VzdGVkRmlsZW5hbWUoQWRvcHRDRiwgQ0ZVUkxSZXNwb25zZUNv
cHlTdWdnZXN0ZWRGaWxlbmFtZShyZXNwb25zZSkpOworCisgICAgcmV0dXJuIHN1Z2dlc3RlZEZp
bGVuYW1lLmdldCgpOwogI2Vsc2UKICAgICByZXR1cm4gU3RyaW5nKCk7CiAjZW5kaWYKIH0KIAor
UGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IFdlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlRGF0YUZvclVS
TChjb25zdCBLVVJMJikKK3sKKyAgICBSZXRhaW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25zZVJlZj4g
Y2FjaGVkUmVzcG9uc2UgPSBjYWNoZWRSZXNwb25zZUZvclVSTCh0aGlzLCB1cmwpOworICAgIENG
RGF0YVJlZiBkYXRhID0gQ0ZDYWNoZWRVUkxSZXNwb25zZUdldFJlY2VpdmVyRGF0YShjYWNoZWRS
ZXNwb25zZS5nZXQoKSk7CisgICAgaWYgKCFkYXRhKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IHJldHVybiBTaGFyZWRCdWZmZXI6OndyYXBDRkRhdGEoZGF0YS5nZXQoKSk7Cit9CisKIGJvb2wg
V2ViUGFnZTo6cGxhdGZvcm1DYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCkKIHsKICNpZiBVU0UoQ0ZORVRXT1JLKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92299</attachid>
            <date>2011-05-04 12:29:30 -0700</date>
            <delta_ts>2011-05-04 13:23:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60190-20110504122928.patch</filename>
            <type>text/plain</type>
            <size>14714</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1NzY2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjEgQEAKKzIwMTEtMDUtMDQgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDYW4ndCBzYXZlIGEgbGluayBmcm9tICJTYXZlIExpbmtl
ZCBGaWxlIHRvIERvd25sb2FkIiBwb3B1cCBtZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDE5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTM2
NzkyNz4KKworICAgICAgICBNYWtlIHN1cmUgdGhhdCBzdWdnZXN0ZWRGaWxlbmFtZUZvclJlc291
cmNlV2l0aFVSTCBhbmQgcmVzb3VyY2VEYXRhRm9yRnJhbWUgYm90aCBsb29rCisgICAgICAgIGlu
IHRoZSBjYWNoZSBpZiB0aGUgcmVzb3VyY2UgY2FuJ3QgYmUgZm91bmQgaW4gdGhlIGN1cnJlbnQg
d2ViIHBhZ2UuIFRoaXMgbWF0Y2hlcyBXZWJLaXQxLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OnN1Z2dlc3Rl
ZEZpbGVuYW1lRm9yUmVzb3VyY2VXaXRoVVJMKToKKyAgICAgICAgQ2FsbCBXZWJQYWdlOjpjYWNo
ZWRTdWdnZXN0ZWRGaWxlbmFtZUZvclVSTCBpZiB3ZSBjYW4ndCBmaW5kIGEgcmVzb3VyY2UgaW4g
dGhlIHBhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OnJlc291cmNlRGF0YUZvckZyYW1lKToKKyAgICAgICAgTW92ZSBjb2Rl
IG91dCBmcm9tIGdldFJlc291cmNlRGF0YUZyb21GcmFtZS4KKworICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpnZXRSZXNvdXJjZURhdGFGcm9tRnJhbWUpOgorICAgICAgICBDYWxsIHJlc291cmNl
RGF0YUZvckZyYW1lIGZpcnN0IGFuZCB0aGVuIGNhY2hlZFJlc3BvbnNlRGF0YUZvclVSTC4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6cGxhdGZvcm1IYXNMb2NhbERhdGFGb3JVUkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpjYWNoZWRSZXNwb25zZU1JTUVUeXBlRm9yVVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6cGxhdGZvcm1DYW5IYW5kbGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
Y2FjaGVkU3VnZ2VzdGVkRmlsZW5hbWVGb3JVUkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpjYWNoZWRSZXNwb25zZURhdGFGb3JVUkwpOgorICAgICAgICBBZGQgc3R1YnMuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisgICAgICAgIChXZWJL
aXQ6OmNhY2hlZFJlc3BvbnNlRm9yVVJMKToKKyAgICAgICAgQWRkIGhlbHBlciBmdW5jdGlvbi4K
KworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjYWNoZWRTdWdnZXN0ZWRGaWxlbmFtZUZvclVS
TCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlTUlNRVR5cGVGb3JV
UkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjYWNoZWRSZXNwb25zZURhdGFGb3JVUkwp
OgorICAgICAgICBDYWxsIGhlbHBlciBmdW5jdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9xdC9XZWJQYWdlUXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0
Zm9ybUhhc0xvY2FsRGF0YUZvclVSTCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNhY2hl
ZFJlc3BvbnNlTUlNRVR5cGVGb3JVUkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0
Zm9ybUNhbkhhbmRsZVJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjYWNoZWRT
dWdnZXN0ZWRGaWxlbmFtZUZvclVSTCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNhY2hl
ZFJlc3BvbnNlRGF0YUZvclVSTCk6CisgICAgICAgIEFkZCBzdHVicy4KKyAgICAgICAgCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Y2FjaGVkUmVzcG9uc2VGb3JVUkwpOgorICAgICAgICBBZGQgaGVscGVyIGZ1bmN0aW9u
LgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtSGFzTG9jYWxEYXRhRm9yVVJM
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VNSU1FVHlwZUZvclVS
TCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNhY2hlZFN1Z2dlc3RlZEZpbGVuYW1lRm9y
VVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VEYXRhRm9yVVJM
KToKKyAgICAgICAgQ2FsbCBoZWxwZXIgZnVuY3Rpb24uCisKIDIwMTEtMDUtMDQgIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0eXBvIGluIHN2biBwcm9wZXJ0
eSBpbiByODU3NTYuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
RnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJGcmFtZS5jcHAJKHJldmlzaW9uIDg1NzU1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQwLDEwICs2NDAs
MTAgQEAgU3RyaW5nIFdlYkZyYW1lOjpzdWdnZXN0ZWRGaWxlbmFtZUZvclJlcwogCiAgICAgLy8g
TmV4dCwgdHJ5IHN1YnJlc291cmNlcy4KICAgICBSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiByZXNv
dXJjZSA9IGxvYWRlci0+c3VicmVzb3VyY2UodXJsKTsKLSAgICBpZiAoIXJlc291cmNlKQotICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgCi0gICAgcmV0dXJuIHJlc291cmNlLT5yZXNwb25z
ZSgpLnN1Z2dlc3RlZEZpbGVuYW1lKCk7CisgICAgaWYgKHJlc291cmNlKQorICAgICAgICByZXR1
cm4gcmVzb3VyY2UtPnJlc3BvbnNlKCkuc3VnZ2VzdGVkRmlsZW5hbWUoKTsKKworICAgIHJldHVy
biBwYWdlKCktPmNhY2hlZFN1Z2dlc3RlZEZpbGVuYW1lRm9yVVJMKHVybCk7CiB9CiAKIFN0cmlu
ZyBXZWJGcmFtZTo6bWltZVR5cGVGb3JSZXNvdXJjZVdpdGhVUkwoY29uc3QgS1VSTCYgdXJsKSBj
b25zdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAkocmV2aXNpb24gODU3NTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzODYsMTggKzEzODYsMzQgQEAgdm9p
ZCBXZWJQYWdlOjpnZXRNYWluUmVzb3VyY2VEYXRhT2ZGcmFtZQogICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGF0YUNhbGxiYWNrKGRhdGFSZWZlcmVuY2UsIGNhbGxiYWNrSUQpKTsK
IH0KIAotdm9pZCBXZWJQYWdlOjpnZXRSZXNvdXJjZURhdGFGcm9tRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgY29uc3QgU3RyaW5nJiByZXNvdXJjZVVSTCwgdWludDY0X3QgY2FsbGJhY2tJRCkKK3N0
YXRpYyBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVzb3VyY2VEYXRhRm9yRnJhbWUoRnJhbWUq
IGZyYW1lLCBjb25zdCBLVVJMJiByZXNvdXJjZVVSTCkKK3sKKyAgICBEb2N1bWVudExvYWRlciog
bG9hZGVyID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOworICAgIGlmICghbG9h
ZGVyKQorICAgICAgICByZXR1cm4gMDsKKworICAgIFJlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IHN1
YnJlc291cmNlID0gbG9hZGVyLT5zdWJyZXNvdXJjZShyZXNvdXJjZVVSTCk7CisgICAgaWYgKCFz
dWJyZXNvdXJjZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gc3VicmVzb3VyY2Ut
PmRhdGEoKTsKK30KKwordm9pZCBXZWJQYWdlOjpnZXRSZXNvdXJjZURhdGFGcm9tRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiByZXNvdXJjZVVSTFN0cmluZywgdWludDY0X3Qg
Y2FsbGJhY2tJRCkKIHsKICAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGFSZWZlcmVuY2U7
CisgICAgS1VSTCByZXNvdXJjZVVSTChLVVJMKCksIHJlc291cmNlVVJMU3RyaW5nKTsKIAogICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlcjsKICAgICBpZiAoV2ViRnJhbWUqIGZyYW1lID0g
V2ViUHJvY2Vzczo6c2hhcmVkKCkud2ViRnJhbWUoZnJhbWVJRCkpIHsKLSAgICAgICAgaWYgKERv
Y3VtZW50TG9hZGVyKiBsb2FkZXIgPSBmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLT5kb2N1
bWVudExvYWRlcigpKSB7Ci0gICAgICAgICAgICBpZiAoUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4g
c3VicmVzb3VyY2UgPSBsb2FkZXItPnN1YnJlc291cmNlKEtVUkwoS1VSTCgpLCByZXNvdXJjZVVS
TCkpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKChidWZmZXIgPSBzdWJyZXNvdXJjZS0+ZGF0YSgp
KSkKLSAgICAgICAgICAgICAgICAgICAgZGF0YVJlZmVyZW5jZSA9IENvcmVJUEM6OkRhdGFSZWZl
cmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBi
dWZmZXItPnNpemUoKSk7Ci0gICAgICAgICAgICB9CisgICAgICAgIGJ1ZmZlciA9IHJlc291cmNl
RGF0YUZvckZyYW1lKGZyYW1lLT5jb3JlRnJhbWUoKSwgcmVzb3VyY2VVUkwpOworICAgICAgICBp
ZiAoIWJ1ZmZlcikgeworICAgICAgICAgICAgLy8gVHJ5IHRvIGdldCB0aGUgcmVzb3VyY2UgZGF0
YSBmcm9tIHRoZSBjYWNoZS4KKyAgICAgICAgICAgIGJ1ZmZlciA9IGNhY2hlZFJlc3BvbnNlRGF0
YUZvclVSTChyZXNvdXJjZVVSTCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoYnVmZmVyKQor
ICAgICAgICAgICAgZGF0YVJlZmVyZW5jZSA9IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRl
cnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUo
KSk7CiAgICAgfQogCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEYXRhQ2FsbGJh
Y2soZGF0YVJlZmVyZW5jZSwgY2FsbGJhY2tJRCkpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiA4NTc1NSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
MSw3ICsyOTEsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBoYXNMb2NhbERhdGFGb3JVUkwo
Y29uc3QgV2ViQ29yZTo6S1VSTCYpOwogICAgIFN0cmluZyBjYWNoZWRSZXNwb25zZU1JTUVUeXBl
Rm9yVVJMKGNvbnN0IFdlYkNvcmU6OktVUkwmKTsKLSAgICAKKyAgICBTdHJpbmcgY2FjaGVkU3Vn
Z2VzdGVkRmlsZW5hbWVGb3JVUkwoY29uc3QgV2ViQ29yZTo6S1VSTCYpOworICAgIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBjYWNoZWRSZXNwb25zZURhdGFGb3JVUkwoY29uc3Qg
V2ViQ29yZTo6S1VSTCYpOworCiAgICAgc3RhdGljIGJvb2wgY2FuSGFuZGxlUmVxdWVzdChjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKIAogICAgIGNsYXNzIFNhbmRib3hFeHRlbnNp
b25UcmFja2VyIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsv
V2ViUGFnZUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAkocmV2aXNpb24gODU3NTUpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDMsMjMgKzEwMywzNCBAQCBib29sIFdlYlBhZ2U6OnBlcmZvcm1EZWZhdWx0QmVoYXZp
b3JGb3JLCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgV2ViUGFnZTo6cGxhdGZvcm1IYXNM
b2NhbERhdGFGb3JVUkwoY29uc3QgV2ViQ29yZTo6S1VSTCYpCitib29sIFdlYlBhZ2U6OnBsYXRm
b3JtSGFzTG9jYWxEYXRhRm9yVVJMKGNvbnN0IEtVUkwmKQogewotICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQKICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotU3Ry
aW5nIFdlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlTUlNRVR5cGVGb3JVUkwoY29uc3QgV2ViQ29yZTo6
S1VSTCYpCitTdHJpbmcgV2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VNSU1FVHlwZUZvclVSTChjb25z
dCBLVVJMJikKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLWJvb2wgV2ViUGFnZTo6cGxhdGZvcm1DYW5I
YW5kbGVSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpCitib29sIFdlYlBh
Z2U6OnBsYXRmb3JtQ2FuSGFuZGxlUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmKQogewot
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQKKyAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIHJldHVy
biB0cnVlOwogfQogCitTdHJpbmcgV2ViUGFnZTo6Y2FjaGVkU3VnZ2VzdGVkRmlsZW5hbWVGb3JV
UkwoY29uc3QgS1VSTCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gU3Ry
aW5nKCk7Cit9CisKK1Bhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBXZWJQYWdlOjpjYWNoZWRSZXNw
b25zZURhdGFGb3JVUkwoY29uc3QgS1VSTCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCShyZXZp
c2lvbiA4NTc1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2Vi
UGFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjMzLDIwICs2MzMsMzIgQEAgYm9vbCBXZWJQ
YWdlOjpwbGF0Zm9ybUhhc0xvY2FsRGF0YUZvclVSTAogICAgIHJldHVybiBjYWNoZWRSZXNwb25z
ZTsKIH0KIAotU3RyaW5nIFdlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlTUlNRVR5cGVGb3JVUkwoY29u
c3QgV2ViQ29yZTo6S1VSTCYgdXJsKQorc3RhdGljIE5TQ2FjaGVkVVJMUmVzcG9uc2UgKmNhY2hl
ZFJlc3BvbnNlRm9yVVJMKFdlYlBhZ2UqIHdlYlBhZ2UsIGNvbnN0IEtVUkwmIHVybCkKIHsKLSAg
ICBOU011dGFibGVVUkxSZXF1ZXN0KiByZXF1ZXN0ID0gW1tOU011dGFibGVVUkxSZXF1ZXN0IGFs
bG9jXSBpbml0V2l0aFVSTDp1cmxdOwotICAgIFtyZXF1ZXN0IHNldFZhbHVlOihOU1N0cmluZyop
dXNlckFnZW50KCkgZm9ySFRUUEhlYWRlckZpZWxkOkAiVXNlci1BZ2VudCJdOwotICAgIE5TQ2Fj
aGVkVVJMUmVzcG9uc2UgKmNhY2hlZFJlc3BvbnNlOworICAgIFJldGFpblB0cjxOU011dGFibGVV
UkxSZXF1ZXN0PiByZXF1ZXN0KEFkb3B0TlMsIFtbTlNNdXRhYmxlVVJMUmVxdWVzdCBhbGxvY10g
aW5pdFdpdGhVUkw6dXJsXSk7CisgICAgW3JlcXVlc3QuZ2V0KCkgc2V0VmFsdWU6KE5TU3RyaW5n
ICopd2ViUGFnZS0+dXNlckFnZW50KCkgZm9ySFRUUEhlYWRlckZpZWxkOkAiVXNlci1BZ2VudCJd
OworCiAjaWYgVVNFKENGVVJMU1RPUkFHRVNFU1NJT05TKQogICAgIGlmIChDRlVSTFN0b3JhZ2VT
ZXNzaW9uUmVmIHN0b3JhZ2VTZXNzaW9uID0gUmVzb3VyY2VIYW5kbGU6OnByaXZhdGVCcm93c2lu
Z1N0b3JhZ2VTZXNzaW9uKCkpCi0gICAgICAgIGNhY2hlZFJlc3BvbnNlID0gV0tDYWNoZWRSZXNw
b25zZUZvclJlcXVlc3Qoc3RvcmFnZVNlc3Npb24sIHJlcXVlc3QpOwotICAgIGVsc2UKKyAgICAg
ICAgcmV0dXJuIFdLQ2FjaGVkUmVzcG9uc2VGb3JSZXF1ZXN0KHN0b3JhZ2VTZXNzaW9uLCByZXF1
ZXN0LmdldCgpKTsKICNlbmRpZgotICAgICAgICBjYWNoZWRSZXNwb25zZSA9IFtbTlNVUkxDYWNo
ZSBzaGFyZWRVUkxDYWNoZV0gY2FjaGVkUmVzcG9uc2VGb3JSZXF1ZXN0OnJlcXVlc3RdOwotICAg
IFtyZXF1ZXN0IHJlbGVhc2VdOwotICAgIAotICAgIHJldHVybiBbW2NhY2hlZFJlc3BvbnNlIHJl
c3BvbnNlXSBNSU1FVHlwZV07CisKKyAgICByZXR1cm4gW1tOU1VSTENhY2hlIHNoYXJlZFVSTENh
Y2hlXSBjYWNoZWRSZXNwb25zZUZvclJlcXVlc3Q6cmVxdWVzdC5nZXQoKV07Cit9CisKK1N0cmlu
ZyBXZWJQYWdlOjpjYWNoZWRTdWdnZXN0ZWRGaWxlbmFtZUZvclVSTChjb25zdCBLVVJMJiB1cmwp
Cit7CisgICAgcmV0dXJuIFtbY2FjaGVkUmVzcG9uc2VGb3JVUkwodGhpcywgdXJsKSByZXNwb25z
ZV0gc3VnZ2VzdGVkRmlsZW5hbWVdOworfQorCitTdHJpbmcgV2ViUGFnZTo6Y2FjaGVkUmVzcG9u
c2VNSU1FVHlwZUZvclVSTChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgcmV0dXJuIFtbY2FjaGVk
UmVzcG9uc2VGb3JVUkwodGhpcywgdXJsKSByZXNwb25zZV0gTUlNRVR5cGVdOworfQorCitQYXNz
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gV2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VEYXRhRm9yVVJMKGNv
bnN0IEtVUkwmIHVybCkKK3sKKyAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjp3cmFwTlNEYXRhKFtj
YWNoZWRSZXNwb25zZUZvclVSTCh0aGlzLCB1cmwpIGRhdGFdKTsKIH0KIAogYm9vbCBXZWJQYWdl
OjpwbGF0Zm9ybUNhbkhhbmRsZVJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0KQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dl
YlBhZ2VRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL3F0L1dlYlBhZ2VRdC5jcHAJKHJldmlzaW9uIDg1NzU1KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAK
KyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIldlYkV2ZW50LmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9Gb2N1c0NvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1l
Lmg+CkBAIC0yNjUsMjIgKzI2NiwzNCBAQCBib29sIFdlYlBhZ2U6OnBlcmZvcm1EZWZhdWx0QmVo
YXZpb3JGb3JLCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgV2ViUGFnZTo6cGxhdGZvcm1I
YXNMb2NhbERhdGFGb3JVUkwoY29uc3QgV2ViQ29yZTo6S1VSTCYpCitib29sIFdlYlBhZ2U6OnBs
YXRmb3JtSGFzTG9jYWxEYXRhRm9yVVJMKGNvbnN0IEtVUkwmKQogewotICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQKKyAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAot
U3RyaW5nIFdlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlTUlNRVR5cGVGb3JVUkwoY29uc3QgV2ViQ29y
ZTo6S1VSTCYpCitTdHJpbmcgV2ViUGFnZTo6Y2FjaGVkUmVzcG9uc2VNSU1FVHlwZUZvclVSTChj
b25zdCBLVVJMJikKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLWJvb2wgV2ViUGFnZTo6cGxhdGZvcm1D
YW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpCitib29sIFdl
YlBhZ2U6OnBsYXRmb3JtQ2FuSGFuZGxlUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmKQog
ewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQKKyAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIHJl
dHVybiB0cnVlOwogfQogCitTdHJpbmcgV2ViUGFnZTo6Y2FjaGVkU3VnZ2VzdGVkRmlsZW5hbWVG
b3JVUkwoY29uc3QgS1VSTCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
U3RyaW5nKCk7Cit9CisKK1Bhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBXZWJQYWdlOjpjYWNoZWRS
ZXNwb25zZURhdGFGb3JVUkwoY29uc3QgS1VSTCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAJ
KHJldmlzaW9uIDg1NzU1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dp
bi9XZWJQYWdlV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYwLDEzICsyNjAsMTMgQEAgYm9v
bCBXZWJQYWdlOjpwZXJmb3JtRGVmYXVsdEJlaGF2aW9yRm9ySwogICAgIHJldHVybiB0cnVlOwog
fQogCi1ib29sIFdlYlBhZ2U6OnBsYXRmb3JtSGFzTG9jYWxEYXRhRm9yVVJMKGNvbnN0IFdlYkNv
cmU6OktVUkwmIHVybCkKLXsKICNpZiBVU0UoQ0ZORVRXT1JLKQorc3RhdGljIFJldGFpblB0cjxD
RkNhY2hlZFVSTFJlc3BvbnNlUmVmPiBjYWNoZWRSZXNwb25zZUZvclVSTChXZWJQYWdlKiB3ZWJQ
YWdlLCBjb25zdCBLVVJMJiB1cmwpCit7CiAgICAgUmV0YWluUHRyPENGVVJMUmVmPiBjZlVSTChB
ZG9wdENGLCB1cmwuY3JlYXRlQ0ZVUkwoKSk7CiAgICAgUmV0YWluUHRyPENGTXV0YWJsZVVSTFJl
cXVlc3RSZWY+IHJlcXVlc3QoQWRvcHRDRiwgQ0ZVUkxSZXF1ZXN0Q3JlYXRlTXV0YWJsZSgwLCBj
ZlVSTC5nZXQoKSwga0NGVVJMUmVxdWVzdENhY2hlUG9saWN5UmVsb2FkSWdub3JpbmdDYWNoZSwg
NjAsIDApKTsKLSAgICAKLSAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHVzZXJBZ2VudChBZG9w
dENGLCB1c2VyQWdlbnQoKS5jcmVhdGVDRlN0cmluZygpKTsKKworICAgIFJldGFpblB0cjxDRlN0
cmluZ1JlZj4gdXNlckFnZW50KEFkb3B0Q0YsIHdlYlBhZ2UtPnVzZXJBZ2VudCgpLmNyZWF0ZUNG
U3RyaW5nKCkpOwogICAgIENGVVJMUmVxdWVzdFNldEhUVFBIZWFkZXJGaWVsZFZhbHVlKHJlcXVl
c3QuZ2V0KCksIENGU1RSKCJVc2VyLUFnZW50IiksIHVzZXJBZ2VudC5nZXQoKSk7CiAKICAgICBS
ZXRhaW5QdHI8Q0ZVUkxDYWNoZVJlZj4gY2FjaGU7CkBAIC0yNzcsNDAgKzI3Nyw1NiBAQCBib29s
IFdlYlBhZ2U6OnBsYXRmb3JtSGFzTG9jYWxEYXRhRm9yVVJMCiAjZW5kaWYKICAgICAgICAgY2Fj
aGUuYWRvcHRDRihDRlVSTENhY2hlQ29weVNoYXJlZFVSTENhY2hlKCkpOwogCi0gICAgUmV0YWlu
UHRyPENGQ2FjaGVkVVJMUmVzcG9uc2VSZWY+IHJlc3BvbnNlKEFkb3B0Q0YsIENGVVJMQ2FjaGVD
b3B5UmVzcG9uc2VGb3JSZXF1ZXN0KGNhY2hlLmdldCgpLCByZXF1ZXN0LmdldCgpKSk7ICAgIAot
ICAgIHJldHVybiByZXNwb25zZTsKKyAgICBSZXRhaW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25zZVJl
Zj4gcmVzcG9uc2UoQWRvcHRDRiwgQ0ZVUkxDYWNoZUNvcHlSZXNwb25zZUZvclJlcXVlc3QoY2Fj
aGUuZ2V0KCksIHJlcXVlc3QuZ2V0KCkpKTsKKyAgICByZXR1cm4gcmVzcG9uc2U7ICAgICAgICAK
K30KKyNlbmRpZgorCitib29sIFdlYlBhZ2U6OnBsYXRmb3JtSGFzTG9jYWxEYXRhRm9yVVJMKGNv
bnN0IEtVUkwmIHVybCkKK3sKKyNpZiBVU0UoQ0ZORVRXT1JLKQorICAgIHJldHVybiBjYWNoZWRS
ZXNwb25zZUZvclVSTCh0aGlzLCB1cmwpOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5k
aWYKIH0KIAotU3RyaW5nIFdlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlTUlNRVR5cGVGb3JVUkwoY29u
c3QgV2ViQ29yZTo6S1VSTCYgdXJsKQorU3RyaW5nIFdlYlBhZ2U6OmNhY2hlZFJlc3BvbnNlTUlN
RVR5cGVGb3JVUkwoY29uc3QgS1VSTCYgdXJsKQogewogI2lmIFVTRShDRk5FVFdPUkspCi0gICAg
UmV0YWluUHRyPENGVVJMUmVmPiBjZlVSTChBZG9wdENGLCB1cmwuY3JlYXRlQ0ZVUkwoKSk7Ci0g
ICAgUmV0YWluUHRyPENGTXV0YWJsZVVSTFJlcXVlc3RSZWY+IHJlcXVlc3QoQWRvcHRDRiwgQ0ZV
UkxSZXF1ZXN0Q3JlYXRlTXV0YWJsZSgwLCBjZlVSTC5nZXQoKSwga0NGVVJMUmVxdWVzdENhY2hl
UG9saWN5UmVsb2FkSWdub3JpbmdDYWNoZSwgNjAsIDApKTsKLSAgICAKLSAgICBSZXRhaW5QdHI8
Q0ZTdHJpbmdSZWY+IHVzZXJBZ2VudChBZG9wdENGLCB1c2VyQWdlbnQoKS5jcmVhdGVDRlN0cmlu
ZygpKTsKLSAgICBDRlVSTFJlcXVlc3RTZXRIVFRQSGVhZGVyRmllbGRWYWx1ZShyZXF1ZXN0Lmdl
dCgpLCBDRlNUUigiVXNlci1BZ2VudCIpLCB1c2VyQWdlbnQuZ2V0KCkpOwotCi0gICAgUmV0YWlu
UHRyPENGVVJMQ2FjaGVSZWY+IGNhY2hlOwotI2lmIFVTRShDRlVSTFNUT1JBR0VTRVNTSU9OUykK
LSAgICBpZiAoQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBzdG9yYWdlU2Vzc2lvbiA9IFJlc291cmNl
SGFuZGxlOjpwcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbigpKQotICAgICAgICBjYWNoZS5h
ZG9wdENGKHdrQ29weVVSTENhY2hlKHN0b3JhZ2VTZXNzaW9uKSk7Ci0gICAgZWxzZQorICAgIFJl
dGFpblB0cjxDRkNhY2hlZFVSTFJlc3BvbnNlUmVmPiBjYWNoZWRSZXNwb25zZSA9IGNhY2hlZFJl
c3BvbnNlRm9yVVJMKHRoaXMsIHVybCk7CisgICAgQ0ZVUkxSZXNwb25zZVJlZiByZXNwb25zZSA9
IENGQ2FjaGVkVVJMUmVzcG9uc2VHZXRXcmFwcGVkUmVzcG9uc2UoY2FjaGVkUmVzcG9uc2UuZ2V0
KCkpOworICAgIHJldHVybiByZXNwb25zZSA/IENGVVJMUmVzcG9uc2VHZXRNSU1FVHlwZShyZXNw
b25zZSkgOiBTdHJpbmcoKTsKKyNlbHNlCisgICAgcmV0dXJuIFN0cmluZygpOwogI2VuZGlmCi0g
ICAgICAgIGNhY2hlLmFkb3B0Q0YoQ0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZSgpKTsKK30K
IAotICAgIFJldGFpblB0cjxDRkNhY2hlZFVSTFJlc3BvbnNlUmVmPiBjYWNoZWRSZXNwb25zZShB
ZG9wdENGLCBDRlVSTENhY2hlQ29weVJlc3BvbnNlRm9yUmVxdWVzdChjYWNoZS5nZXQoKSwgcmVx
dWVzdC5nZXQoKSkpOwotICAgIAorU3RyaW5nIFdlYlBhZ2U6OmNhY2hlZFN1Z2dlc3RlZEZpbGVu
YW1lRm9yVVJMKGNvbnN0IEtVUkwmIHVybCkKK3sKKyNpZiBVU0UoQ0ZORVRXT1JLKQorICAgIFJl
dGFpblB0cjxDRkNhY2hlZFVSTFJlc3BvbnNlUmVmPiBjYWNoZWRSZXNwb25zZSA9IGNhY2hlZFJl
c3BvbnNlRm9yVVJMKHRoaXMsIHVybCk7CiAgICAgQ0ZVUkxSZXNwb25zZVJlZiByZXNwb25zZSA9
IENGQ2FjaGVkVVJMUmVzcG9uc2VHZXRXcmFwcGVkUmVzcG9uc2UoY2FjaGVkUmVzcG9uc2UuZ2V0
KCkpOwotICAgIAotICAgIHJldHVybiByZXNwb25zZSA/IENGVVJMUmVzcG9uc2VHZXRNSU1FVHlw
ZShyZXNwb25zZSkgOiBTdHJpbmcoKTsKKyAgICBpZiAoIXJlc3BvbnNlKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdWdnZXN0ZWRGaWxlbmFt
ZShBZG9wdENGLCBDRlVSTFJlc3BvbnNlQ29weVN1Z2dlc3RlZEZpbGVuYW1lKHJlc3BvbnNlKSk7
CisKKyAgICByZXR1cm4gc3VnZ2VzdGVkRmlsZW5hbWUuZ2V0KCk7CiAjZWxzZQogICAgIHJldHVy
biBTdHJpbmcoKTsKICNlbmRpZgogfQogCitQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gV2ViUGFn
ZTo6Y2FjaGVkUmVzcG9uc2VEYXRhRm9yVVJMKGNvbnN0IEtVUkwmIHVybCkKK3sKKyAgICBSZXRh
aW5QdHI8Q0ZDYWNoZWRVUkxSZXNwb25zZVJlZj4gY2FjaGVkUmVzcG9uc2UgPSBjYWNoZWRSZXNw
b25zZUZvclVSTCh0aGlzLCB1cmwpOworICAgIENGRGF0YVJlZiBkYXRhID0gQ0ZDYWNoZWRVUkxS
ZXNwb25zZUdldFJlY2VpdmVyRGF0YShjYWNoZWRSZXNwb25zZS5nZXQoKSk7CisgICAgaWYgKCFk
YXRhKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBTaGFyZWRCdWZmZXI6OndyYXBD
RkRhdGEoZGF0YSk7Cit9CisKIGJvb2wgV2ViUGFnZTo6cGxhdGZvcm1DYW5IYW5kbGVSZXF1ZXN0
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKICNpZiBVU0UoQ0ZO
RVRXT1JLKQo=
</data>
<flag name="review"
          id="85249"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>