<?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>47616</bug_id>
          
          <creation_ts>2010-10-13 13:28:55 -0700</creation_ts>
          <short_desc>Support typed arrays in workers</short_desc>
          <delta_ts>2010-11-29 18:22:37 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>293670</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-13 13:28:55 -0700</bug_when>
    <thetext>Since ArrayBuffer will be used in FileReader/FileReaderSync, we need to support adding typed arrays in workers. This involves:
1) Exposing constructors in WorkerContext.
2) Adding NoStaticTables attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293693</commentid>
    <comment_count>1</comment_count>
      <attachid>70656</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-13 13:55:49 -0700</bug_when>
    <thetext>Created attachment 70656
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293713</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 14:25:58 -0700</bug_when>
    <thetext>Attachment 70656 did not build on mac:
Build output: http://queues.webkit.org/results/4393008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293745</commentid>
    <comment_count>3</comment_count>
      <attachid>70671</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-13 15:22:50 -0700</bug_when>
    <thetext>Created attachment 70671
Proposed Patch

Fixed mac build error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293776</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 15:50:10 -0700</bug_when>
    <thetext>Attachment 70671 did not build on mac:
Build output: http://queues.webkit.org/results/4466012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293786</commentid>
    <comment_count>5</comment_count>
      <attachid>70678</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-13 16:03:44 -0700</bug_when>
    <thetext>Created attachment 70678
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293973</commentid>
    <comment_count>6</comment_count>
      <attachid>70678</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-10-13 22:52:32 -0700</bug_when>
    <thetext>Comment on attachment 70678
Proposed Patch

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

Consider removing the 3D_CANVAS in the Conditional in workers.

Also I see that the attributes are already out of sort order, but I think we can keep them mostly sorted with the moves that I suggested.

&gt; WebCore/html/canvas/ArrayBuffer.idl:33
&gt; +        NoStaticTables

I&apos;d move NoStaticTables to be sorted.

Following the general idea: If ordering doesn&apos;t matter, sort.

&gt; WebCore/html/canvas/ArrayBufferView.idl:27
&gt; +    interface [Conditional=3D_CANVAS|BLOB, CustomToJS, OmitConstructor, NoStaticTables] ArrayBufferView {

Consider moving before OmitConstructor.

&gt; WebCore/html/canvas/Float32Array.idl:33
&gt; +        NoStaticTables,

After Generate...

&gt; WebCore/workers/WorkerContext.idl:117
&gt; +        attribute [Conditional=3D_CANVAS|BLOB,EnabledAtRuntime] ArrayBufferConstructor ArrayBuffer; // Usable with new operator

Why are we exposing these in Workers when 3d canvas is enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294200</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-10-14 10:57:21 -0700</bug_when>
    <thetext>&gt; need to support adding typed arrays in workers. This involves:
&gt; 1) Exposing constructors in WorkerContext.
&gt; 2) Adding NoStaticTables attributes.

A general comment: exposing any feature in workers involves making sure that its implementation is thread safe. This is by far the most important and complicated step.

Watching the bugs, I&apos;m not convinced that such analysis is being performed for each feature that&apos;s being added to workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294207</commentid>
    <comment_count>8</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-14 11:05:23 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; need to support adding typed arrays in workers. This involves:
&gt; &gt; 1) Exposing constructors in WorkerContext.
&gt; &gt; 2) Adding NoStaticTables attributes.
&gt; 
&gt; A general comment: exposing any feature in workers involves making sure that its implementation is thread safe. This is by far the most important and complicated step.
&gt; 
&gt; Watching the bugs, I&apos;m not convinced that such analysis is being performed for each feature that&apos;s being added to workers.

Thanks a lot for reminding. We&apos;re not supporting passing type array objects between main thread and worker thread. We only allow them to be constructed and used in one single thread. I&apos;ve checked the implementations and it seems to be fine for sole use in single thread. Anything else I need to analyze?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294222</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-10-14 11:24:16 -0700</bug_when>
    <thetext>Yes, I also didn&apos;t spot anything suspicious in the implementation. Unlike a lot of WebCore code, it&apos;s not using any static data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294263</commentid>
    <comment_count>10</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-14 12:07:26 -0700</bug_when>
    <thetext>Fixed as suggested and committed as http://trac.webkit.org/changeset/69782.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294357</commentid>
    <comment_count>11</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-10-14 14:05:59 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; A general comment: exposing any feature in workers involves making sure that its implementation is thread safe. This is by far the most important and complicated step.
&gt; 
&gt; Watching the bugs, I&apos;m not convinced that such analysis is being performed for each feature that&apos;s being added to workers.

Thanks for the reminder Alexey!

I&apos;ve been trying to watch that (but in honestly for this one in particular I didn&apos;t look at closely as I should have at all of the under lying implementation until your reminder -- even thought it turned out alright).

I&apos;ll make a special note each time I review one of them that I did this, so anyone scanning reviews can see what outside of the sparse comments was done.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70656</attachid>
            <date>2010-10-13 13:55:49 -0700</date>
            <delta_ts>2010-10-13 15:22:50 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>47616</filename>
            <type>text/plain</type>
            <size>9662</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
