<?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>53354</bug_id>
          
          <creation_ts>2011-01-28 16:44:36 -0800</creation_ts>
          <short_desc>XSSFilter should log to the console when it blocks something</short_desc>
          <delta_ts>2011-01-28 18:09:04 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>49845</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>341853</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-28 16:44:36 -0800</bug_when>
    <thetext>XSSFilter should log to the console when it blocks something</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341854</commentid>
    <comment_count>1</comment_count>
      <attachid>80524</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-28 16:49:18 -0800</bug_when>
    <thetext>Created attachment 80524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341856</commentid>
    <comment_count>2</comment_count>
      <attachid>80524</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-28 16:52:14 -0800</bug_when>
    <thetext>Comment on attachment 80524
Patch

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

How do we test this?

&gt; Source/WebCore/html/parser/XSSFilter.cpp:151
&gt; +        return filterMetaToken(token) || didBlockScript;

I like the other |= format here, mostly because you used it everywhere else in the file and it&apos;s nice to be consistent.  Then you wouldn&apos;t return after any of these, just a long else if chain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341873</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-28 16:57:49 -0800</bug_when>
    <thetext>&gt; How do we test this?

We have a lot of tests here:

http://trac.webkit.org/browser/trunk/LayoutTests/http/tests/security/xssAuditor

Theoretically we should be able to pass some of them after this patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341880</commentid>
    <comment_count>4</comment_count>
      <attachid>80527</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-28 17:03:14 -0800</bug_when>
    <thetext>Created attachment 80527
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341896</commentid>
    <comment_count>5</comment_count>
      <attachid>80527</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-28 17:40:58 -0800</bug_when>
    <thetext>Comment on attachment 80527
Patch for landing

Rejecting attachment 80527 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
ools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Parsed 3 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 FAILED at 1.
Hunk #2 FAILED at 40.
Hunk #3 FAILED at 58.
Hunk #4 FAILED at 80.
4 out of 4 hunks FAILED -- saving rejects to file Source/WebCore/ChangeLog.rej
patching file Source/WebCore/html/parser/XSSFilter.cpp
patching file Source/WebCore/html/parser/XSSFilter.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/7522360</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341916</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-28 18:09:04 -0800</bug_when>
    <thetext>Committed r77041: &lt;http://trac.webkit.org/changeset/77041&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80524</attachid>
            <date>2011-01-28 16:49:18 -0800</date>
            <delta_ts>2011-01-28 17:03:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53354-20110128164917.patch</filename>
            <type>text/plain</type>
            <size>10513</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxMDI4MTE2OTBmMWE3ZDA2MjY0MWNiYzNhNmVhYmZkZGRiNDRhYTYxLi4w