M2ZiZTJkMi4uY2RmYmQ4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMC0xMyAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3VwcG9ydCB0eXBlZCBhcnJheXMgaW4gd29ya2VycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc2MTYKKworICAgICAgICBUbyBz
dXBwb3J0IHR5cGVkIGFycmF5cyBpbiB3b3JrZXJzLCB3ZSBuZWVkIHRvIGV4cG9zZSBjb25zdHJ1
Y3RvcnMgaW4KKyAgICAgICAgV29ya2VyQ29udGV4dCBhbmQgYWRkIE5vU3RhdGljVGFibGVzIGF0
dHJpYnV0ZS4KKworICAgICAgICBJIGFsc28gYWRkIEZpbGUgQVBJIGZlYXR1cmUgZ3VhcmQgdG8g
dGhlIGNvbnN0cnVjdG9ycyBkZWZpbmVkIGluCisgICAgICAgIERPTVdpbmRvdy4KKworICAgICAg
ICAqIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbDogQWRkIE5vU3RhdGljVGFibGVzIGF0dHJp
YnV0ZS4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuaWRsOiBBZGQgTm9T
dGF0aWNUYWJsZXMgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJh
eS5pZGw6IEFkZCBOb1N0YXRpY1RhYmxlcyBhdHRyaWJ1dGUuCisgICAgICAgICogaHRtbC9jYW52
YXMvSW50MTZBcnJheS5pZGw6IEFkZCBOb1N0YXRpY1RhYmxlcyBhdHRyaWJ1dGUuCisgICAgICAg
ICogaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGw6IEFkZCBOb1N0YXRpY1RhYmxlcyBhdHRyaWJ1
dGUuCisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbDogQWRkIE5vU3RhdGljVGFi
bGVzIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGw6IEFk
ZCBOb1N0YXRpY1RhYmxlcyBhdHRyaWJ1dGUuCisgICAgICAgICogaHRtbC9jYW52YXMvVWludDMy
QXJyYXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJsZXMgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1VpbnQ4QXJyYXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJsZXMgYXR0cmlidXRlLgorICAg
ICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogQWRkIEZpbGUgQVBJIGZlYXR1cmUgZ3VhcmQgdG8g
dGhlIGNvbnN0cnVjdG9ycworICAgICAgICBkZWZpbmVkIGluIERPTVdpbmRvdy4KKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsOiBFeHBvc2UgdHlwZSBhcnJheSBjb25zdHJ1Y3Rv
cnMuCisKIDIwMTAtMTAtMTMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVm
ZmVyLmlkbAppbmRleCA1MGFiYzZlLi4yZTA3NjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0FycmF5QnVmZmVyLmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVm
ZmVyLmlkbApAQCAtMjksNyArMjksOCBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIENvbmRpdGlv
bmFsPTNEX0NBTlZBU3xCTE9CLAogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBD
dXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKLSAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvcgorICAg
ICAgICBWOEN1c3RvbUNvbnN0cnVjdG9yLAorICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0g
QXJyYXlCdWZmZXIgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgaW50IGJ5dGVMZW5ndGg7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3
LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3LmlkbAppbmRleCBmZTAy
MGZhLi44ZjFlZTUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVy
Vmlldy5pZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuaWRsCkBA
IC0yNCw3ICsyNCw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsIEN1c3RvbVRvSlMsIE9taXRDb25zdHJ1Y3Rvcl0gQXJy
YXlCdWZmZXJWaWV3IHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9C
LCBDdXN0b21Ub0pTLCBPbWl0Q29uc3RydWN0b3IsIE5vU3RhdGljVGFibGVzXSBBcnJheUJ1ZmZl
clZpZXcgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgYnVmZmVyOwog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRlT2Zmc2V0OwogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRlTGVuZ3RoOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIGIvV2ViQ29yZS9odG1s
L2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsCmluZGV4IDEzMjVjYmIuLmE4NzQyZmIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0
bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwKQEAgLTMwLDYgKzMwLDcgQEAgbW9kdWxlIGh0bWwg
ewogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5j
dGlvbiwKICAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgTm9TdGF0aWNUYWJs
ZXMsCiAgICAgICAgIEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAgICAgSGFzQ3VzdG9tSW5k
ZXhTZXR0ZXIsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMv
SW50MTZBcnJheS5pZGwKaW5kZXggYmQ3ZmNkMC4uYjYwZGQ0MCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0lu
dDE2QXJyYXkuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgQ2Fu
QmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAg
IFY4Q3VzdG9tQ29uc3RydWN0b3IsCisgICAgICAgIE5vU3RhdGljVGFibGVzLAogICAgICAgICBI
YXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAg
ICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9j
YW52YXMvSW50MzJBcnJheS5pZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRs
CmluZGV4IDI3MzQ2NDcuLmVkNDYzMjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMv
SW50MzJBcnJheS5pZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQzMkFycmF5LmlkbApA
QCAtMzAsNiArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQs
CiAgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAgICBWOEN1c3RvbUNvbnN0
cnVjdG9yLAorICAgICAgICBOb1N0YXRpY1RhYmxlcywKICAgICAgICAgSGFzTnVtZXJpY0luZGV4
R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVO
YXRpdmVDb252ZXJ0ZXIsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJh
eS5pZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5pZGwKaW5kZXggNDExOGNmMy4u
MjdlMzZlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsCisr
KyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbApAQCAtMzAsNiArMzAsNyBAQCBt
b2R1bGUgaHRtbCB7CiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNv
bnN0cnVjdEZ1bmN0aW9uLAogICAgICAgICBWOEN1c3RvbUNvbnN0cnVjdG9yLAorICAgICAgICBO
b1N0YXRpY1RhYmxlcywKICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0dGVyLAogICAgICAgICBI
YXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmlkbCBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCmluZGV4IGFlNjQwOTUuLjE2ODExYmYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCisrKyBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCkBAIC0zMCw2ICszMCw3IEBAIG1vZHVsZSBodG1s
IHsKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVu
Y3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCisgICAgICAgIE5vU3RhdGljVGFi
bGVzLAogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUlu
ZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRsIGIvV2ViQ29yZS9odG1sL2NhbnZh
cy9VaW50MzJBcnJheS5pZGwKaW5kZXggMGVmNWU5Mi4uMTQ2MTBmNyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZh
cy9VaW50MzJBcnJheS5pZGwKQEAgLTMwLDYgKzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAg
ICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAg
ICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMsCiAgICAg
ICAgIEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAgICAgSGFzQ3VzdG9tSW5kZXhTZXR0ZXIs
CiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL2NhbnZhcy9VaW50OEFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJh
eS5pZGwKaW5kZXggNWEzMmU1YS4uNTU3NGUzMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2Nh
bnZhcy9VaW50OEFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXku
aWRsCkBAIC0zMCw2ICszMCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgQ2FuQmVDb25zdHJ1
Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIFY4Q3VzdG9t
Q29uc3RydWN0b3IsCisgICAgICAgIE5vU3RhdGljVGFibGVzLAogICAgICAgICBIYXNOdW1lcmlj
SW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5l
cmF0ZU5hdGl2ZUNvbnZlcnRlciwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNTU5NzIzYi4uMGU4MzU1NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKQEAgLTQ4NiwxNCArNDg2LDE0IEBAIG1vZHVsZSB3aW5kb3cgewogCiAg
ICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmdNYXBDb25zdHJ1Y3RvciBET01TdHJpbmdNYXA7CiAK
LSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFT
LEVuYWJsZWRBdFJ1bnRpbWVdIEFycmF5QnVmZmVyQ29uc3RydWN0b3IgQXJyYXlCdWZmZXI7IC8v
IFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdl
dHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gSW50OEFycmF5Q29u
c3RydWN0b3IgSW50OEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAg
YXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRB
dFJ1bnRpbWVdIFVpbnQ4QXJyYXlDb25zdHJ1Y3RvciBVaW50OEFycmF5OyAvLyBVc2FibGUgd2l0
aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0
aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVdIEludDE2QXJyYXlDb25zdHJ1Y3RvciBJ
bnQxNkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0cmlidXRl
IFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVd
IFVpbnQxNkFycmF5Q29uc3RydWN0b3IgVWludDE2QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBv
cGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0z
RF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gSW50MzJBcnJheUNvbnN0cnVjdG9yIEludDMyQXJy
YXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1
c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gVWludDMy
QXJyYXlDb25zdHJ1Y3RvciBVaW50MzJBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9y
Ci0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZB
UyxFbmFibGVkQXRSdW50aW1lXSBGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciBGbG9hdDMyQXJyYXk7
IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3Rv
bUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBBcnJh
eUJ1ZmZlckNvbnN0cnVjdG9yIEFycmF5QnVmZmVyOyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0
b3IKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FO
VkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gSW50OEFycmF5Q29uc3RydWN0b3IgSW50OEFycmF5
OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0
b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gVWlu
dDhBcnJheUNvbnN0cnVjdG9yIFVpbnQ4QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRv
cgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5W
QVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQxNkFycmF5Q29uc3RydWN0b3IgSW50MTZBcnJh
eTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3Vz
dG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIFVp
bnQxNkFycmF5Q29uc3RydWN0b3IgVWludDE2QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVy
YXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9D
QU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQzMkFycmF5Q29uc3RydWN0b3IgSW50MzJB
cnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbSlND
Q3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVd
IFVpbnQzMkFycmF5Q29uc3RydWN0b3IgVWludDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBv
cGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0z
RF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciBG
bG9hdDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogCiAgICAgICAgIGF0dHJp
YnV0ZSBFdmVudENvbnN0cnVjdG9yIEV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgQmVmb3JlTG9h
ZEV2ZW50Q29uc3RydWN0b3IgQmVmb3JlTG9hZEV2ZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
aWRsCmluZGV4IGFhNDBmZjMuLmE4M2NlNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmlkbAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwK
QEAgLTExMyw2ICsxMTMsMTUgQEAgbW9kdWxlIHRocmVhZHMgewogCiAgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBGbGFnc0NvbnN0cnVjdG9y
IEZsYWdzOwogI2VuZGlmCisKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5W
QVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBBcnJheUJ1ZmZlckNvbnN0cnVjdG9yIEFycmF5QnVm
ZmVyOyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtDb25k
aXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQ4QXJyYXlDb25zdHJ1
Y3RvciBJbnQ4QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIFVpbnQ4
QXJyYXlDb25zdHJ1Y3RvciBVaW50OEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IK
KyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRS
dW50aW1lXSBJbnQxNkFycmF5Q29uc3RydWN0b3IgSW50MTZBcnJheTsgLy8gVXNhYmxlIHdpdGgg
bmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJM
T0IsRW5hYmxlZEF0UnVudGltZV0gVWludDE2QXJyYXlDb25zdHJ1Y3RvciBVaW50MTZBcnJheTsg
Ly8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gSW50MzJBcnJheUNvbnN0cnVjdG9y
IEludDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1
dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIFVpbnQzMkFy
cmF5Q29uc3RydWN0b3IgVWludDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgor
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1
bnRpbWVdIEZsb2F0MzJBcnJheUNvbnN0cnVjdG9yIEZsb2F0MzJBcnJheTsgLy8gVXNhYmxlIHdp
dGggbmV3IG9wZXJhdG9yCiAgICAgfTsKIAogfQo=
</data>
<flag name="commit-queue"
          id="60524"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70671</attachid>
            <date>2010-10-13 15:22:50 -0700</date>
            <delta_ts>2010-10-13 16:03:44 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>47616_2</filename>
            <type>text/plain</type>
            <size>10361</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
M2ZiZTJkMi4uODBiODEwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMC0xMC0xMyAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3VwcG9ydCB0eXBlZCBhcnJheXMgaW4gd29ya2VycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc2MTYKKworICAgICAgICBUbyBz
dXBwb3J0IHR5cGVkIGFycmF5cyBpbiB3b3JrZXJzLCB3ZSBuZWVkIHRvIGV4cG9zZSBjb25zdHJ1
Y3RvcnMgaW4KKyAgICAgICAgV29ya2VyQ29udGV4dCBhbmQgYWRkIE5vU3RhdGljVGFibGVzIGF0
dHJpYnV0ZS4KKworICAgICAgICBJIGFsc28gYWRkIEZpbGUgQVBJIGZlYXR1cmUgZ3VhcmQgdG8g
dGhlIGNvbnN0cnVjdG9ycyBkZWZpbmVkIGluCisgICAgICAgIERPTVdpbmRvdy4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDogQWRkIEZpbGUgQVBJIGZlYXR1
cmUgZ3VhcmQgdG8gdGhlCisgICAgICAgIGNvbnN0cnVjdG9ycyBkZWZpbmVkIGluIERPTVdpbmRv
dy4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGw6IEFkZCBOb1N0YXRpY1Rh
YmxlcyBhdHRyaWJ1dGUuCisgICAgICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3Lmlk
bDogQWRkIE5vU3RhdGljVGFibGVzIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9G
bG9hdDMyQXJyYXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJsZXMgYXR0cmlidXRlLgorICAgICAgICAq
IGh0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJsZXMgYXR0cmlidXRl
LgorICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJs
ZXMgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvY2FudmFzL0ludDhBcnJheS5pZGw6IEFkZCBO
b1N0YXRpY1RhYmxlcyBhdHRyaWJ1dGUuCisgICAgICAgICogaHRtbC9jYW52YXMvVWludDE2QXJy
YXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJsZXMgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1VpbnQzMkFycmF5LmlkbDogQWRkIE5vU3RhdGljVGFibGVzIGF0dHJpYnV0ZS4KKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9VaW50OEFycmF5LmlkbDogQWRkIE5vU3RhdGljVGFibGVzIGF0dHJp
YnV0ZS4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6IEFkZCBGaWxlIEFQSSBmZWF0dXJl
IGd1YXJkIHRvIHRoZSBjb25zdHJ1Y3RvcnMKKyAgICAgICAgZGVmaW5lZCBpbiBET01XaW5kb3cu
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDogRXhwb3NlIHR5cGUgYXJyYXkg
Y29uc3RydWN0b3JzLgorCiAyMDEwLTEwLTEzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggOTY0MmNiMi4uY2E5ZDgwYiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTU2NSw3ICs1NjUs
NyBAQCBKU1ZhbHVlIEpTRE9NV2luZG93Ojp3ZWJLaXRDU1NNYXRyaXgoRXhlY1N0YXRlKiBleGVj
KSBjb25zdAogICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1dlYktpdENTU01hdHJpeENv
bnN0cnVjdG9yPihleGVjLCB0aGlzKTsKIH0KICAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lm
IEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQogSlNWYWx1ZSBKU0RPTVdpbmRvdzo6
YXJyYXlCdWZmZXIoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewogICAgIHJldHVybiBnZXRET01D
b25zdHJ1Y3RvcjxKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I+KGV4ZWMsIHRoaXMpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwgYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0FycmF5QnVmZmVyLmlkbAppbmRleCA1MGFiYzZlLi4yZTA3NjdmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbAorKysgYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0FycmF5QnVmZmVyLmlkbApAQCAtMjksNyArMjksOCBAQCBtb2R1bGUgaHRtbCB7CiAg
ICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLAogICAgICAgICBDYW5CZUNvbnN0cnVj
dGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKLSAgICAgICAgVjhDdXN0b21D
b25zdHJ1Y3RvcgorICAgICAgICBWOEN1c3RvbUNvbnN0cnVjdG9yLAorICAgICAgICBOb1N0YXRp
Y1RhYmxlcwogICAgIF0gQXJyYXlCdWZmZXIgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
aW50IGJ5dGVMZW5ndGg7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMv
QXJyYXlCdWZmZXJWaWV3LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3
LmlkbAppbmRleCBmZTAyMGZhLi44ZjFlZTUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0FycmF5QnVmZmVyVmlldy5pZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1
ZmZlclZpZXcuaWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAg
IGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsIEN1c3RvbVRvSlMsIE9taXRD
b25zdHJ1Y3Rvcl0gQXJyYXlCdWZmZXJWaWV3IHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFs
PTNEX0NBTlZBU3xCTE9CLCBDdXN0b21Ub0pTLCBPbWl0Q29uc3RydWN0b3IsIE5vU3RhdGljVGFi
bGVzXSBBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlC
dWZmZXIgYnVmZmVyOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBi
eXRlT2Zmc2V0OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRl
TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRs
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsCmluZGV4IDEzMjVjYmIuLmE4
NzQyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwKQEAgLTMwLDYgKzMwLDcg
QEAgbW9kdWxlIGh0bWwgewogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0
b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAg
ICAgTm9TdGF0aWNUYWJsZXMsCiAgICAgICAgIEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAg
ICAgSGFzQ3VzdG9tSW5kZXhTZXR0ZXIsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVy
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5LmlkbCBiL1dlYkNv
cmUvaHRtbC9jYW52YXMvSW50MTZBcnJheS5pZGwKaW5kZXggYmQ3ZmNkMC4uYjYwZGQ0MCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5LmlkbAorKysgYi9XZWJDb3Jl
L2h0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIG1vZHVsZSBodG1s
IHsKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVu
Y3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCisgICAgICAgIE5vU3RhdGljVGFi
bGVzLAogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUlu
ZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFz
L0ludDMyQXJyYXkuaWRsCmluZGV4IDI3MzQ2NDcuLmVkNDYzMjMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9J
bnQzMkFycmF5LmlkbApAQCAtMzAsNiArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIENh
bkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAg
ICBWOEN1c3RvbUNvbnN0cnVjdG9yLAorICAgICAgICBOb1N0YXRpY1RhYmxlcywKICAgICAgICAg
SGFzTnVtZXJpY0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAg
ICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0ludDhBcnJheS5pZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5pZGwK
aW5kZXggNDExOGNmMy4uMjdlMzZlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9J
bnQ4QXJyYXkuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbApAQCAt
MzAsNiArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAg
ICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAgICBWOEN1c3RvbUNvbnN0cnVj
dG9yLAorICAgICAgICBOb1N0YXRpY1RhYmxlcywKICAgICAgICAgSGFzTnVtZXJpY0luZGV4R2V0
dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2VuZXJhdGVOYXRp
dmVDb252ZXJ0ZXIsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5
LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCmluZGV4IGFlNjQwOTUu
LjE2ODExYmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRs
CisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCkBAIC0zMCw2ICszMCw3
IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3Vz
dG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCisgICAg
ICAgIE5vU3RhdGljVGFibGVzLAogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAg
ICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRl
ciwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRsIGIvV2Vi
Q29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGwKaW5kZXggMGVmNWU5Mi4uMTQ2MTBmNyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGwKKysrIGIvV2Vi
Q29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGwKQEAgLTMwLDYgKzMwLDcgQEAgbW9kdWxl
IGh0bWwgewogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1
Y3RGdW5jdGlvbiwKICAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgTm9TdGF0
aWNUYWJsZXMsCiAgICAgICAgIEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAgICAgSGFzQ3Vz
dG9tSW5kZXhTZXR0ZXIsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9j
YW52YXMvVWludDhBcnJheS5pZGwKaW5kZXggNWEzMmU1YS4uNTU3NGUzMCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1VpbnQ4QXJyYXkuaWRsCkBAIC0zMCw2ICszMCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAg
ICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAg
ICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCisgICAgICAgIE5vU3RhdGljVGFibGVzLAogICAg
ICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4U2V0dGVy
LAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNTU5
NzIzYi4uMGU4MzU1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysr
IGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTQ4NiwxNCArNDg2LDE0IEBAIG1vZHVs
ZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmdNYXBDb25zdHJ1Y3RvciBE
T01TdHJpbmdNYXA7CiAKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0
aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVdIEFycmF5QnVmZmVyQ29uc3RydWN0b3Ig
QXJyYXlCdWZmZXI7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1
dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGlt
ZV0gSW50OEFycmF5Q29uc3RydWN0b3IgSW50OEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3Bl
cmF0b3IKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0Rf
Q0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVdIFVpbnQ4QXJyYXlDb25zdHJ1Y3RvciBVaW50OEFycmF5
OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0
b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVdIEludDE2QXJy
YXlDb25zdHJ1Y3RvciBJbnQxNkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAg
ICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVu
YWJsZWRBdFJ1bnRpbWVdIFVpbnQxNkFycmF5Q29uc3RydWN0b3IgVWludDE2QXJyYXk7IC8vIFVz
YWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRl
cixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gSW50MzJBcnJheUNvbnN0
cnVjdG9yIEludDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBh
dHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0
UnVudGltZV0gVWludDMyQXJyYXlDb25zdHJ1Y3RvciBVaW50MzJBcnJheTsgLy8gVXNhYmxlIHdp
dGggbmV3IG9wZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRp
dGlvbmFsPTNEX0NBTlZBUyxFbmFibGVkQXRSdW50aW1lXSBGbG9hdDMyQXJyYXlDb25zdHJ1Y3Rv
ciBGbG9hdDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRy
aWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVk
QXRSdW50aW1lXSBBcnJheUJ1ZmZlckNvbnN0cnVjdG9yIEFycmF5QnVmZmVyOyAvLyBVc2FibGUg
d2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29u
ZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gSW50OEFycmF5Q29uc3Ry
dWN0b3IgSW50OEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0
cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxl
ZEF0UnVudGltZV0gVWludDhBcnJheUNvbnN0cnVjdG9yIFVpbnQ4QXJyYXk7IC8vIFVzYWJsZSB3
aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25k
aXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQxNkFycmF5Q29uc3Ry
dWN0b3IgSW50MTZBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0
dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJs
ZWRBdFJ1bnRpbWVdIFVpbnQxNkFycmF5Q29uc3RydWN0b3IgVWludDE2QXJyYXk7IC8vIFVzYWJs
ZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixD
b25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQzMkFycmF5Q29u
c3RydWN0b3IgSW50MzJBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAg
IGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVu
YWJsZWRBdFJ1bnRpbWVdIFVpbnQzMkFycmF5Q29uc3RydWN0b3IgVWludDMyQXJyYXk7IC8vIFVz
YWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRl
cixDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBGbG9hdDMyQXJy
YXlDb25zdHJ1Y3RvciBGbG9hdDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgog
CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudENvbnN0cnVjdG9yIEV2ZW50OwogICAgICAgICBhdHRy
aWJ1dGUgQmVmb3JlTG9hZEV2ZW50Q29uc3RydWN0b3IgQmVmb3JlTG9hZEV2ZW50OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsIGIvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuaWRsCmluZGV4IGFhNDBmZjMuLmE4M2NlNjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5pZGwKQEAgLTExMyw2ICsxMTMsMTUgQEAgbW9kdWxlIHRocmVhZHMgewogCiAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtXSBG
bGFnc0NvbnN0cnVjdG9yIEZsYWdzOwogI2VuZGlmCisKKyAgICAgICAgYXR0cmlidXRlIFtDb25k
aXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yIEFycmF5QnVmZmVyOyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAg
YXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBJ
bnQ4QXJyYXlDb25zdHJ1Y3RvciBJbnQ4QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRv
cgorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRB
dFJ1bnRpbWVdIFVpbnQ4QXJyYXlDb25zdHJ1Y3RvciBVaW50OEFycmF5OyAvLyBVc2FibGUgd2l0
aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVN8
QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQxNkFycmF5Q29uc3RydWN0b3IgSW50MTZBcnJheTsg
Ly8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gVWludDE2QXJyYXlDb25zdHJ1Y3Rv
ciBVaW50MTZBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJp
YnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gSW50MzJB
cnJheUNvbnN0cnVjdG9yIEludDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgor
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1
bnRpbWVdIFVpbnQzMkFycmF5Q29uc3RydWN0b3IgVWludDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRo
IG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xC
TE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEZsb2F0MzJBcnJheUNvbnN0cnVjdG9yIEZsb2F0MzJBcnJh
eTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCiAgICAgfTsKIAogfQo=
</data>
<flag name="commit-queue"
          id="60541"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70678</attachid>
            <date>2010-10-13 16:03:44 -0700</date>
            <delta_ts>2010-10-13 22:52:31 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>47616_3</filename>
            <type>text/plain</type>
            <size>10561</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