YjQ5NTk0NWE3NDZjYjM0ZGIzYjA2MjMxZGU3OGNjYzRiYmFlNDZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0y
LDYgKzIsMzQgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAg
ICAgICBYU1NGaWx0ZXIgc2hvdWxkIGxvZyB0byB0aGUgY29uc29sZSB3aGVuIGl0IGJsb2NrcyBz
b21ldGhpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTUzMzU0CisKKyAgICAgICAgVGhpcyBwYXRjaCByZWZhY3RvcnMgYSBidW5jaCBvZiBtZXRob2Rz
IGluIFhTU0ZpbHRlciB0byByZXR1cm4gYSBib29sCisgICAgICAgIGluZGljYXRpbmcgd2hldGhl
ciB0aGV5IGJsb2NrZWQgYW55dGhpbmcuICBVc2luZyB0aGlzIGJvb2wsIHdlIGRlY2lkZQorICAg
ICAgICB3aGV0aGVyIHRvIGxvZyB0byB0aGUgY29uc29sZS4gIFdlJ3JlIHVzaW5nIHRoZSBzYW1l
IGxvZyBtZXNzYWdlIGFzIHRoZQorICAgICAgICBYU1NBdWRpdG9yLCBidXQgaXQgc2VlbXMgbGlr
ZWx5IHdlIGNhbiBpbXByb3ZlIHRoaXMgbWVzc2FnZSBpbiB0aGUKKyAgICAgICAgZnV0dXJlIChl
c3BlY2lhbGx5IGJ5IHBpcGluZyBpbiB0aGUgY29ycmVjdCBsaW5lIG51bWJlciwgd2hpY2ggaXMg
bm93CisgICAgICAgIGFjY2Vzc2libGUgdmlhIHRoZSBwYXJzZXIpLgorCisgICAgICAgICogaHRt
bC9wYXJzZXIvWFNTRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxOYW1lczo6aXNO
YW1lT2ZJbmxpbmVFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6WFNTRmlsdGVyOjpm
aWx0ZXJUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpYU1NGaWx0ZXI6OmZpbHRlclRva2VuSW5p
dGlhbCk6CisgICAgICAgIChXZWJDb3JlOjpYU1NGaWx0ZXI6OmZpbHRlclRva2VuQWZ0ZXJTY3Jp
cHRTdGFydFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpYU1NGaWx0ZXI6OmZpbHRlclNjcmlwdFRv
a2VuKToKKyAgICAgICAgKFdlYkNvcmU6OlhTU0ZpbHRlcjo6ZmlsdGVyT2JqZWN0VG9rZW4pOgor
ICAgICAgICAoV2ViQ29yZTo6WFNTRmlsdGVyOjpmaWx0ZXJFbWJlZFRva2VuKToKKyAgICAgICAg
KFdlYkNvcmU6OlhTU0ZpbHRlcjo6ZmlsdGVyQXBwbGV0VG9rZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6WFNTRmlsdGVyOjpmaWx0ZXJNZXRhVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6WFNTRmls
dGVyOjpmaWx0ZXJCYXNlVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6WFNTRmlsdGVyOjplcmFz
ZUlubGluZUV2ZW50SGFuZGxlcnNJZkluamVjdGVkKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9Y
U1NGaWx0ZXIuaDoKKworMjAxMS0wMS0yOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIFdpcmUg
dXAgc2V0dGluZ3MtPnhzc0F1ZGl0b3JFbmFibGVkIHRvIFhTU0ZpbHRlcgogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMzNDUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL1hTU0ZpbHRlci5jcHAKaW5kZXggZWVkZWY5ODViNDljZjZiZDA5ZjAwNzE0
MTNkZDRhZDZhZjBkMGNlMS4uY2Y0YzQ1NmYyM2M3YWNhMTZhNGM4NTQ0MzgyOWFhMDk4ODVhZTAy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NGaWx0ZXIuY3BwCkBAIC02MCwxMCAr
NjAsMTAgQEAgYm9vbCBmaW5kQXR0cmlidXRlV2l0aE5hbWUoY29uc3QgSFRNTFRva2VuJiB0b2tl
biwgY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgc2kKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LWJvb2wgaXNOYW1lT2ZTY3JpcHRDYXJyeWluZ0F0dHJpYnV0ZShjb25zdCBWZWN0b3I8VUNoYXIs
IDMyPiYgbmFtZSkKK2Jvb2wgaXNOYW1lT2ZJbmxpbmVFdmVudEhhbmRsZXIoY29uc3QgVmVjdG9y
PFVDaGFyLCAzMj4mIG5hbWUpCiB7Ci0gICAgY29uc3Qgc2l6ZV90IGxlbmd0aE9mU2hvcnRlc3RT
Y3JpcHRDYXJyeWluZ0F0dHJpYnV0ZSA9IDU7IC8vIFRvIHdpdDogb25jdXQuCi0gICAgaWYgKG5h
bWUuc2l6ZSgpIDwgbGVuZ3RoT2ZTaG9ydGVzdFNjcmlwdENhcnJ5aW5nQXR0cmlidXRlKQorICAg
IGNvbnN0IHNpemVfdCBsZW5ndGhPZlNob3J0ZXN0SW5saW5lRXZlbnRIYW5kbGVyTmFtZSA9IDU7
IC8vIFRvIHdpdDogb25jdXQuCisgICAgaWYgKG5hbWUuc2l6ZSgpIDwgbGVuZ3RoT2ZTaG9ydGVz
dElubGluZUV2ZW50SGFuZGxlck5hbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1
cm4gbmFtZVswXSA9PSAnbycgJiYgbmFtZVsxXSA9PSAnbic7CiB9CkBAIC0xMDQsNTYgKzEwNCw2
NiBAQCB2b2lkIFhTU0ZpbHRlcjo6ZmlsdGVyVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKICAgICBp
ZiAoIW1faXNFbmFibGVkKQogICAgICAgICByZXR1cm47CiAKKyAgICBib29sIGRpZEJsb2NrU2Ny
aXB0ID0gZmFsc2U7CisKICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKICAgICBjYXNlIEluaXRpYWw6
IAorICAgICAgICBkaWRCbG9ja1NjcmlwdCA9IGZpbHRlclRva2VuSW5pdGlhbCh0b2tlbik7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQWZ0ZXJTY3JpcHRTdGFydFRhZzoKLSAgICAgICAgZmls
dGVyVG9rZW5BZnRlclNjcmlwdFN0YXJ0VGFnKHRva2VuKTsKKyAgICAgICAgZGlkQmxvY2tTY3Jp
cHQgPSBmaWx0ZXJUb2tlbkFmdGVyU2NyaXB0U3RhcnRUYWcodG9rZW4pOwogICAgICAgICBBU1NF
UlQobV9zdGF0ZSA9PSBJbml0aWFsKTsKICAgICAgICAgbV9jYWNoZWRTbmlwcGV0ID0gU3RyaW5n
KCk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgaWYgKGRp
ZEJsb2NrU2NyaXB0KSB7CisgICAgICAgIC8vIEZJWE1FOiBDb25zaWRlciB1c2luZyBhIG1vcmUg
aGVscGZ1bCBjb25zb2xlIG1lc3NhZ2UuCisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3Ry
aW5nLCBjb25zb2xlTWVzc2FnZSwgKCJSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBKYXZhU2NyaXB0IHNj
cmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZvdW5kIHdpdGhpbiByZXF1ZXN0LlxuIikpOwor
ICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFkZCB0aGUgcmVhbCBsaW5lIG51bWJlciB0byB0
aGUgY29uc29sZS4KKyAgICAgICAgbV9wYXJzZXItPmRvY3VtZW50KCktPmRvbVdpbmRvdygpLT5j
b25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlLCAxLCBTdHJpbmcoKSk7CisgICAgfQorI2Vu
ZGlmCit9CisKK2Jvb2wgWFNTRmlsdGVyOjpmaWx0ZXJUb2tlbkluaXRpYWwoSFRNTFRva2VuJiB0
b2tlbikKK3sKKyAgICBBU1NFUlQobV9zdGF0ZSA9PSBJbml0aWFsKTsKKwogICAgIGlmICh0b2tl
bi50eXBlKCkgIT0gSFRNTFRva2VuOjpTdGFydFRhZykKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIGRpZEJsb2NrU2NyaXB0ID0gZXJhc2VJbmxpbmVF
dmVudEhhbmRsZXJzSWZJbmplY3RlZCh0b2tlbik7CiAKICAgICBpZiAoaGFzTmFtZSh0b2tlbiwg
c2NyaXB0VGFnKSkKLSAgICAgICAgcmV0dXJuIGZpbHRlclNjcmlwdFRva2VuKHRva2VuKTsKKyAg
ICAgICAgcmV0dXJuIGZpbHRlclNjcmlwdFRva2VuKHRva2VuKSB8fCBkaWRCbG9ja1NjcmlwdDsK
IAogICAgIGlmIChoYXNOYW1lKHRva2VuLCBvYmplY3RUYWcpKQotICAgICAgICByZXR1cm4gZmls
dGVyT2JqZWN0VG9rZW4odG9rZW4pOworICAgICAgICByZXR1cm4gZmlsdGVyT2JqZWN0VG9rZW4o
dG9rZW4pIHx8IGRpZEJsb2NrU2NyaXB0OwogCiAgICAgaWYgKGhhc05hbWUodG9rZW4sIGVtYmVk
VGFnKSkKLSAgICAgICAgcmV0dXJuIGZpbHRlckVtYmVkVG9rZW4odG9rZW4pOworICAgICAgICBy
ZXR1cm4gZmlsdGVyRW1iZWRUb2tlbih0b2tlbikgfHwgZGlkQmxvY2tTY3JpcHQ7CiAKICAgICBp
ZiAoaGFzTmFtZSh0b2tlbiwgYXBwbGV0VGFnKSkKLSAgICAgICAgcmV0dXJuIGZpbHRlckFwcGxl
dFRva2VuKHRva2VuKTsKKyAgICAgICAgcmV0dXJuIGZpbHRlckFwcGxldFRva2VuKHRva2VuKSB8
fCBkaWRCbG9ja1NjcmlwdDsKIAogICAgIGlmIChoYXNOYW1lKHRva2VuLCBtZXRhVGFnKSkKLSAg
ICAgICAgcmV0dXJuIGZpbHRlck1ldGFUb2tlbih0b2tlbik7CisgICAgICAgIHJldHVybiBmaWx0
ZXJNZXRhVG9rZW4odG9rZW4pIHx8IGRpZEJsb2NrU2NyaXB0OwogCiAgICAgaWYgKGhhc05hbWUo
dG9rZW4sIGJhc2VUYWcpKQotICAgICAgICByZXR1cm4gZmlsdGVyQmFzZVRva2VuKHRva2VuKTsK
KyAgICAgICAgcmV0dXJuIGZpbHRlckJhc2VUb2tlbih0b2tlbikgfHwgZGlkQmxvY2tTY3JpcHQ7
CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHRva2VuLmF0dHJpYnV0ZXMoKS5zaXplKCk7
ICsraSkgewotICAgICAgICBjb25zdCBIVE1MVG9rZW46OkF0dHJpYnV0ZSYgYXR0cmlidXRlID0g
dG9rZW4uYXR0cmlidXRlcygpLmF0KGkpOwotICAgICAgICBpZiAoIWlzTmFtZU9mU2NyaXB0Q2Fy
cnlpbmdBdHRyaWJ1dGUoYXR0cmlidXRlLm1fbmFtZSkpCi0gICAgICAgICAgICBjb250aW51ZTsK
LSAgICAgICAgaWYgKCFpc0NvbnRhaW5lZEluUmVxdWVzdChzbmlwcGV0Rm9yQXR0cmlidXRlKHRv
a2VuLCBhdHRyaWJ1dGUpKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB0b2tlbi5l
cmFzZVZhbHVlT2ZBdHRyaWJ1dGUoaSk7Ci0gICAgfQotI2VuZGlmCisgICAgcmV0dXJuIGRpZEJs
b2NrU2NyaXB0OwogfQogCi12b2lkIFhTU0ZpbHRlcjo6ZmlsdGVyVG9rZW5BZnRlclNjcmlwdFN0
YXJ0VGFnKEhUTUxUb2tlbiYgdG9rZW4pCitib29sIFhTU0ZpbHRlcjo6ZmlsdGVyVG9rZW5BZnRl
clNjcmlwdFN0YXJ0VGFnKEhUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUg
PT0gQWZ0ZXJTY3JpcHRTdGFydFRhZyk7CiAgICAgbV9zdGF0ZSA9IEluaXRpYWw7CiAKICAgICBp
ZiAodG9rZW4udHlwZSgpICE9IEhUTUxUb2tlbjo6Q2hhcmFjdGVyKSB7CiAgICAgICAgIEFTU0VS
VCh0b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpFbmRUYWcgfHwgdG9rZW4udHlwZSgpID09IEhU
TUxUb2tlbjo6RW5kT2ZGaWxlKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCiAgICAgaW50IHN0YXJ0ID0gMDsKQEAgLTE2Myw2OSArMTczLDk5IEBAIHZv
aWQgWFNTRmlsdGVyOjpmaWx0ZXJUb2tlbkFmdGVyU2NyaXB0U3RhcnRUYWcoSFRNTFRva2VuJiB0
b2tlbikKICAgICBpZiAoaXNDb250YWluZWRJblJlcXVlc3QobV9jYWNoZWRTbmlwcGV0ICsgc25p
cHBldEZvclJhbmdlKHRva2VuLCBzdGFydCwgZW5kKSkpIHsKICAgICAgICAgdG9rZW4uZXJhc2VD
aGFyYWN0ZXJzKCk7CiAgICAgICAgIHRva2VuLmFwcGVuZFRvQ2hhcmFjdGVyKCcgJyk7IC8vIFRl
Y2huaWNhbGx5LCBjaGFyYWN0ZXIgdG9rZW5zIGNhbid0IGJlIGVtcHR5LgorICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICB9CisgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFhTU0ZpbHRlcjo6
ZmlsdGVyU2NyaXB0VG9rZW4oSFRNTFRva2VuJiB0b2tlbikKK2Jvb2wgWFNTRmlsdGVyOjpmaWx0
ZXJTY3JpcHRUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogewogICAgIEFTU0VSVChtX3N0YXRlID09
IEluaXRpYWwpOwogICAgIEFTU0VSVCh0b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpTdGFydFRh
Zyk7CiAgICAgQVNTRVJUKGhhc05hbWUodG9rZW4sIHNjcmlwdFRhZykpOwogCiAgICAgaWYgKGVy
YXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tlbiwgc3JjQXR0cikpCi0gICAgICAgIHJldHVybjsK
KyAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBtX3N0YXRlID0gQWZ0ZXJTY3JpcHRTdGFydFRh
ZzsKICAgICBtX2NhY2hlZFNuaXBwZXQgPSBtX3BhcnNlci0+c291cmNlRm9yVG9rZW4odG9rZW4p
OworICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBYU1NGaWx0ZXI6OmZpbHRlck9iamVjdFRv
a2VuKEhUTUxUb2tlbiYgdG9rZW4pCitib29sIFhTU0ZpbHRlcjo6ZmlsdGVyT2JqZWN0VG9rZW4o
SFRNTFRva2VuJiB0b2tlbikKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBJbml0aWFsKTsKICAg
ICBBU1NFUlQodG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6U3RhcnRUYWcpOwogICAgIEFTU0VS
VChoYXNOYW1lKHRva2VuLCBvYmplY3RUYWcpKTsKIAotICAgIGVyYXNlQXR0cmlidXRlSWZJbmpl
Y3RlZCh0b2tlbiwgZGF0YUF0dHIpOwotICAgIGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tl
biwgdHlwZUF0dHIpOwotICAgIGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tlbiwgY2xhc3Np
ZEF0dHIpOworICAgIGJvb2wgZGlkQmxvY2tTY3JpcHQgPSBmYWxzZTsKKworICAgIGRpZEJsb2Nr
U2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tlbiwgZGF0YUF0dHIpOworICAg
IGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tlbiwgdHlwZUF0
dHIpOworICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tl
biwgY2xhc3NpZEF0dHIpOworCisgICAgcmV0dXJuIGRpZEJsb2NrU2NyaXB0OwogfQogCi12b2lk
IFhTU0ZpbHRlcjo6ZmlsdGVyRW1iZWRUb2tlbihIVE1MVG9rZW4mIHRva2VuKQorYm9vbCBYU1NG
aWx0ZXI6OmZpbHRlckVtYmVkVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKIHsKICAgICBBU1NFUlQo
bV9zdGF0ZSA9PSBJbml0aWFsKTsKICAgICBBU1NFUlQodG9rZW4udHlwZSgpID09IEhUTUxUb2tl
bjo6U3RhcnRUYWcpOwogICAgIEFTU0VSVChoYXNOYW1lKHRva2VuLCBlbWJlZFRhZykpOwogCi0g
ICAgZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRva2VuLCBzcmNBdHRyKTsKLSAgICBlcmFzZUF0
dHJpYnV0ZUlmSW5qZWN0ZWQodG9rZW4sIHR5cGVBdHRyKTsKKyAgICBib29sIGRpZEJsb2NrU2Ny
aXB0ID0gZmFsc2U7CisKKyAgICBkaWRCbG9ja1NjcmlwdCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5q
ZWN0ZWQodG9rZW4sIHNyY0F0dHIpOworICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmli
dXRlSWZJbmplY3RlZCh0b2tlbiwgdHlwZUF0dHIpOworCisgICAgcmV0dXJuIGRpZEJsb2NrU2Ny
aXB0OwogfQogCi12b2lkIFhTU0ZpbHRlcjo6ZmlsdGVyQXBwbGV0VG9rZW4oSFRNTFRva2VuJiB0
b2tlbikKK2Jvb2wgWFNTRmlsdGVyOjpmaWx0ZXJBcHBsZXRUb2tlbihIVE1MVG9rZW4mIHRva2Vu
KQogewogICAgIEFTU0VSVChtX3N0YXRlID09IEluaXRpYWwpOwogICAgIEFTU0VSVCh0b2tlbi50
eXBlKCkgPT0gSFRNTFRva2VuOjpTdGFydFRhZyk7CiAgICAgQVNTRVJUKGhhc05hbWUodG9rZW4s
IGFwcGxldFRhZykpOwogCi0gICAgZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRva2VuLCBjb2Rl
QXR0cik7Ci0gICAgZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRva2VuLCBvYmplY3RBdHRyKTsK
KyAgICBib29sIGRpZEJsb2NrU2NyaXB0ID0gZmFsc2U7CisKKyAgICBkaWRCbG9ja1NjcmlwdCB8
PSBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQodG9rZW4sIGNvZGVBdHRyKTsKKyAgICBkaWRCbG9j
a1NjcmlwdCB8PSBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQodG9rZW4sIG9iamVjdEF0dHIpOwor
CisgICAgcmV0dXJuIGRpZEJsb2NrU2NyaXB0OwogfQogCi12b2lkIFhTU0ZpbHRlcjo6ZmlsdGVy
TWV0YVRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCitib29sIFhTU0ZpbHRlcjo6ZmlsdGVyTWV0YVRv
a2VuKEhUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gSW5pdGlhbCk7
CiAgICAgQVNTRVJUKHRva2VuLnR5cGUoKSA9PSBIVE1MVG9rZW46OlN0YXJ0VGFnKTsKICAgICBB
U1NFUlQoaGFzTmFtZSh0b2tlbiwgbWV0YVRhZykpOwogCi0gICAgZXJhc2VBdHRyaWJ1dGVJZklu
amVjdGVkKHRva2VuLCBodHRwX2VxdWl2QXR0cik7CisgICAgcmV0dXJuIGVyYXNlQXR0cmlidXRl
SWZJbmplY3RlZCh0b2tlbiwgaHR0cF9lcXVpdkF0dHIpOwogfQogCi12b2lkIFhTU0ZpbHRlcjo6
ZmlsdGVyQmFzZVRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCitib29sIFhTU0ZpbHRlcjo6ZmlsdGVy
QmFzZVRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gSW5p
dGlhbCk7CiAgICAgQVNTRVJUKHRva2VuLnR5cGUoKSA9PSBIVE1MVG9rZW46OlN0YXJ0VGFnKTsK
ICAgICBBU1NFUlQoaGFzTmFtZSh0b2tlbiwgYmFzZVRhZykpOwogCi0gICAgZXJhc2VBdHRyaWJ1
dGVJZkluamVjdGVkKHRva2VuLCBocmVmQXR0cik7CisgICAgcmV0dXJuIGVyYXNlQXR0cmlidXRl
SWZJbmplY3RlZCh0b2tlbiwgaHJlZkF0dHIpOworfQorCitib29sIFhTU0ZpbHRlcjo6ZXJhc2VJ
bmxpbmVFdmVudEhhbmRsZXJzSWZJbmplY3RlZChIVE1MVG9rZW4mIHRva2VuKQoreworICAgIGJv
b2wgZGlkQmxvY2tTY3JpcHQgPSBmYWxzZTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHRv
a2VuLmF0dHJpYnV0ZXMoKS5zaXplKCk7ICsraSkgeworICAgICAgICBjb25zdCBIVE1MVG9rZW46
OkF0dHJpYnV0ZSYgYXR0cmlidXRlID0gdG9rZW4uYXR0cmlidXRlcygpLmF0KGkpOworICAgICAg
ICBpZiAoIWlzTmFtZU9mSW5saW5lRXZlbnRIYW5kbGVyKGF0dHJpYnV0ZS5tX25hbWUpKQorICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmICghaXNDb250YWluZWRJblJlcXVlc3Qoc25p
cHBldEZvckF0dHJpYnV0ZSh0b2tlbiwgYXR0cmlidXRlKSkpCisgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgdG9rZW4uZXJhc2VWYWx1ZU9mQXR0cmlidXRlKGkpOworICAgICAgICBkaWRC
bG9ja1NjcmlwdCA9IHRydWU7CisgICAgfQorICAgIHJldHVybiBkaWRCbG9ja1NjcmlwdDsKIH0K
IAogYm9vbCBYU1NGaWx0ZXI6OmVyYXNlQXR0cmlidXRlSWZJbmplY3RlZChIVE1MVG9rZW4mIHRv
a2VuLCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9YU1NGaWx0ZXIuaAppbmRleCBjN2RmMGViNmM2YmY5ZThlNWY3ZjE3ZDZmNjMzNDc0
YTcyMzI5YmNhLi4yM2UwNGIzODcwNmVmYzE4NTFmZTdkMTI5Y2U5ODcyM2E2Njk3YWIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NGaWx0ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NGaWx0ZXIuaApAQCAtNDUsMTQgKzQ1LDE3IEBAIHBy
aXZhdGU6CiAgICAgICAgIEFmdGVyU2NyaXB0U3RhcnRUYWcsCiAgICAgfTsKIAotICAgIHZvaWQg
ZmlsdGVyVG9rZW5BZnRlclNjcmlwdFN0YXJ0VGFnKEhUTUxUb2tlbiYpOwotICAgIHZvaWQgZmls
dGVyU2NyaXB0VG9rZW4oSFRNTFRva2VuJik7Ci0gICAgdm9pZCBmaWx0ZXJPYmplY3RUb2tlbihI
VE1MVG9rZW4mKTsKLSAgICB2b2lkIGZpbHRlckVtYmVkVG9rZW4oSFRNTFRva2VuJik7Ci0gICAg
dm9pZCBmaWx0ZXJBcHBsZXRUb2tlbihIVE1MVG9rZW4mKTsKLSAgICB2b2lkIGZpbHRlck1ldGFU
b2tlbihIVE1MVG9rZW4mKTsKLSAgICB2b2lkIGZpbHRlckJhc2VUb2tlbihIVE1MVG9rZW4mKTsK
KyAgICBib29sIGZpbHRlclRva2VuSW5pdGlhbChIVE1MVG9rZW4mKTsKKyAgICBib29sIGZpbHRl
clRva2VuQWZ0ZXJTY3JpcHRTdGFydFRhZyhIVE1MVG9rZW4mKTsKIAorICAgIGJvb2wgZmlsdGVy
U2NyaXB0VG9rZW4oSFRNTFRva2VuJik7CisgICAgYm9vbCBmaWx0ZXJPYmplY3RUb2tlbihIVE1M
VG9rZW4mKTsKKyAgICBib29sIGZpbHRlckVtYmVkVG9rZW4oSFRNTFRva2VuJik7CisgICAgYm9v
bCBmaWx0ZXJBcHBsZXRUb2tlbihIVE1MVG9rZW4mKTsKKyAgICBib29sIGZpbHRlck1ldGFUb2tl
bihIVE1MVG9rZW4mKTsKKyAgICBib29sIGZpbHRlckJhc2VUb2tlbihIVE1MVG9rZW4mKTsKKwor
ICAgIGJvb2wgZXJhc2VJbmxpbmVFdmVudEhhbmRsZXJzSWZJbmplY3RlZChIVE1MVG9rZW4mKTsK
ICAgICBib29sIGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZChIVE1MVG9rZW4mLCBjb25zdCBRdWFs
aWZpZWROYW1lJik7CiAKICAgICBTdHJpbmcgc25pcHBldEZvclJhbmdlKGNvbnN0IEhUTUxUb2tl
biYsIGludCBzdGFydCwgaW50IGVuZCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80527</attachid>
            <date>2011-01-28 17:03:14 -0800</date>
            <delta_ts>2011-01-28 17:40:58 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-53354-20110128170313.patch</filename>
            <type>text/plain</type>
            <size>11559</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxMDI4MTE2OTBmMWE3ZDA2MjY0MWNiYzNhNmVhYmZkZGRiNDRhYTYxLi5j