M2ZiZTJkMi4uODBiODEwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMC0xMC0xMyAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3VwcG9ydCB0eXBlZCBhcnJheXMgaW4gd29ya2VycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc2MTYKKworICAgICAgICBUbyBz
dXBwb3J0IHR5cGVkIGFycmF5cyBpbiB3b3JrZXJzLCB3ZSBuZWVkIHRvIGV4cG9zZSBjb25zdHJ1
Y3RvcnMgaW4KKyAgICAgICAgV29ya2VyQ29udGV4dCBhbmQgYWRkIE5vU3RhdGljVGFibGVzIGF0
dHJpYnV0ZS4KKworICAgICAgICBJIGFsc28gYWRkIEZpbGUgQVBJIGZlYXR1cmUgZ3VhcmQgdG8g
dGhlIGNvbnN0cnVjdG9ycyBkZWZpbmVkIGluCisgICAgICAgIERPTVdpbmRvdy4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDogQWRkIEZpbGUgQVBJIGZlYXR1
cmUgZ3VhcmQgdG8gdGhlCisgICAgICAgIGNvbnN0cnVjdG9ycyBkZWZpbmVkIGluIERPTVdpbmRv
dy4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGw6IEFkZCBOb1N0YXRpY1Rh
YmxlcyBhdHRyaWJ1dGUuCisgICAgICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3Lmlk
bDogQWRkIE5vU3RhdGljVGFibGVzIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9G
bG9hdDMyQXJyYXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJsZXMgYXR0cmlidXRlLgorICAgICAgICAq
IGh0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJsZXMgYXR0cmlidXRl
LgorICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJs
ZXMgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvY2FudmFzL0ludDhBcnJheS5pZGw6IEFkZCBO
b1N0YXRpY1RhYmxlcyBhdHRyaWJ1dGUuCisgICAgICAgICogaHRtbC9jYW52YXMvVWludDE2QXJy
YXkuaWRsOiBBZGQgTm9TdGF0aWNUYWJsZXMgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1VpbnQzMkFycmF5LmlkbDogQWRkIE5vU3RhdGljVGFibGVzIGF0dHJpYnV0ZS4KKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9VaW50OEFycmF5LmlkbDogQWRkIE5vU3RhdGljVGFibGVzIGF0dHJp
YnV0ZS4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6IEFkZCBGaWxlIEFQSSBmZWF0dXJl
IGd1YXJkIHRvIHRoZSBjb25zdHJ1Y3RvcnMKKyAgICAgICAgZGVmaW5lZCBpbiBET01XaW5kb3cu
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDogRXhwb3NlIHR5cGUgYXJyYXkg
Y29uc3RydWN0b3JzLgorCiAyMDEwLTEwLTEzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggOTY0MmNiMi4uOWZjNTNmOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTUxLDcgKzUxLDcg
QEAKICNpbmNsdWRlICJKU1NoYXJlZFdvcmtlci5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoM0Rf
Q0FOVkFTKQorI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQogI2luY2x1ZGUg
IkpTQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJKU0ludDhBcnJheS5oIgogI2luY2x1ZGUgIkpT
VWludDhBcnJheS5oIgpAQCAtNTY1LDcgKzU2NSw3IEBAIEpTVmFsdWUgSlNET01XaW5kb3c6Ondl
YktpdENTU01hdHJpeChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiAgICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTV2ViS2l0Q1NTTWF0cml4Q29uc3RydWN0b3I+KGV4ZWMsIHRoaXMpOwogfQog
IAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxF
KEJMT0IpCiBKU1ZhbHVlIEpTRE9NV2luZG93OjphcnJheUJ1ZmZlcihFeGVjU3RhdGUqIGV4ZWMp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTQXJyYXlCdWZmZXJDb25z
dHJ1Y3Rvcj4oZXhlYywgdGhpcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0Fy
cmF5QnVmZmVyLmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsCmluZGV4
IDUwYWJjNmUuLjJlMDc2N2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlC
dWZmZXIuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsCkBAIC0y
OSw3ICsyOSw4IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFT
fEJMT0IsCiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVj
dEZ1bmN0aW9uLAotICAgICAgICBWOEN1c3RvbUNvbnN0cnVjdG9yCisgICAgICAgIFY4Q3VzdG9t
Q29uc3RydWN0b3IsCisgICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBBcnJheUJ1ZmZlciB7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBpbnQgYnl0ZUxlbmd0aDsKICAgICB9OwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuaWRsIGIvV2ViQ29y
ZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuaWRsCmluZGV4IGZlMDIwZmEuLjhmMWVlNTMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3LmlkbAorKysg
Yi9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5pZGwKQEAgLTI0LDcgKzI0LDcg
QEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9D
QU5WQVN8QkxPQiwgQ3VzdG9tVG9KUywgT21pdENvbnN0cnVjdG9yXSBBcnJheUJ1ZmZlclZpZXcg
eworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsIEN1c3RvbVRvSlMs
IE9taXRDb25zdHJ1Y3RvciwgTm9TdGF0aWNUYWJsZXNdIEFycmF5QnVmZmVyVmlldyB7CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBcnJheUJ1ZmZlciBidWZmZXI7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJ5dGVPZmZzZXQ7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJ5dGVMZW5ndGg7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0Zsb2F0
MzJBcnJheS5pZGwKaW5kZXggMTMyNWNiYi4uYTg3NDJmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvRmxv
YXQzMkFycmF5LmlkbApAQCAtMzAsNiArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIENh
bkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAg
ICBWOEN1c3RvbUNvbnN0cnVjdG9yLAorICAgICAgICBOb1N0YXRpY1RhYmxlcywKICAgICAgICAg
SGFzTnVtZXJpY0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAg
ICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0ludDE2QXJyYXkuaWRsIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5Lmlk
bAppbmRleCBiZDdmY2QwLi5iNjBkZDQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFz
L0ludDE2QXJyYXkuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MTZBcnJheS5pZGwK
QEAgLTI5LDYgKzI5LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBDYW5CZUNvbnN0cnVjdGVk
LAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgVjhDdXN0b21Db25z
dHJ1Y3RvciwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMsCiAgICAgICAgIEhhc051bWVyaWNJbmRl
eEdldHRlciwKICAgICAgICAgSGFzQ3VzdG9tSW5kZXhTZXR0ZXIsCiAgICAgICAgIEdlbmVyYXRl
TmF0aXZlQ29udmVydGVyLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQzMkFy
cmF5LmlkbCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGwKaW5kZXggMjczNDY0
Ny4uZWQ0NjMyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQzMkFycmF5Lmlk
bAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsCkBAIC0zMCw2ICszMCw3
IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3Vz
dG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCisgICAg
ICAgIE5vU3RhdGljVGFibGVzLAogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAg
ICAgIEhhc0N1c3RvbUluZGV4U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRl
ciwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbCBiL1dlYkNv
cmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbAppbmRleCA0MTE4Y2YzLi4yN2UzNmU1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5pZGwKKysrIGIvV2ViQ29yZS9o
dG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsCkBAIC0zMCw2ICszMCw3IEBAIG1vZHVsZSBodG1sIHsK
ICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rp
b24sCiAgICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCisgICAgICAgIE5vU3RhdGljVGFibGVz
LAogICAgICAgICBIYXNOdW1lcmljSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhhc0N1c3RvbUluZGV4
U2V0dGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9V
aW50MTZBcnJheS5pZGwKaW5kZXggYWU2NDA5NS4uMTY4MTFiZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9V
aW50MTZBcnJheS5pZGwKQEAgLTMwLDYgKzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBD
YW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAg
ICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMsCiAgICAgICAg
IEhhc051bWVyaWNJbmRleEdldHRlciwKICAgICAgICAgSGFzQ3VzdG9tSW5kZXhTZXR0ZXIsCiAg
ICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L2NhbnZhcy9VaW50MzJBcnJheS5pZGwgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5
LmlkbAppbmRleCAwZWY1ZTkyLi4xNDYxMGY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1VpbnQzMkFycmF5LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5
LmlkbApAQCAtMzAsNiArMzAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIENhbkJlQ29uc3Ry
dWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAgICBWOEN1c3Rv
bUNvbnN0cnVjdG9yLAorICAgICAgICBOb1N0YXRpY1RhYmxlcywKICAgICAgICAgSGFzTnVtZXJp
Y0luZGV4R2V0dGVyLAogICAgICAgICBIYXNDdXN0b21JbmRleFNldHRlciwKICAgICAgICAgR2Vu
ZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1Vp
bnQ4QXJyYXkuaWRsIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmlkbAppbmRleCA1
YTMyZTVhLi41NTc0ZTMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJy
YXkuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGwKQEAgLTMwLDYg
KzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAg
ICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwK
KyAgICAgICAgTm9TdGF0aWNUYWJsZXMsCiAgICAgICAgIEhhc051bWVyaWNJbmRleEdldHRlciwK
ICAgICAgICAgSGFzQ3VzdG9tSW5kZXhTZXR0ZXIsCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29u
dmVydGVyLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA1NTk3MjNiLi4wZTgzNTU2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bApAQCAtNDg2LDE0ICs0ODYsMTQgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgYXR0cmli
dXRlIERPTVN0cmluZ01hcENvbnN0cnVjdG9yIERPTVN0cmluZ01hcDsKIAotICAgICAgICBhdHRy
aWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVu
dGltZV0gQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciBBcnJheUJ1ZmZlcjsgLy8gVXNhYmxlIHdpdGgg
bmV3IG9wZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlv
bmFsPTNEX0NBTlZBUyxFbmFibGVkQXRSdW50aW1lXSBJbnQ4QXJyYXlDb25zdHJ1Y3RvciBJbnQ4
QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pT
Q0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gVWlu
dDhBcnJheUNvbnN0cnVjdG9yIFVpbnQ4QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRv
cgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5W
QVMsRW5hYmxlZEF0UnVudGltZV0gSW50MTZBcnJheUNvbnN0cnVjdG9yIEludDE2QXJyYXk7IC8v
IFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdl
dHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gVWludDE2QXJyYXlD
b25zdHJ1Y3RvciBVaW50MTZBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCi0gICAg
ICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBUyxFbmFi
bGVkQXRSdW50aW1lXSBJbnQzMkFycmF5Q29uc3RydWN0b3IgSW50MzJBcnJheTsgLy8gVXNhYmxl
IHdpdGggbmV3IG9wZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENv
bmRpdGlvbmFsPTNEX0NBTlZBUyxFbmFibGVkQXRSdW50aW1lXSBVaW50MzJBcnJheUNvbnN0cnVj
dG9yIFVpbnQzMkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0
cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1
bnRpbWVdIEZsb2F0MzJBcnJheUNvbnN0cnVjdG9yIEZsb2F0MzJBcnJheTsgLy8gVXNhYmxlIHdp
dGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRp
dGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEFycmF5QnVmZmVyQ29uc3Ry
dWN0b3IgQXJyYXlCdWZmZXI7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBh
dHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFi
bGVkQXRSdW50aW1lXSBJbnQ4QXJyYXlDb25zdHJ1Y3RvciBJbnQ4QXJyYXk7IC8vIFVzYWJsZSB3
aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25k
aXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBVaW50OEFycmF5Q29uc3Ry
dWN0b3IgVWludDhBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0
dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJs
ZWRBdFJ1bnRpbWVdIEludDE2QXJyYXlDb25zdHJ1Y3RvciBJbnQxNkFycmF5OyAvLyBVc2FibGUg
d2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29u
ZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gVWludDE2QXJyYXlDb25z
dHJ1Y3RvciBVaW50MTZBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAg
IGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVu
YWJsZWRBdFJ1bnRpbWVdIEludDMyQXJyYXlDb25zdHJ1Y3RvciBJbnQzMkFycmF5OyAvLyBVc2Fi
bGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIs
Q29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gVWludDMyQXJyYXlD
b25zdHJ1Y3RvciBVaW50MzJBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAg
ICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9C
LEVuYWJsZWRBdFJ1bnRpbWVdIEZsb2F0MzJBcnJheUNvbnN0cnVjdG9yIEZsb2F0MzJBcnJheTsg
Ly8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCiAKICAgICAgICAgYXR0cmlidXRlIEV2ZW50Q29u
c3RydWN0b3IgRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBCZWZvcmVMb2FkRXZlbnRDb25zdHJ1
Y3RvciBCZWZvcmVMb2FkRXZlbnQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5pZGwgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKaW5kZXggYWE0
MGZmMy4uYTgzY2U2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
aWRsCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbApAQCAtMTEzLDYgKzEx
MywxNSBAQCBtb2R1bGUgdGhyZWFkcyB7CiAKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtF
bmFibGVkQXRSdW50aW1lPUZpbGVTeXN0ZW1dIEZsYWdzQ29uc3RydWN0b3IgRmxhZ3M7CiAjZW5k
aWYKKworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJs
ZWRBdFJ1bnRpbWVdIEFycmF5QnVmZmVyQ29uc3RydWN0b3IgQXJyYXlCdWZmZXI7IC8vIFVzYWJs
ZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NB
TlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEludDhBcnJheUNvbnN0cnVjdG9yIEludDhBcnJh
eTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gVWludDhBcnJheUNvbnN0cnVj
dG9yIFVpbnQ4QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEludDE2
QXJyYXlDb25zdHJ1Y3RvciBJbnQxNkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IK
KyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRS
dW50aW1lXSBVaW50MTZBcnJheUNvbnN0cnVjdG9yIFVpbnQxNkFycmF5OyAvLyBVc2FibGUgd2l0
aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVN8
QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQzMkFycmF5Q29uc3RydWN0b3IgSW50MzJBcnJheTsg
Ly8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gVWludDMyQXJyYXlDb25zdHJ1Y3Rv
ciBVaW50MzJBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJp
YnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gRmxvYXQz
MkFycmF5Q29uc3RydWN0b3IgRmxvYXQzMkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0
b3IKICAgICB9OwogCiB9Cg==
</data>
<flag name="review"
          id="60553"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="60554"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>