NjJmYWVhZWI4ZWQxMWJlMTlkZTZlNzc3YmZkNjBjODdiM2ViZTRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDYgKzEsMzQgQEAKIDIwMTEtMDEtMjggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAotICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgUmV2aWV3ZWQg
YnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgWFNTRmlsdGVyIHNob3VsZCBsb2cgdG8gdGhlIGNv
bnNvbGUgd2hlbiBpdCBibG9ja3Mgc29tZXRoaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzM1NAorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVmYWN0
b3JzIGEgYnVuY2ggb2YgbWV0aG9kcyBpbiBYU1NGaWx0ZXIgdG8gcmV0dXJuIGEgYm9vbAorICAg
ICAgICBpbmRpY2F0aW5nIHdoZXRoZXIgdGhleSBibG9ja2VkIGFueXRoaW5nLiAgVXNpbmcgdGhp
cyBib29sLCB3ZSBkZWNpZGUKKyAgICAgICAgd2hldGhlciB0byBsb2cgdG8gdGhlIGNvbnNvbGUu
ICBXZSdyZSB1c2luZyB0aGUgc2FtZSBsb2cgbWVzc2FnZSBhcyB0aGUKKyAgICAgICAgWFNTQXVk
aXRvciwgYnV0IGl0IHNlZW1zIGxpa2VseSB3ZSBjYW4gaW1wcm92ZSB0aGlzIG1lc3NhZ2UgaW4g
dGhlCisgICAgICAgIGZ1dHVyZSAoZXNwZWNpYWxseSBieSBwaXBpbmcgaW4gdGhlIGNvcnJlY3Qg
bGluZSBudW1iZXIsIHdoaWNoIGlzIG5vdworICAgICAgICBhY2Nlc3NpYmxlIHZpYSB0aGUgcGFy
c2VyKS4KKworICAgICAgICAqIGh0bWwvcGFyc2VyL1hTU0ZpbHRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTmFtZXM6OmlzTmFtZU9mSW5saW5lRXZlbnRIYW5kbGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlhTU0ZpbHRlcjo6ZmlsdGVyVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6WFNT
RmlsdGVyOjpmaWx0ZXJUb2tlbkluaXRpYWwpOgorICAgICAgICAoV2ViQ29yZTo6WFNTRmlsdGVy
OjpmaWx0ZXJUb2tlbkFmdGVyU2NyaXB0U3RhcnRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6WFNT
RmlsdGVyOjpmaWx0ZXJTY3JpcHRUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpYU1NGaWx0ZXI6
OmZpbHRlck9iamVjdFRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OlhTU0ZpbHRlcjo6ZmlsdGVy
RW1iZWRUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpYU1NGaWx0ZXI6OmZpbHRlckFwcGxldFRv
a2VuKToKKyAgICAgICAgKFdlYkNvcmU6OlhTU0ZpbHRlcjo6ZmlsdGVyTWV0YVRva2VuKToKKyAg
ICAgICAgKFdlYkNvcmU6OlhTU0ZpbHRlcjo6ZmlsdGVyQmFzZVRva2VuKToKKyAgICAgICAgKFdl
YkNvcmU6OlhTU0ZpbHRlcjo6ZXJhc2VJbmxpbmVFdmVudEhhbmRsZXJzSWZJbmplY3RlZCk6Cisg
ICAgICAgICogaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmg6CisKKzIwMTEtMDEtMjggIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KIAogICAgICAgICBXaXJlIHVwIHNldHRpbmdzLT54c3NBdWRpdG9yRW5hYmxlZCB0byBYU1NG
aWx0ZXIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUz
MzQ1CkBAIC0xMiw3ICs0MCw3IEBACiAKIDIwMTEtMDEtMjggIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAotICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCiAKICAgICAgICAgVGVhY2ggWFNTRmlsdGVyIGFi
b3V0IDxtZXRhPiBhbmQgPGJhc2U+IHRhZ3MKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUzMzM5CkBAIC0zMCw3ICs1OCw3IEBACiAKIDIwMTEtMDEtMjgg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAotICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCiAKICAgICAg
ICAgVGVhY2ggWFNTRmlsdGVyIGFib3V0IDxhcHBsZXQ+CiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzMzOApAQCAtNTIsNyArODAsNyBAQAogCiAyMDEx
LTAxLTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKLSAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgog
CiAgICAgICAgIFRlYWNoIHRoZSBYU1NGaWx0ZXIgYWJvdXQgb2JqZWN0IGFuZCBlbWJlZCB0YWdz
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzMzNgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0ZpbHRlci5jcHAKaW5kZXggZWVkZWY5ODViNDlj
ZjZiZDA5ZjAwNzE0MTNkZDRhZDZhZjBkMGNlMS4uYjI3NzFhMDlkZjg4ZDNjZjY2OTM5MDg2MzE5
OWVmMDcxNmM1ODA2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNT
RmlsdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NGaWx0ZXIuY3Bw
CkBAIC02MCwxMCArNjAsMTAgQEAgYm9vbCBmaW5kQXR0cmlidXRlV2l0aE5hbWUoY29uc3QgSFRN
TFRva2VuJiB0b2tlbiwgY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgc2kKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLWJvb2wgaXNOYW1lT2ZTY3JpcHRDYXJyeWluZ0F0dHJpYnV0ZShjb25zdCBW
ZWN0b3I8VUNoYXIsIDMyPiYgbmFtZSkKK2Jvb2wgaXNOYW1lT2ZJbmxpbmVFdmVudEhhbmRsZXIo
Y29uc3QgVmVjdG9yPFVDaGFyLCAzMj4mIG5hbWUpCiB7Ci0gICAgY29uc3Qgc2l6ZV90IGxlbmd0
aE9mU2hvcnRlc3RTY3JpcHRDYXJyeWluZ0F0dHJpYnV0ZSA9IDU7IC8vIFRvIHdpdDogb25jdXQu
Ci0gICAgaWYgKG5hbWUuc2l6ZSgpIDwgbGVuZ3RoT2ZTaG9ydGVzdFNjcmlwdENhcnJ5aW5nQXR0
cmlidXRlKQorICAgIGNvbnN0IHNpemVfdCBsZW5ndGhPZlNob3J0ZXN0SW5saW5lRXZlbnRIYW5k
bGVyTmFtZSA9IDU7IC8vIFRvIHdpdDogb25jdXQuCisgICAgaWYgKG5hbWUuc2l6ZSgpIDwgbGVu
Z3RoT2ZTaG9ydGVzdElubGluZUV2ZW50SGFuZGxlck5hbWUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICByZXR1cm4gbmFtZVswXSA9PSAnbycgJiYgbmFtZVsxXSA9PSAnbic7CiB9CkBAIC0x
MDQsNTYgKzEwNCw2MSBAQCB2b2lkIFhTU0ZpbHRlcjo6ZmlsdGVyVG9rZW4oSFRNTFRva2VuJiB0
b2tlbikKICAgICBpZiAoIW1faXNFbmFibGVkKQogICAgICAgICByZXR1cm47CiAKKyAgICBib29s
IGRpZEJsb2NrU2NyaXB0ID0gZmFsc2U7CisKICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKICAgICBj
YXNlIEluaXRpYWw6IAorICAgICAgICBkaWRCbG9ja1NjcmlwdCA9IGZpbHRlclRva2VuSW5pdGlh
bCh0b2tlbik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQWZ0ZXJTY3JpcHRTdGFydFRhZzoK
LSAgICAgICAgZmlsdGVyVG9rZW5BZnRlclNjcmlwdFN0YXJ0VGFnKHRva2VuKTsKKyAgICAgICAg
ZGlkQmxvY2tTY3JpcHQgPSBmaWx0ZXJUb2tlbkFmdGVyU2NyaXB0U3RhcnRUYWcodG9rZW4pOwog
ICAgICAgICBBU1NFUlQobV9zdGF0ZSA9PSBJbml0aWFsKTsKICAgICAgICAgbV9jYWNoZWRTbmlw
cGV0ID0gU3RyaW5nKCk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQog
Ci0gICAgaWYgKHRva2VuLnR5cGUoKSAhPSBIVE1MVG9rZW46OlN0YXJ0VGFnKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBpZiAoaGFzTmFtZSh0b2tlbiwgc2NyaXB0VGFnKSkKLSAgICAgICAgcmV0
dXJuIGZpbHRlclNjcmlwdFRva2VuKHRva2VuKTsKLQotICAgIGlmIChoYXNOYW1lKHRva2VuLCBv
YmplY3RUYWcpKQotICAgICAgICByZXR1cm4gZmlsdGVyT2JqZWN0VG9rZW4odG9rZW4pOwotCi0g
ICAgaWYgKGhhc05hbWUodG9rZW4sIGVtYmVkVGFnKSkKLSAgICAgICAgcmV0dXJuIGZpbHRlckVt
YmVkVG9rZW4odG9rZW4pOworICAgIGlmIChkaWRCbG9ja1NjcmlwdCkgeworICAgICAgICAvLyBG
SVhNRTogQ29uc2lkZXIgdXNpbmcgYSBtb3JlIGhlbHBmdWwgY29uc29sZSBtZXNzYWdlLgorICAg
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgiUmVmdXNl
ZCB0byBleGVjdXRlIGEgSmF2YVNjcmlwdCBzY3JpcHQuIFNvdXJjZSBjb2RlIG9mIHNjcmlwdCBm
b3VuZCB3aXRoaW4gcmVxdWVzdC5cbiIpKTsKKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBh
ZGQgdGhlIHJlYWwgbGluZSBudW1iZXIgdG8gdGhlIGNvbnNvbGUuCisgICAgICAgIG1fcGFyc2Vy
LT5kb2N1bWVudCgpLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2Fn
ZSwgMSwgU3RyaW5nKCkpOworICAgIH0KKyNlbmRpZgorfQogCi0gICAgaWYgKGhhc05hbWUodG9r
ZW4sIGFwcGxldFRhZykpCi0gICAgICAgIHJldHVybiBmaWx0ZXJBcHBsZXRUb2tlbih0b2tlbik7
Citib29sIFhTU0ZpbHRlcjo6ZmlsdGVyVG9rZW5Jbml0aWFsKEhUTUxUb2tlbiYgdG9rZW4pCit7
CisgICAgQVNTRVJUKG1fc3RhdGUgPT0gSW5pdGlhbCk7CiAKLSAgICBpZiAoaGFzTmFtZSh0b2tl
biwgbWV0YVRhZykpCi0gICAgICAgIHJldHVybiBmaWx0ZXJNZXRhVG9rZW4odG9rZW4pOworICAg
IGlmICh0b2tlbi50eXBlKCkgIT0gSFRNTFRva2VuOjpTdGFydFRhZykKKyAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgaWYgKGhhc05hbWUodG9rZW4sIGJhc2VUYWcpKQotICAgICAgICByZXR1
cm4gZmlsdGVyQmFzZVRva2VuKHRva2VuKTsKKyAgICBib29sIGRpZEJsb2NrU2NyaXB0ID0gZXJh
c2VJbmxpbmVFdmVudEhhbmRsZXJzSWZJbmplY3RlZCh0b2tlbik7CiAKLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHRva2VuLmF0dHJpYnV0ZXMoKS5zaXplKCk7ICsraSkgewotICAgICAgICBj
b25zdCBIVE1MVG9rZW46OkF0dHJpYnV0ZSYgYXR0cmlidXRlID0gdG9rZW4uYXR0cmlidXRlcygp
LmF0KGkpOwotICAgICAgICBpZiAoIWlzTmFtZU9mU2NyaXB0Q2FycnlpbmdBdHRyaWJ1dGUoYXR0
cmlidXRlLm1fbmFtZSkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKCFpc0Nv
bnRhaW5lZEluUmVxdWVzdChzbmlwcGV0Rm9yQXR0cmlidXRlKHRva2VuLCBhdHRyaWJ1dGUpKSkK
LSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB0b2tlbi5lcmFzZVZhbHVlT2ZBdHRyaWJ1
dGUoaSk7Ci0gICAgfQotI2VuZGlmCisgICAgaWYgKGhhc05hbWUodG9rZW4sIHNjcmlwdFRhZykp
CisgICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9IGZpbHRlclNjcmlwdFRva2VuKHRva2VuKTsKKyAg
ICBlbHNlIGlmIChoYXNOYW1lKHRva2VuLCBvYmplY3RUYWcpKQorICAgICAgICBkaWRCbG9ja1Nj
cmlwdCB8PSBmaWx0ZXJPYmplY3RUb2tlbih0b2tlbik7CisgICAgZWxzZSBpZiAoaGFzTmFtZSh0
b2tlbiwgZW1iZWRUYWcpKQorICAgICAgICBkaWRCbG9ja1NjcmlwdCB8PSBmaWx0ZXJFbWJlZFRv
a2VuKHRva2VuKTsKKyAgICBlbHNlIGlmIChoYXNOYW1lKHRva2VuLCBhcHBsZXRUYWcpKQorICAg
ICAgICBkaWRCbG9ja1NjcmlwdCB8PSBmaWx0ZXJBcHBsZXRUb2tlbih0b2tlbik7CisgICAgZWxz
ZSBpZiAoaGFzTmFtZSh0b2tlbiwgbWV0YVRhZykpCisgICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9
IGZpbHRlck1ldGFUb2tlbih0b2tlbik7CisgICAgZWxzZSBpZiAoaGFzTmFtZSh0b2tlbiwgYmFz
ZVRhZykpCisgICAgICAgIGRpZEJsb2NrU2NyaXB0IHw9IGZpbHRlckJhc2VUb2tlbih0b2tlbik7
CisKKyAgICByZXR1cm4gZGlkQmxvY2tTY3JpcHQ7CiB9CiAKLXZvaWQgWFNTRmlsdGVyOjpmaWx0
ZXJUb2tlbkFmdGVyU2NyaXB0U3RhcnRUYWcoSFRNTFRva2VuJiB0b2tlbikKK2Jvb2wgWFNTRmls
dGVyOjpmaWx0ZXJUb2tlbkFmdGVyU2NyaXB0U3RhcnRUYWcoSFRNTFRva2VuJiB0b2tlbikKIHsK
ICAgICBBU1NFUlQobV9zdGF0ZSA9PSBBZnRlclNjcmlwdFN0YXJ0VGFnKTsKICAgICBtX3N0YXRl
ID0gSW5pdGlhbDsKIAogICAgIGlmICh0b2tlbi50eXBlKCkgIT0gSFRNTFRva2VuOjpDaGFyYWN0
ZXIpIHsKICAgICAgICAgQVNTRVJUKHRva2VuLnR5cGUoKSA9PSBIVE1MVG9rZW46OkVuZFRhZyB8
fCB0b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpFbmRPZkZpbGUpOwotICAgICAgICByZXR1cm47
CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBpbnQgc3RhcnQgPSAwOwpAQCAt
MTYzLDY5ICsxNjgsOTkgQEAgdm9pZCBYU1NGaWx0ZXI6OmZpbHRlclRva2VuQWZ0ZXJTY3JpcHRT
dGFydFRhZyhIVE1MVG9rZW4mIHRva2VuKQogICAgIGlmIChpc0NvbnRhaW5lZEluUmVxdWVzdCht
X2NhY2hlZFNuaXBwZXQgKyBzbmlwcGV0Rm9yUmFuZ2UodG9rZW4sIHN0YXJ0LCBlbmQpKSkgewog
ICAgICAgICB0b2tlbi5lcmFzZUNoYXJhY3RlcnMoKTsKICAgICAgICAgdG9rZW4uYXBwZW5kVG9D
aGFyYWN0ZXIoJyAnKTsgLy8gVGVjaG5pY2FsbHksIGNoYXJhY3RlciB0b2tlbnMgY2FuJ3QgYmUg
ZW1wdHkuCisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLXZvaWQgWFNTRmlsdGVyOjpmaWx0ZXJTY3JpcHRUb2tlbihIVE1MVG9rZW4mIHRva2VuKQor
Ym9vbCBYU1NGaWx0ZXI6OmZpbHRlclNjcmlwdFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiB7CiAg
ICAgQVNTRVJUKG1fc3RhdGUgPT0gSW5pdGlhbCk7CiAgICAgQVNTRVJUKHRva2VuLnR5cGUoKSA9
PSBIVE1MVG9rZW46OlN0YXJ0VGFnKTsKICAgICBBU1NFUlQoaGFzTmFtZSh0b2tlbiwgc2NyaXB0
VGFnKSk7CiAKICAgICBpZiAoZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRva2VuLCBzcmNBdHRy
KSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIG1fc3RhdGUg
PSBBZnRlclNjcmlwdFN0YXJ0VGFnOwogICAgIG1fY2FjaGVkU25pcHBldCA9IG1fcGFyc2VyLT5z
b3VyY2VGb3JUb2tlbih0b2tlbik7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFhTU0Zp
bHRlcjo6ZmlsdGVyT2JqZWN0VG9rZW4oSFRNTFRva2VuJiB0b2tlbikKK2Jvb2wgWFNTRmlsdGVy
OjpmaWx0ZXJPYmplY3RUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogewogICAgIEFTU0VSVChtX3N0
YXRlID09IEluaXRpYWwpOwogICAgIEFTU0VSVCh0b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuOjpT
dGFydFRhZyk7CiAgICAgQVNTRVJUKGhhc05hbWUodG9rZW4sIG9iamVjdFRhZykpOwogCi0gICAg
ZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRva2VuLCBkYXRhQXR0cik7Ci0gICAgZXJhc2VBdHRy
aWJ1dGVJZkluamVjdGVkKHRva2VuLCB0eXBlQXR0cik7Ci0gICAgZXJhc2VBdHRyaWJ1dGVJZklu
amVjdGVkKHRva2VuLCBjbGFzc2lkQXR0cik7CisgICAgYm9vbCBkaWRCbG9ja1NjcmlwdCA9IGZh
bHNlOworCisgICAgZGlkQmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRv
a2VuLCBkYXRhQXR0cik7CisgICAgZGlkQmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZklu
amVjdGVkKHRva2VuLCB0eXBlQXR0cik7CisgICAgZGlkQmxvY2tTY3JpcHQgfD0gZXJhc2VBdHRy
aWJ1dGVJZkluamVjdGVkKHRva2VuLCBjbGFzc2lkQXR0cik7CisKKyAgICByZXR1cm4gZGlkQmxv
Y2tTY3JpcHQ7CiB9CiAKLXZvaWQgWFNTRmlsdGVyOjpmaWx0ZXJFbWJlZFRva2VuKEhUTUxUb2tl
biYgdG9rZW4pCitib29sIFhTU0ZpbHRlcjo6ZmlsdGVyRW1iZWRUb2tlbihIVE1MVG9rZW4mIHRv
a2VuKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IEluaXRpYWwpOwogICAgIEFTU0VSVCh0b2tl
bi50eXBlKCkgPT0gSFRNTFRva2VuOjpTdGFydFRhZyk7CiAgICAgQVNTRVJUKGhhc05hbWUodG9r
ZW4sIGVtYmVkVGFnKSk7CiAKLSAgICBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQodG9rZW4sIHNy
Y0F0dHIpOwotICAgIGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tlbiwgdHlwZUF0dHIpOwor
ICAgIGJvb2wgZGlkQmxvY2tTY3JpcHQgPSBmYWxzZTsKKworICAgIGRpZEJsb2NrU2NyaXB0IHw9
IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tlbiwgc3JjQXR0cik7CisgICAgZGlkQmxvY2tT
Y3JpcHQgfD0gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRva2VuLCB0eXBlQXR0cik7CisKKyAg
ICByZXR1cm4gZGlkQmxvY2tTY3JpcHQ7CiB9CiAKLXZvaWQgWFNTRmlsdGVyOjpmaWx0ZXJBcHBs
ZXRUb2tlbihIVE1MVG9rZW4mIHRva2VuKQorYm9vbCBYU1NGaWx0ZXI6OmZpbHRlckFwcGxldFRv
a2VuKEhUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gSW5pdGlhbCk7
CiAgICAgQVNTRVJUKHRva2VuLnR5cGUoKSA9PSBIVE1MVG9rZW46OlN0YXJ0VGFnKTsKICAgICBB
U1NFUlQoaGFzTmFtZSh0b2tlbiwgYXBwbGV0VGFnKSk7CiAKLSAgICBlcmFzZUF0dHJpYnV0ZUlm
SW5qZWN0ZWQodG9rZW4sIGNvZGVBdHRyKTsKLSAgICBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQo
dG9rZW4sIG9iamVjdEF0dHIpOworICAgIGJvb2wgZGlkQmxvY2tTY3JpcHQgPSBmYWxzZTsKKwor
ICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0b2tlbiwgY29k
ZUF0dHIpOworICAgIGRpZEJsb2NrU2NyaXB0IHw9IGVyYXNlQXR0cmlidXRlSWZJbmplY3RlZCh0
b2tlbiwgb2JqZWN0QXR0cik7CisKKyAgICByZXR1cm4gZGlkQmxvY2tTY3JpcHQ7CiB9CiAKLXZv
aWQgWFNTRmlsdGVyOjpmaWx0ZXJNZXRhVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKK2Jvb2wgWFNT
RmlsdGVyOjpmaWx0ZXJNZXRhVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKIHsKICAgICBBU1NFUlQo
bV9zdGF0ZSA9PSBJbml0aWFsKTsKICAgICBBU1NFUlQodG9rZW4udHlwZSgpID09IEhUTUxUb2tl
bjo6U3RhcnRUYWcpOwogICAgIEFTU0VSVChoYXNOYW1lKHRva2VuLCBtZXRhVGFnKSk7CiAKLSAg
ICBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQodG9rZW4sIGh0dHBfZXF1aXZBdHRyKTsKKyAgICBy
ZXR1cm4gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRva2VuLCBodHRwX2VxdWl2QXR0cik7CiB9
CiAKLXZvaWQgWFNTRmlsdGVyOjpmaWx0ZXJCYXNlVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKK2Jv
b2wgWFNTRmlsdGVyOjpmaWx0ZXJCYXNlVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKIHsKICAgICBB
U1NFUlQobV9zdGF0ZSA9PSBJbml0aWFsKTsKICAgICBBU1NFUlQodG9rZW4udHlwZSgpID09IEhU
TUxUb2tlbjo6U3RhcnRUYWcpOwogICAgIEFTU0VSVChoYXNOYW1lKHRva2VuLCBiYXNlVGFnKSk7
CiAKLSAgICBlcmFzZUF0dHJpYnV0ZUlmSW5qZWN0ZWQodG9rZW4sIGhyZWZBdHRyKTsKKyAgICBy
ZXR1cm4gZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKHRva2VuLCBocmVmQXR0cik7Cit9CisKK2Jv
b2wgWFNTRmlsdGVyOjplcmFzZUlubGluZUV2ZW50SGFuZGxlcnNJZkluamVjdGVkKEhUTUxUb2tl
biYgdG9rZW4pCit7CisgICAgYm9vbCBkaWRCbG9ja1NjcmlwdCA9IGZhbHNlOworICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgdG9rZW4uYXR0cmlidXRlcygpLnNpemUoKTsgKytpKSB7CisgICAg
ICAgIGNvbnN0IEhUTUxUb2tlbjo6QXR0cmlidXRlJiBhdHRyaWJ1dGUgPSB0b2tlbi5hdHRyaWJ1
dGVzKCkuYXQoaSk7CisgICAgICAgIGlmICghaXNOYW1lT2ZJbmxpbmVFdmVudEhhbmRsZXIoYXR0
cmlidXRlLm1fbmFtZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCFpc0Nv
bnRhaW5lZEluUmVxdWVzdChzbmlwcGV0Rm9yQXR0cmlidXRlKHRva2VuLCBhdHRyaWJ1dGUpKSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB0b2tlbi5lcmFzZVZhbHVlT2ZBdHRyaWJ1
dGUoaSk7CisgICAgICAgIGRpZEJsb2NrU2NyaXB0ID0gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJu
IGRpZEJsb2NrU2NyaXB0OwogfQogCiBib29sIFhTU0ZpbHRlcjo6ZXJhc2VBdHRyaWJ1dGVJZklu
amVjdGVkKEhUTUxUb2tlbiYgdG9rZW4sIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5h
bWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NGaWx0ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0ZpbHRlci5oCmluZGV4IGM3ZGYwZWI2YzZi
ZjllOGU1ZjdmMTdkNmY2MzM0NzRhNzIzMjliY2EuLjIzZTA0YjM4NzA2ZWZjMTg1MWZlN2QxMjlj
ZTk4NzIzYTY2OTdhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hT
U0ZpbHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0ZpbHRlci5oCkBA
IC00NSwxNCArNDUsMTcgQEAgcHJpdmF0ZToKICAgICAgICAgQWZ0ZXJTY3JpcHRTdGFydFRhZywK
ICAgICB9OwogCi0gICAgdm9pZCBmaWx0ZXJUb2tlbkFmdGVyU2NyaXB0U3RhcnRUYWcoSFRNTFRv
a2VuJik7Ci0gICAgdm9pZCBmaWx0ZXJTY3JpcHRUb2tlbihIVE1MVG9rZW4mKTsKLSAgICB2b2lk
IGZpbHRlck9iamVjdFRva2VuKEhUTUxUb2tlbiYpOwotICAgIHZvaWQgZmlsdGVyRW1iZWRUb2tl
bihIVE1MVG9rZW4mKTsKLSAgICB2b2lkIGZpbHRlckFwcGxldFRva2VuKEhUTUxUb2tlbiYpOwot
ICAgIHZvaWQgZmlsdGVyTWV0YVRva2VuKEhUTUxUb2tlbiYpOwotICAgIHZvaWQgZmlsdGVyQmFz
ZVRva2VuKEhUTUxUb2tlbiYpOworICAgIGJvb2wgZmlsdGVyVG9rZW5Jbml0aWFsKEhUTUxUb2tl
biYpOworICAgIGJvb2wgZmlsdGVyVG9rZW5BZnRlclNjcmlwdFN0YXJ0VGFnKEhUTUxUb2tlbiYp
OwogCisgICAgYm9vbCBmaWx0ZXJTY3JpcHRUb2tlbihIVE1MVG9rZW4mKTsKKyAgICBib29sIGZp
bHRlck9iamVjdFRva2VuKEhUTUxUb2tlbiYpOworICAgIGJvb2wgZmlsdGVyRW1iZWRUb2tlbihI
VE1MVG9rZW4mKTsKKyAgICBib29sIGZpbHRlckFwcGxldFRva2VuKEhUTUxUb2tlbiYpOworICAg
IGJvb2wgZmlsdGVyTWV0YVRva2VuKEhUTUxUb2tlbiYpOworICAgIGJvb2wgZmlsdGVyQmFzZVRv
a2VuKEhUTUxUb2tlbiYpOworCisgICAgYm9vbCBlcmFzZUlubGluZUV2ZW50SGFuZGxlcnNJZklu
amVjdGVkKEhUTUxUb2tlbiYpOwogICAgIGJvb2wgZXJhc2VBdHRyaWJ1dGVJZkluamVjdGVkKEhU
TUxUb2tlbiYsIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIFN0cmluZyBzbmlwcGV0Rm9y
UmFuZ2UoY29uc3QgSFRNTFRva2VuJiwgaW50IHN0YXJ0LCBpbnQgZW5kKTsK
</data>
<flag name="commit-queue"
          id="72021"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>