<?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>91917</bug_id>
          
          <creation_ts>2012-07-20 21:32:49 -0700</creation_ts>
          <short_desc>[chromium] Add more compositor unit tests for high DPI transforms</short_desc>
          <delta_ts>2012-07-23 17:57:42 -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>
          
          <blocked>91417</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>danakj</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>675166</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-20 21:32:49 -0700</bug_when>
    <thetext>[chromium] Add more compositor unit tests for high DPI transforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675167</commentid>
    <comment_count>1</comment_count>
      <attachid>153645</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-20 21:34:03 -0700</bug_when>
    <thetext>Created attachment 153645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675169</commentid>
    <comment_count>2</comment_count>
      <attachid>153646</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-20 22:07:41 -0700</bug_when>
    <thetext>Created attachment 153646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675197</commentid>
    <comment_count>3</comment_count>
      <attachid>153655</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-20 23:53:16 -0700</bug_when>
    <thetext>Created attachment 153655
Fix egregious typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675280</commentid>
    <comment_count>4</comment_count>
      <attachid>153681</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-21 18:36:23 -0700</bug_when>
    <thetext>Created attachment 153681
More tests; fix scale for duplicateChild test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675281</commentid>
    <comment_count>5</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-21 18:37:17 -0700</bug_when>
    <thetext>Sorry for all the patch noise.  The previous patches had a bug in them that caused problems in dependent patches.  This is ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675984</commentid>
    <comment_count>6</comment_count>
      <attachid>153681</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-07-23 14:04:53 -0700</bug_when>
    <thetext>Comment on attachment 153681
More tests; fix scale for duplicateChild test

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

nice tests! lgtm

&gt; Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp:3722
&gt; +    EXPECT_TRANSFORMATION_MATRIX_EQ(parent-&gt;screenSpaceTransform(), expectedParentScreenSpaceTransform);

nit: expected value should come first in all these</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675989</commentid>
    <comment_count>7</comment_count>
      <attachid>153681</attachid>
    <who name="">vollick</who>
    <bug_when>2012-07-23 14:08:50 -0700</bug_when>
    <thetext>Comment on attachment 153681
More tests; fix scale for duplicateChild test

Nice! LGTM, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675990</commentid>
    <comment_count>8</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-07-23 14:11:19 -0700</bug_when>
    <thetext>Seems great to me too, but I did have one question - 

do you think we need to be testing more explicitly something about order of operations, just in case? it looks like we are implicitly testing order of operations between the scale and the layer position translation, but do we need to also check how the contents scale is ordered with respect to the compositeLayerTransform and compositeSublayerTransform?

I&apos;m OK with the patch as-is, just wanted to throw that idea out there in case someone felt strongly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676208</commentid>
    <comment_count>9</comment_count>
      <attachid>153911</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-23 17:22:43 -0700</bug_when>
    <thetext>Created attachment 153911
Rebased to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676217</commentid>
    <comment_count>10</comment_count>
      <attachid>153913</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-23 17:29:17 -0700</bug_when>
    <thetext>Created attachment 153913
Reorder expect calls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676219</commentid>
    <comment_count>11</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-07-23 17:30:52 -0700</bug_when>
    <thetext>Thanks for that. @kbr or @senorblanco for review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676220</commentid>
    <comment_count>12</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-23 17:32:30 -0700</bug_when>
    <thetext>The diff from two patches ago is just to remove the clip rect line to rebase, one typo fix, and to reorder expect calls as Dana asked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676241</commentid>
    <comment_count>13</comment_count>
      <attachid>153913</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-07-23 17:47:13 -0700</bug_when>
    <thetext>Comment on attachment 153913
Reorder expect calls

rs=me based on Dana&apos;s review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676255</commentid>
    <comment_count>14</comment_count>
      <attachid>153913</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 17:57:38 -0700</bug_when>
    <thetext>Comment on attachment 153913
Reorder expect calls

Clearing flags on attachment: 153913

Committed r123413: &lt;http://trac.webkit.org/changeset/123413&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676256</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 17:57:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153645</attachid>
            <date>2012-07-20 21:34:03 -0700</date>
            <delta_ts>2012-07-20 22:07:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91917-20120720213359.patch</filename>
            <type>text/plain</type>
            <size>9086</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDVmZDZjNmJiYjc5NThmOGU3N2ExYWFmYjQxNjY1MWE5NzNiMzA0MGIuLjhjMDViNTg2YTY4ZjQ4
NzE3NWJjZmI5MzMzN2YwY2NkYmU0OTZhMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBtb3JlIGNvbXBvc2l0b3IgdW5pdCB0ZXN0
cyBmb3IgaGlnaCBEUEkgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTE5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY3VycmVudCBzZXQgb2YgaGlnaCBEUEkgdGVzdHMgb25seSBk
ZWFsIHdpdGggbGF5ZXJzIGluIGEgcmVuZGVyCisgICAgICAgIHN1cmZhY2UuIEFkZCBzb21lIGV4
dHJhIHRlc3RzIGZvciBub24tc3VyZmFjZSBsYXllcnMuIEFsc28gYWRkIGEgdGVzdAorICAgICAg
ICB0byBtYWtlIHN1cmUgdGhhdCBhbiBvd25pbmcgbGF5ZXIgaW4gYSBzdXJmYWNlIGRvZXNuJ3Qg
ZGlmZmVyIGZyb20gYQorICAgICAgICBub24tb3duaW5nIGxheWVyIGluIGhpZ2ggRFBJIGNpcmN1
bXN0YW5jZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LmNw
cDoKKwogMjAxMi0wNy0xOSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtDaHJvbWl1bV0gV2ViVmlldyBpcyBtaXNzaW5nIGlzU2VsZWN0aW9uRWRpdGFibGUgYW5k
IGJhY2tncm91bmRDb2xvciB3aGljaCBhcmUgdXNlZCBieSBjaHJvbWl1bS1hbmRyb2lkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdENvbW1v
blRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RD
b21tb25UZXN0LmNwcAppbmRleCAyNmFlNmNhNDczMjFkMGJkYTYwNjczY2M3MjAzN2Q3MTZiNzcz
ZmM4Li5iNmNlMTU1MWM4MGQ4MWIzMThmYjA5YjMxYzVmNjBiMWFlOTZiM2VmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0Q29t
bW9uVGVzdC5jcHAKQEAgLTMyMDgsNyArMzIwOCw3IEBAIFRFU1QoQ0NMYXllclRyZWVIb3N0Q29t
bW9uVGVzdCwgdmVyaWZ5SGl0VGVzdGluZ0ZvclNpbmdsZUxheWVyV2l0aFNjYWxlZENvbnRlbnRz
CiAgICAgLy8gdGVzdCBtYWtlcyBzdXJlIHRoYXQgaGl0IHRlc3Rpbmcgd29ya3MgY29ycmVjdGx5
IGFjY291bnRzIGZvciB0aGUgY29udGVudHMgc2NhbGUuCiAgICAgLy8gQSBjb250ZW50c1NjYWxl
IHRoYXQgaXMgbm90IDEgZWZmZWN0aXZlbHkgZm9yY2VzIGEgbm9uLWlkZW50aXR5IHRyYW5zZm9y
bSBiZXR3ZWVuCiAgICAgLy8gbGF5ZXIncyBjb250ZW50IHNwYWNlIGFuZCBsYXllcidzIG9yaWdp
biBzcGFjZSwgd2hpY2ggaXMgbm90IGluY2x1ZGVkIGluIHRoZQotICAgIC8vIHNjcmVlblNwYWNl
VHJhbnNmb3Jtbi4gVGhlIGhpdCB0ZXN0aW5nIGNvZGUgbXVzdCB0YWtlIHRoaXMgaW50byBhY2Nv
dW50LgorICAgIC8vIHNjcmVlblNwYWNlVHJhbnNmb3JtLiBUaGUgaGl0IHRlc3RpbmcgY29kZSBt
dXN0IHRha2UgdGhpcyBpbnRvIGFjY291bnQuCiAgICAgLy8KICAgICAvLyBUbyB0ZXN0IHRoaXMs
IHRoZSBsYXllciBpcyBwb3NpdGlvbmVkIGF0ICgyNSwgMjUpLCBhbmQgaXMgc2l6ZSAoNTAsIDUw
KS4gSWYKICAgICAvLyBjb250ZW50c1NjYWxlIGlzIGlnbm9yZWQsIHRoZW4gaGl0IHRlc3Rpbmcg
d2lsbCBtaXMtaW50ZXJwcmV0IHRoZSB2aXNpYmxlQ29udGVudFJlY3QKQEAgLTM2NzcsNiArMzY3
Nyw4OCBAQCBQYXNzUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBjcmVhdGVEcmF3YWJsZUNv
bnRlbnRMYXllckNocm9taXVtKENvbnRlbnRMYXllcgogICAgIHJldHVybiB0b1JldHVybi5yZWxl
YXNlKCk7CiB9CiAKK1RFU1QoQ0NMYXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5TGF5ZXJU
cmFuZm9ybXNJbkhpZ2hEUEkpCit7CisgICAgLy8gVmVyaWZ5IGRyYXcgYW5kIHNjcmVlbiBzcGFj
ZSB0cmFuc2Zvcm1zIG9mIGxheWVycyBub3QgaW4gYSBzdXJmYWNlLgorICAgIE1vY2tDb250ZW50
TGF5ZXJEZWxlZ2F0ZSBkZWxlZ2F0ZTsKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBpZGVu
dGl0eU1hdHJpeDsKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBwYXJlbnRNYXRyaXg7CisK
KyAgICBSZWZQdHI8Q29udGVudExheWVyQ2hyb21pdW0+IHBhcmVudCA9IGNyZWF0ZURyYXdhYmxl
Q29udGVudExheWVyQ2hyb21pdW0oJmRlbGVnYXRlKTsKKyAgICBzZXRMYXllclByb3BlcnRpZXNG
b3JUZXN0aW5nKHBhcmVudC5nZXQoKSwgaWRlbnRpdHlNYXRyaXgsIGlkZW50aXR5TWF0cml4LCBG
bG9hdFBvaW50KDAsIDApLCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDEwMCwgMTAwKSwgdHJ1
ZSk7CisKKyAgICBSZWZQdHI8Q29udGVudExheWVyQ2hyb21pdW0+IGNoaWxkID0gY3JlYXRlRHJh
d2FibGVDb250ZW50TGF5ZXJDaHJvbWl1bSgmZGVsZWdhdGUpOworICAgIHNldExheWVyUHJvcGVy
dGllc0ZvclRlc3RpbmcoY2hpbGQuZ2V0KCksIGlkZW50aXR5TWF0cml4LCBpZGVudGl0eU1hdHJp
eCwgRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRQb2ludCgyLCAyKSwgSW50U2l6ZSgxMCwgMTApLCB0
cnVlKTsKKworICAgIHBhcmVudC0+YWRkQ2hpbGQoY2hpbGQpOworCisgICAgVmVjdG9yPFJlZlB0
cjxMYXllckNocm9taXVtPiA+IHJlbmRlclN1cmZhY2VMYXllckxpc3Q7CisgICAgVmVjdG9yPFJl
ZlB0cjxMYXllckNocm9taXVtPiA+IGR1bW15TGF5ZXJMaXN0OworICAgIGludCBkdW1teU1heFRl
eHR1cmVTaXplID0gNTEyOworCisgICAgcGFyZW50LT5jcmVhdGVSZW5kZXJTdXJmYWNlKCk7Cisg
ICAgcGFyZW50LT5yZW5kZXJTdXJmYWNlKCktPnNldENvbnRlbnRSZWN0KEludFJlY3QoSW50UG9p
bnQoKSwgcGFyZW50LT5ib3VuZHMoKSkpOworICAgIHBhcmVudC0+c2V0Q2xpcFJlY3QoSW50UmVj
dChJbnRQb2ludDo6emVybygpLCBwYXJlbnQtPmJvdW5kcygpKSk7CisgICAgcmVuZGVyU3VyZmFj
ZUxheWVyTGlzdC5hcHBlbmQocGFyZW50LmdldCgpKTsKKworICAgIGNvbnN0IGRvdWJsZSBkZXZp
Y2VTY2FsZUZhY3RvciA9IDIuNTsKKyAgICBwYXJlbnRNYXRyaXguc2NhbGUoZGV2aWNlU2NhbGVG
YWN0b3IpOworICAgIHBhcmVudC0+c2V0Q29udGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7
CisgICAgY2hpbGQtPnNldENvbnRlbnRzU2NhbGUoZGV2aWNlU2NhbGVGYWN0b3IpOworCisgICAg
Q0NMYXllclRyZWVIb3N0Q29tbW9uOjpjYWxjdWxhdGVEcmF3VHJhbnNmb3JtcyhwYXJlbnQuZ2V0
KCksIHBhcmVudC5nZXQoKSwgcGFyZW50TWF0cml4LCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3Vy
ZmFjZUxheWVyTGlzdCwgZHVtbXlMYXllckxpc3QsIGR1bW15TWF4VGV4dHVyZVNpemUpOworCisg
ICAgRVhQRUNUX0VRKDF1LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LnNpemUoKSk7CisKKyAgICAv
LyBWZXJpZnkgcGFyZW50IHRyYW5zZm9ybXMKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBl
eHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkUGFyZW50U2Ny
ZWVuU3BhY2VUcmFuc2Zvcm0uc2V0TTExKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBleHBlY3Rl
ZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0yMihkZXZpY2VTY2FsZUZhY3Rvcik7Cisg
ICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShwYXJlbnQtPnNjcmVlblNwYWNlVHJh
bnNmb3JtKCksIGV4cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm0pOworCisgICAgV2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRQYXJlbnREcmF3VHJhbnNmb3JtID0gZXhwZWN0
ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFBhcmVudERyYXdUcmFu
c2Zvcm0udHJhbnNsYXRlKDAuNSAqIHBhcmVudC0+Ym91bmRzKCkud2lkdGgoKSwgMC41ICogcGFy
ZW50LT5ib3VuZHMoKS5oZWlnaHQoKSk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJ
WF9FUShwYXJlbnQtPmRyYXdUcmFuc2Zvcm0oKSwgZXhwZWN0ZWRQYXJlbnREcmF3VHJhbnNmb3Jt
KTsKKworICAgIC8vIFZlcmlmeSByZXN1bHRzIG9mIHRyYW5zZm9ybWVkIHBhcmVudCByZWN0cwor
ICAgIEludFJlY3QgcGFyZW50Qm91bmRzKEludFBvaW50KCksIHBhcmVudC0+Ym91bmRzKCkpOwor
ICAgIEludFJlY3QgY2VudGVyZWRQYXJlbnRCb3VuZHMgPSBwYXJlbnRCb3VuZHM7CisgICAgY2Vu
dGVyZWRQYXJlbnRCb3VuZHMubW92ZSgtcGFyZW50Qm91bmRzLndpZHRoKCkgKiAwLjUsIC1wYXJl
bnRCb3VuZHMuaGVpZ2h0KCkgKiAwLjUpOworCisgICAgRmxvYXRSZWN0IHBhcmVudERyYXdSZWN0
ID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QocGFyZW50LT5kcmF3VHJhbnNmb3JtKCksIEZs
b2F0UmVjdChjZW50ZXJlZFBhcmVudEJvdW5kcykpOworICAgIEZsb2F0UmVjdCBwYXJlbnRTY3Jl
ZW5TcGFjZVJlY3QgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChwYXJlbnQtPnNjcmVlblNw
YWNlVHJhbnNmb3JtKCksIEZsb2F0UmVjdChwYXJlbnRCb3VuZHMpKTsKKworICAgIEZsb2F0UmVj
dCBleHBlY3RlZFBhcmVudERyYXdSZWN0KEZsb2F0UG9pbnQoKSwgcGFyZW50LT5ib3VuZHMoKSk7
CisgICAgZXhwZWN0ZWRQYXJlbnREcmF3UmVjdC5zY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7Cisg
ICAgRVhQRUNUX0ZMT0FUX1JFQ1RfRVEocGFyZW50RHJhd1JlY3QsIGV4cGVjdGVkUGFyZW50RHJh
d1JlY3QpOworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKHBhcmVudFNjcmVlblNwYWNlUmVjdCwg
ZXhwZWN0ZWRQYXJlbnREcmF3UmVjdCk7CisKKyAgICAvLyBWZXJpZnkgY2hpbGQgdHJhbnNmb3Jt
cworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkQ2hpbGRTY3JlZW5TcGFjZVRy
YW5zZm9ybTsKKyAgICBleHBlY3RlZENoaWxkU2NyZWVuU3BhY2VUcmFuc2Zvcm0uc2V0TTExKGRl
dmljZVNjYWxlRmFjdG9yKTsKKyAgICBleHBlY3RlZENoaWxkU2NyZWVuU3BhY2VUcmFuc2Zvcm0u
c2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBleHBlY3RlZENoaWxkU2NyZWVuU3BhY2VU
cmFuc2Zvcm0udHJhbnNsYXRlKGNoaWxkLT5wb3NpdGlvbigpLngoKSwgY2hpbGQtPnBvc2l0aW9u
KCkueSgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkQ2hp
bGRTY3JlZW5TcGFjZVRyYW5zZm9ybSwgY2hpbGQtPnNjcmVlblNwYWNlVHJhbnNmb3JtKCkpOwor
CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRDaGlsZERyYXdUcmFuc2Zvcm0g
PSBleHBlY3RlZENoaWxkU2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRDaGlsZERy
YXdUcmFuc2Zvcm0udHJhbnNsYXRlKDAuNSAqIGNoaWxkLT5ib3VuZHMoKS53aWR0aCgpLCAwLjUg
KiBjaGlsZC0+Ym91bmRzKCkuaGVpZ2h0KCkpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9N
QVRSSVhfRVEoZXhwZWN0ZWRDaGlsZERyYXdUcmFuc2Zvcm0sIGNoaWxkLT5kcmF3VHJhbnNmb3Jt
KCkpOworCisgICAgLy8gVmVyaWZ5IHJlc3VsdHMgb2YgdHJhbnNmb3JtZWQgY2hpbGQgcmVjdHMK
KyAgICBJbnRSZWN0IGNoaWxkQm91bmRzKEludFBvaW50KCksIGNoaWxkLT5ib3VuZHMoKSk7Cisg
ICAgSW50UmVjdCBjZW50ZXJlZENoaWxkQm91bmRzID0gY2hpbGRCb3VuZHM7CisgICAgY2VudGVy
ZWRDaGlsZEJvdW5kcy5tb3ZlKC1jaGlsZEJvdW5kcy53aWR0aCgpICogMC41LCAtY2hpbGRCb3Vu
ZHMuaGVpZ2h0KCkgKiAwLjUpOworCisgICAgRmxvYXRSZWN0IGNoaWxkRHJhd1JlY3QgPSBDQ01h
dGhVdGlsOjptYXBDbGlwcGVkUmVjdChjaGlsZC0+ZHJhd1RyYW5zZm9ybSgpLCBGbG9hdFJlY3Qo
Y2VudGVyZWRDaGlsZEJvdW5kcykpOworICAgIEZsb2F0UmVjdCBjaGlsZFNjcmVlblNwYWNlUmVj
dCA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9y
bSgpLCBGbG9hdFJlY3QoY2hpbGRCb3VuZHMpKTsKKworICAgIEZsb2F0UmVjdCBleHBlY3RlZENo
aWxkRHJhd1JlY3QoRmxvYXRQb2ludCgpLCBjaGlsZC0+Ym91bmRzKCkpOworICAgIGV4cGVjdGVk
Q2hpbGREcmF3UmVjdC5tb3ZlKGNoaWxkLT5wb3NpdGlvbigpLngoKSwgY2hpbGQtPnBvc2l0aW9u
KCkueSgpKTsKKyAgICBleHBlY3RlZENoaWxkRHJhd1JlY3Quc2NhbGUoZGV2aWNlU2NhbGVGYWN0
b3IpOworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKGNoaWxkRHJhd1JlY3QsIGV4cGVjdGVkQ2hp
bGREcmF3UmVjdCk7CisgICAgRVhQRUNUX0ZMT0FUX1JFQ1RfRVEoY2hpbGRTY3JlZW5TcGFjZVJl
Y3QsIGV4cGVjdGVkQ2hpbGREcmF3UmVjdCk7Cit9CisKIFRFU1QoQ0NMYXllclRyZWVIb3N0Q29t
bW9uVGVzdCwgdmVyaWZ5UmVuZGVyU3VyZmFjZVRyYW5mb3Jtc0luSGlnaERQSSkKIHsKICAgICBN
b2NrQ29udGVudExheWVyRGVsZWdhdGUgZGVsZWdhdGU7CkBAIC0zNjk0LDcgKzM3NzYsMTQgQEAg
VEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJhbmZv
cm1zSW5IaWdoRFBJKQogICAgIFJlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gcmVwbGljYSA9
IGNyZWF0ZURyYXdhYmxlQ29udGVudExheWVyQ2hyb21pdW0oJmRlbGVnYXRlKTsKICAgICBzZXRM
YXllclByb3BlcnRpZXNGb3JUZXN0aW5nKHJlcGxpY2EuZ2V0KCksIHJlcGxpY2FUcmFuc2Zvcm0s
IGlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBGbG9hdFBvaW50KDIsIDIpLCBJbnRT
aXplKDEwLCAxMCksIHRydWUpOwogCisgICAgLy8gQ3JlYXRlIGEgZHVwbGljYXRlIG9mIHRoZSBw
YXJlbnQgbGF5ZXIgaW4gdGhlIHN1cmZhY2UgdGhhdCB3aWxsIGVuZCB1cAorICAgIC8vIHdpdGgg
YW4gaWRlbnRpY2FsIGRyYXcgYW5kIHNjcmVlbiBzcGFjZSB0cmFuc2Zvcm0gdG8gbWFrZSBzdXJl
IHRoYXQgb3duZXIKKyAgICAvLyBhbmQgbm9uLW93bmVyIGxheWVycyBpbiBhIHN1cmZhY2UgYXJl
IHRyZWF0ZWQgaWRlbnRpY2FsbHkuCisgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBk
dXBsaWNhdGVQYXJlbnROb25Pd25lciA9IGNyZWF0ZURyYXdhYmxlQ29udGVudExheWVyQ2hyb21p
dW0oJmRlbGVnYXRlKTsKKyAgICBzZXRMYXllclByb3BlcnRpZXNGb3JUZXN0aW5nKGR1cGxpY2F0
ZVBhcmVudE5vbk93bmVyLmdldCgpLCBpZGVudGl0eU1hdHJpeCwgaWRlbnRpdHlNYXRyaXgsIEZs
b2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAsIDMwKSwgdHJ1ZSk7
CisKICAgICBwYXJlbnQtPmFkZENoaWxkKGNoaWxkKTsKKyAgICBwYXJlbnQtPmFkZENoaWxkKGR1
cGxpY2F0ZVBhcmVudE5vbk93bmVyKTsKICAgICBjaGlsZC0+c2V0UmVwbGljYUxheWVyKHJlcGxp
Y2EuZ2V0KCkpOwogCiAgICAgVmVjdG9yPFJlZlB0cjxMYXllckNocm9taXVtPiA+IHJlbmRlclN1
cmZhY2VMYXllckxpc3Q7CkBAIC0zNzE4LDYgKzM4MDcsMTYgQEAgVEVTVChDQ0xheWVyVHJlZUhv
c3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJhbmZvcm1zSW5IaWdoRFBJKQogICAg
IC8vIHJlbmRlciBzdXJmYWNlIChpdCBuZWVkcyBvbmUgYmVjYXVzZSBpdCBoYXMgYSByZXBsaWNh
IGxheWVyKS4KICAgICBFWFBFQ1RfRVEoMnUsIHJlbmRlclN1cmZhY2VMYXllckxpc3Quc2l6ZSgp
KTsKIAorICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUGFyZW50U2NyZWVuU3Bh
Y2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybS5zZXRN
MTEoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFu
c2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCBleHBlY3RlZFBhcmVudERyYXdUcmFuc2Zvcm0gPSBleHBlY3RlZFBhcmVudFNjcmVlblNw
YWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkUGFyZW50RHJhd1RyYW5zZm9ybS50cmFuc2xhdGUo
MC41ICogcGFyZW50LT5ib3VuZHMoKS53aWR0aCgpLCAwLjUgKiBwYXJlbnQtPmJvdW5kcygpLmhl
aWdodCgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKHBhcmVudC0+ZHJh
d1RyYW5zZm9ybSgpLCBleHBlY3RlZFBhcmVudERyYXdUcmFuc2Zvcm0pOworICAgIEVYUEVDVF9U
UkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEocGFyZW50LT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpLCBl
eHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JN
QVRJT05fTUFUUklYX0VRKHBhcmVudC0+ZHJhd1RyYW5zZm9ybSgpLCBkdXBsaWNhdGVQYXJlbnRO
b25Pd25lci0+ZHJhd1RyYW5zZm9ybSgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFU
UklYX0VRKHBhcmVudC0+c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSwgZHVwbGljYXRlUGFyZW50Tm9u
T3duZXItPnNjcmVlblNwYWNlVHJhbnNmb3JtKCkpOworCiAgICAgV2ViVHJhbnNmb3JtYXRpb25N
YXRyaXggZXhwZWN0ZWREcmF3VHJhbnNmb3JtOwogICAgIGV4cGVjdGVkRHJhd1RyYW5zZm9ybS5z
ZXRNMTEoZGV2aWNlU2NhbGVGYWN0b3IpOwogICAgIGV4cGVjdGVkRHJhd1RyYW5zZm9ybS5zZXRN
MjIoZGV2aWNlU2NhbGVGYWN0b3IpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153646</attachid>
            <date>2012-07-20 22:07:41 -0700</date>
            <delta_ts>2012-07-20 23:53:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91917-20120720220737.patch</filename>
            <type>text/plain</type>
            <size>10892</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGViNGE0ZTViMzhjZjk5NDQ5MGVjOTE1NmNjYmQ3OTg0M2RhNWIwOTEuLjk2YmJmYjgwZjAyNjVi
NTI2ZWM0NjBjNTUyNmZjNzU1YmFlMWI4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBtb3JlIGNvbXBvc2l0b3IgdW5pdCB0ZXN0
cyBmb3IgaGlnaCBEUEkgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTE5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY3VycmVudCBzZXQgb2YgaGlnaCBEUEkgdGVzdHMgb25seSBk
ZWFsIHdpdGggbGF5ZXJzIGluIGEgcmVuZGVyCisgICAgICAgIHN1cmZhY2UuIEFkZCBzb21lIGV4
dHJhIHRlc3RzIGZvciBub24tc3VyZmFjZSBsYXllcnMuIEFsc28gYWRkIGEgdGVzdAorICAgICAg
ICB0byBtYWtlIHN1cmUgdGhhdCBhbiBvd25pbmcgbGF5ZXIgaW4gYSBzdXJmYWNlIGRvZXNuJ3Qg
ZGlmZmVyIGZyb20gYQorICAgICAgICBub24tb3duaW5nIGxheWVyIGluIGhpZ2ggRFBJIGNpcmN1
bXN0YW5jZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LmNw
cDoKKwogMjAxMi0wNy0yMCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmVuYW1lIEVOQUJMRV9EQVRBTElTVCB0byBFTkFCTEVfREFUQUxJU1RfRUxFTUVOVApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RD
b21tb25UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVI
b3N0Q29tbW9uVGVzdC5jcHAKaW5kZXggMjZhZTZjYTQ3MzIxZDBiZGE2MDY3M2NjNzIwMzdkNzE2
Yjc3M2ZjOC4uYjYxZjlhMzVhZmNiMTlhN2FiZGU3OThmZjg4ZDBjODNmZTljN2E1ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25U
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9z
dENvbW1vblRlc3QuY3BwCkBAIC0zMjA4LDcgKzMyMDgsNyBAQCBURVNUKENDTGF5ZXJUcmVlSG9z
dENvbW1vblRlc3QsIHZlcmlmeUhpdFRlc3RpbmdGb3JTaW5nbGVMYXllcldpdGhTY2FsZWRDb250
ZW50cwogICAgIC8vIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGhpdCB0ZXN0aW5nIHdvcmtzIGNvcnJl
Y3RseSBhY2NvdW50cyBmb3IgdGhlIGNvbnRlbnRzIHNjYWxlLgogICAgIC8vIEEgY29udGVudHNT
Y2FsZSB0aGF0IGlzIG5vdCAxIGVmZmVjdGl2ZWx5IGZvcmNlcyBhIG5vbi1pZGVudGl0eSB0cmFu
c2Zvcm0gYmV0d2VlbgogICAgIC8vIGxheWVyJ3MgY29udGVudCBzcGFjZSBhbmQgbGF5ZXIncyBv
cmlnaW4gc3BhY2UsIHdoaWNoIGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUKLSAgICAvLyBzY3JlZW5T
cGFjZVRyYW5zZm9ybW4uIFRoZSBoaXQgdGVzdGluZyBjb2RlIG11c3QgdGFrZSB0aGlzIGludG8g
YWNjb3VudC4KKyAgICAvLyBzY3JlZW5TcGFjZVRyYW5zZm9ybS4gVGhlIGhpdCB0ZXN0aW5nIGNv
ZGUgbXVzdCB0YWtlIHRoaXMgaW50byBhY2NvdW50LgogICAgIC8vCiAgICAgLy8gVG8gdGVzdCB0
aGlzLCB0aGUgbGF5ZXIgaXMgcG9zaXRpb25lZCBhdCAoMjUsIDI1KSwgYW5kIGlzIHNpemUgKDUw
LCA1MCkuIElmCiAgICAgLy8gY29udGVudHNTY2FsZSBpcyBpZ25vcmVkLCB0aGVuIGhpdCB0ZXN0
aW5nIHdpbGwgbWlzLWludGVycHJldCB0aGUgdmlzaWJsZUNvbnRlbnRSZWN0CkBAIC0zNjc3LDYg
KzM2NzcsODggQEAgUGFzc1JlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gY3JlYXRlRHJhd2Fi
bGVDb250ZW50TGF5ZXJDaHJvbWl1bShDb250ZW50TGF5ZXIKICAgICByZXR1cm4gdG9SZXR1cm4u
cmVsZWFzZSgpOwogfQogCitURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeUxh
eWVyVHJhbmZvcm1zSW5IaWdoRFBJKQoreworICAgIC8vIFZlcmlmeSBkcmF3IGFuZCBzY3JlZW4g
c3BhY2UgdHJhbnNmb3JtcyBvZiBsYXllcnMgbm90IGluIGEgc3VyZmFjZS4KKyAgICBNb2NrQ29u
dGVudExheWVyRGVsZWdhdGUgZGVsZWdhdGU7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgg
aWRlbnRpdHlNYXRyaXg7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggcGFyZW50TWF0cml4
OworCisgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBwYXJlbnQgPSBjcmVhdGVEcmF3
YWJsZUNvbnRlbnRMYXllckNocm9taXVtKCZkZWxlZ2F0ZSk7CisgICAgc2V0TGF5ZXJQcm9wZXJ0
aWVzRm9yVGVzdGluZyhwYXJlbnQuZ2V0KCksIGlkZW50aXR5TWF0cml4LCBpZGVudGl0eU1hdHJp
eCwgRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgxMDAsIDEwMCks
IHRydWUpOworCisgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBjaGlsZCA9IGNyZWF0
ZURyYXdhYmxlQ29udGVudExheWVyQ2hyb21pdW0oJmRlbGVnYXRlKTsKKyAgICBzZXRMYXllclBy
b3BlcnRpZXNGb3JUZXN0aW5nKGNoaWxkLmdldCgpLCBpZGVudGl0eU1hdHJpeCwgaWRlbnRpdHlN
YXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQoMiwgMiksIEludFNpemUoMTAsIDEw
KSwgdHJ1ZSk7CisKKyAgICBwYXJlbnQtPmFkZENoaWxkKGNoaWxkKTsKKworICAgIFZlY3RvcjxS
ZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0OworICAgIFZlY3Rv
cjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiBkdW1teUxheWVyTGlzdDsKKyAgICBpbnQgZHVtbXlN
YXhUZXh0dXJlU2l6ZSA9IDUxMjsKKworICAgIHBhcmVudC0+Y3JlYXRlUmVuZGVyU3VyZmFjZSgp
OworICAgIHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpLT5zZXRDb250ZW50UmVjdChJbnRSZWN0KElu
dFBvaW50KCksIHBhcmVudC0+Ym91bmRzKCkpKTsKKyAgICBwYXJlbnQtPnNldENsaXBSZWN0KElu
dFJlY3QoSW50UG9pbnQ6Onplcm8oKSwgcGFyZW50LT5ib3VuZHMoKSkpOworICAgIHJlbmRlclN1
cmZhY2VMYXllckxpc3QuYXBwZW5kKHBhcmVudC5nZXQoKSk7CisKKyAgICBjb25zdCBkb3VibGUg
ZGV2aWNlU2NhbGVGYWN0b3IgPSAyLjU7CisgICAgcGFyZW50TWF0cml4LnNjYWxlKGRldmljZVNj
YWxlRmFjdG9yKTsKKyAgICBwYXJlbnQtPnNldENvbnRlbnRzU2NhbGUoZGV2aWNlU2NhbGVGYWN0
b3IpOworICAgIGNoaWxkLT5zZXRDb250ZW50c1NjYWxlKGRldmljZVNjYWxlRmFjdG9yKTsKKwor
ICAgIENDTGF5ZXJUcmVlSG9zdENvbW1vbjo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXMocGFyZW50
LmdldCgpLCBwYXJlbnQuZ2V0KCksIHBhcmVudE1hdHJpeCwgaWRlbnRpdHlNYXRyaXgsIHJlbmRl
clN1cmZhY2VMYXllckxpc3QsIGR1bW15TGF5ZXJMaXN0LCBkdW1teU1heFRleHR1cmVTaXplKTsK
KworICAgIEVYUEVDVF9FUSgxdSwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdC5zaXplKCkpOworCisg
ICAgLy8gVmVyaWZ5IHBhcmVudCB0cmFuc2Zvcm1zCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFBhcmVu
dFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhw
ZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3Ip
OworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEocGFyZW50LT5zY3JlZW5TcGFj
ZVRyYW5zZm9ybSgpLCBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtKTsKKworICAg
IFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUGFyZW50RHJhd1RyYW5zZm9ybSA9IGV4
cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQYXJlbnREcmF3
VHJhbnNmb3JtLnRyYW5zbGF0ZSgwLjUgKiBwYXJlbnQtPmJvdW5kcygpLndpZHRoKCksIDAuNSAq
IHBhcmVudC0+Ym91bmRzKCkuaGVpZ2h0KCkpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9N
QVRSSVhfRVEocGFyZW50LT5kcmF3VHJhbnNmb3JtKCksIGV4cGVjdGVkUGFyZW50RHJhd1RyYW5z
Zm9ybSk7CisKKyAgICAvLyBWZXJpZnkgcmVzdWx0cyBvZiB0cmFuc2Zvcm1lZCBwYXJlbnQgcmVj
dHMKKyAgICBJbnRSZWN0IHBhcmVudEJvdW5kcyhJbnRQb2ludCgpLCBwYXJlbnQtPmJvdW5kcygp
KTsKKyAgICBJbnRSZWN0IGNlbnRlcmVkUGFyZW50Qm91bmRzID0gcGFyZW50Qm91bmRzOworICAg
IGNlbnRlcmVkUGFyZW50Qm91bmRzLm1vdmUoLXBhcmVudEJvdW5kcy53aWR0aCgpICogMC41LCAt
cGFyZW50Qm91bmRzLmhlaWdodCgpICogMC41KTsKKworICAgIEZsb2F0UmVjdCBwYXJlbnREcmF3
UmVjdCA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KHBhcmVudC0+ZHJhd1RyYW5zZm9ybSgp
LCBGbG9hdFJlY3QoY2VudGVyZWRQYXJlbnRCb3VuZHMpKTsKKyAgICBGbG9hdFJlY3QgcGFyZW50
U2NyZWVuU3BhY2VSZWN0ID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QocGFyZW50LT5zY3Jl
ZW5TcGFjZVRyYW5zZm9ybSgpLCBGbG9hdFJlY3QocGFyZW50Qm91bmRzKSk7CisKKyAgICBGbG9h
dFJlY3QgZXhwZWN0ZWRQYXJlbnREcmF3UmVjdChGbG9hdFBvaW50KCksIHBhcmVudC0+Ym91bmRz
KCkpOworICAgIGV4cGVjdGVkUGFyZW50RHJhd1JlY3Quc2NhbGUoZGV2aWNlU2NhbGVGYWN0b3Ip
OworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKHBhcmVudERyYXdSZWN0LCBleHBlY3RlZFBhcmVu
dERyYXdSZWN0KTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShwYXJlbnRTY3JlZW5TcGFjZVJl
Y3QsIGV4cGVjdGVkUGFyZW50RHJhd1JlY3QpOworCisgICAgLy8gVmVyaWZ5IGNoaWxkIHRyYW5z
Zm9ybXMKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZENoaWxkU2NyZWVuU3Bh
Y2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0x
MShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNm
b3JtLnNldE0yMihkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNw
YWNlVHJhbnNmb3JtLnRyYW5zbGF0ZShjaGlsZC0+cG9zaXRpb24oKS54KCksIGNoaWxkLT5wb3Np
dGlvbigpLnkoKSk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3Rl
ZENoaWxkU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgp
KTsKKworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkQ2hpbGREcmF3VHJhbnNm
b3JtID0gZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkQ2hp
bGREcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZSgwLjUgKiBjaGlsZC0+Ym91bmRzKCkud2lkdGgoKSwg
MC41ICogY2hpbGQtPmJvdW5kcygpLmhlaWdodCgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJ
T05fTUFUUklYX0VRKGV4cGVjdGVkQ2hpbGREcmF3VHJhbnNmb3JtLCBjaGlsZC0+ZHJhd1RyYW5z
Zm9ybSgpKTsKKworICAgIC8vIFZlcmlmeSByZXN1bHRzIG9mIHRyYW5zZm9ybWVkIGNoaWxkIHJl
Y3RzCisgICAgSW50UmVjdCBjaGlsZEJvdW5kcyhJbnRQb2ludCgpLCBjaGlsZC0+Ym91bmRzKCkp
OworICAgIEludFJlY3QgY2VudGVyZWRDaGlsZEJvdW5kcyA9IGNoaWxkQm91bmRzOworICAgIGNl
bnRlcmVkQ2hpbGRCb3VuZHMubW92ZSgtY2hpbGRCb3VuZHMud2lkdGgoKSAqIDAuNSwgLWNoaWxk
Qm91bmRzLmhlaWdodCgpICogMC41KTsKKworICAgIEZsb2F0UmVjdCBjaGlsZERyYXdSZWN0ID0g
Q0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QoY2hpbGQtPmRyYXdUcmFuc2Zvcm0oKSwgRmxvYXRS
ZWN0KGNlbnRlcmVkQ2hpbGRCb3VuZHMpKTsKKyAgICBGbG9hdFJlY3QgY2hpbGRTY3JlZW5TcGFj
ZVJlY3QgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChjaGlsZC0+c2NyZWVuU3BhY2VUcmFu
c2Zvcm0oKSwgRmxvYXRSZWN0KGNoaWxkQm91bmRzKSk7CisKKyAgICBGbG9hdFJlY3QgZXhwZWN0
ZWRDaGlsZERyYXdSZWN0KEZsb2F0UG9pbnQoKSwgY2hpbGQtPmJvdW5kcygpKTsKKyAgICBleHBl
Y3RlZENoaWxkRHJhd1JlY3QubW92ZShjaGlsZC0+cG9zaXRpb24oKS54KCksIGNoaWxkLT5wb3Np
dGlvbigpLnkoKSk7CisgICAgZXhwZWN0ZWRDaGlsZERyYXdSZWN0LnNjYWxlKGRldmljZVNjYWxl
RmFjdG9yKTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShjaGlsZERyYXdSZWN0LCBleHBlY3Rl
ZENoaWxkRHJhd1JlY3QpOworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKGNoaWxkU2NyZWVuU3Bh
Y2VSZWN0LCBleHBlY3RlZENoaWxkRHJhd1JlY3QpOworfQorCiBURVNUKENDTGF5ZXJUcmVlSG9z
dENvbW1vblRlc3QsIHZlcmlmeVJlbmRlclN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCiB7CiAg
ICAgTW9ja0NvbnRlbnRMYXllckRlbGVnYXRlIGRlbGVnYXRlOwpAQCAtMzY5NCw3ICszNzc2LDEz
IEBAIFRFU1QoQ0NMYXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5UmVuZGVyU3VyZmFjZVRy
YW5mb3Jtc0luSGlnaERQSSkKICAgICBSZWZQdHI8Q29udGVudExheWVyQ2hyb21pdW0+IHJlcGxp
Y2EgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRMYXllckNocm9taXVtKCZkZWxlZ2F0ZSk7CiAgICAg
c2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGluZyhyZXBsaWNhLmdldCgpLCByZXBsaWNhVHJhbnNm
b3JtLCBpZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRQb2ludCgyLCAyKSwg
SW50U2l6ZSgxMCwgMTApLCB0cnVlKTsKIAorICAgIC8vIFRoaXMgbGF5ZXIgc2hvdWxkIGVuZCB1
cCBpbiB0aGUgc2FtZSBzdXJmYWNlIGFzIGNoaWxkLCB3aXRoIHRoZSBzYW1lIGRyYXcKKyAgICAv
LyBhbmQgc2NyZWVuIHNwYWNlIHRyYW5zZm9ybXMuCisgICAgUmVmUHRyPENvbnRlbnRMYXllckNo
cm9taXVtPiBkdXBsaWNhdGVDaGlsZE5vbk93bmVyID0gY3JlYXRlRHJhd2FibGVDb250ZW50TGF5
ZXJDaHJvbWl1bSgmZGVsZWdhdGUpOworICAgIHNldExheWVyUHJvcGVydGllc0ZvclRlc3Rpbmco
ZHVwbGljYXRlQ2hpbGROb25Pd25lci5nZXQoKSwgaWRlbnRpdHlNYXRyaXgsIGlkZW50aXR5TWF0
cml4LCBGbG9hdFBvaW50KDAsIDApLCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDEwLCAxMCks
IHRydWUpOworCiAgICAgcGFyZW50LT5hZGRDaGlsZChjaGlsZCk7CisgICAgY2hpbGQtPmFkZENo
aWxkKGR1cGxpY2F0ZUNoaWxkTm9uT3duZXIpOwogICAgIGNoaWxkLT5zZXRSZXBsaWNhTGF5ZXIo
cmVwbGljYS5nZXQoKSk7CiAKICAgICBWZWN0b3I8UmVmUHRyPExheWVyQ2hyb21pdW0+ID4gcmVu
ZGVyU3VyZmFjZUxheWVyTGlzdDsKQEAgLTM3MTgsNiArMzgwNiwxNCBAQCBURVNUKENDTGF5ZXJU
cmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRlclN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkp
CiAgICAgLy8gcmVuZGVyIHN1cmZhY2UgKGl0IG5lZWRzIG9uZSBiZWNhdXNlIGl0IGhhcyBhIHJl
cGxpY2EgbGF5ZXIpLgogICAgIEVYUEVDVF9FUSgydSwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdC5z
aXplKCkpOwogCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRQYXJlbnRTY3Jl
ZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3Jt
LnNldE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFj
ZVRyYW5zZm9ybS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIFdlYlRyYW5zZm9ybWF0
aW9uTWF0cml4IGV4cGVjdGVkUGFyZW50RHJhd1RyYW5zZm9ybSA9IGV4cGVjdGVkUGFyZW50U2Ny
ZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQYXJlbnREcmF3VHJhbnNmb3JtLnRyYW5z
bGF0ZSgwLjUgKiBwYXJlbnQtPmJvdW5kcygpLndpZHRoKCksIDAuNSAqIHBhcmVudC0+Ym91bmRz
KCkuaGVpZ2h0KCkpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEocGFyZW50
LT5kcmF3VHJhbnNmb3JtKCksIGV4cGVjdGVkUGFyZW50RHJhd1RyYW5zZm9ybSk7CisgICAgRVhQ
RUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShwYXJlbnQtPnNjcmVlblNwYWNlVHJhbnNmb3Jt
KCksIGV4cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm0pOworCiAgICAgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXggZXhwZWN0ZWREcmF3VHJhbnNmb3JtOwogICAgIGV4cGVjdGVkRHJhd1Ry
YW5zZm9ybS5zZXRNMTEoZGV2aWNlU2NhbGVGYWN0b3IpOwogICAgIGV4cGVjdGVkRHJhd1RyYW5z
Zm9ybS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3IpOwpAQCAtMzcyNSw2ICszODIxLDE1IEBAIFRF
U1QoQ0NMYXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5UmVuZGVyU3VyZmFjZVRyYW5mb3Jt
c0luSGlnaERQSSkKICAgICBleHBlY3RlZERyYXdUcmFuc2Zvcm0uc2V0TTQyKDAuNSAqIGRldmlj
ZVNjYWxlRmFjdG9yICogY2hpbGQtPmJvdW5kcygpLmhlaWdodCgpKTsKICAgICBFWFBFQ1RfVFJB
TlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkRHJhd1RyYW5zZm9ybSwgY2hpbGQtPmRyYXdU
cmFuc2Zvcm0oKSk7CiAKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZFNjcmVl
blNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm0uc2V0TTEx
KGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBleHBlY3RlZFNjcmVlblNwYWNlVHJhbnNmb3JtLnNl
dE0yMihkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRTY3JlZW5TcGFjZVRyYW5zZm9y
bS50cmFuc2xhdGUoY2hpbGQtPnBvc2l0aW9uKCkueCgpLCBjaGlsZC0+cG9zaXRpb24oKS55KCkp
OworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoZXhwZWN0ZWRTY3JlZW5TcGFj
ZVRyYW5zZm9ybSwgY2hpbGQtPnNjcmVlblNwYWNlVHJhbnNmb3JtKCkpOworCisgICAgRVhQRUNU
X1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShjaGlsZC0+ZHJhd1RyYW5zZm9ybSgpLCBkdXBsaWNh
dGVDaGlsZE5vbk93bmVyLT5kcmF3VHJhbnNmb3JtKCkpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1B
VElPTl9NQVRSSVhfRVEoY2hpbGQtPnNjcmVlblNwYWNlVHJhbnNmb3JtKCksIGR1cGxpY2F0ZUNo
aWxkTm9uT3duZXItPnNjcmVlblNwYWNlVHJhbnNmb3JtKCkpOworCiAgICAgV2ViVHJhbnNmb3Jt
YXRpb25NYXRyaXggZXhwZWN0ZWRSZW5kZXJTdXJmYWNlRHJhd1RyYW5zZm9ybTsKICAgICBleHBl
Y3RlZFJlbmRlclN1cmZhY2VEcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZShkZXZpY2VTY2FsZUZhY3Rv
ciAqIChjaGlsZC0+cG9zaXRpb24oKS54KCkgKyAwLjUgKiBjaGlsZC0+Ym91bmRzKCkud2lkdGgo
KSksIGRldmljZVNjYWxlRmFjdG9yICogKGNoaWxkLT5wb3NpdGlvbigpLnkoKSArIDAuNSAqIGNo
aWxkLT5ib3VuZHMoKS5oZWlnaHQoKSkpOwogICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRS
SVhfRVEoZXhwZWN0ZWRSZW5kZXJTdXJmYWNlRHJhd1RyYW5zZm9ybSwgY2hpbGQtPnJlbmRlclN1
cmZhY2UoKS0+ZHJhd1RyYW5zZm9ybSgpKTsKQEAgLTM3MzMsOSArMzgzOCw5IEBAIFRFU1QoQ0NM
YXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5UmVuZGVyU3VyZmFjZVRyYW5mb3Jtc0luSGln
aERQSSkKICAgICBleHBlY3RlZE9yaWdpblRyYW5zZm9ybS50cmFuc2xhdGUoZGV2aWNlU2NhbGVG
YWN0b3IgKiAyLCBkZXZpY2VTY2FsZUZhY3RvciAqIDIpOwogICAgIEVYUEVDVF9UUkFOU0ZPUk1B
VElPTl9NQVRSSVhfRVEoZXhwZWN0ZWRPcmlnaW5UcmFuc2Zvcm0sIGNoaWxkLT5yZW5kZXJTdXJm
YWNlKCktPm9yaWdpblRyYW5zZm9ybSgpKTsKIAotICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4
IGV4cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm07Ci0gICAgZXhwZWN0ZWRTY3JlZW5TcGFjZVRy
YW5zZm9ybS50cmFuc2xhdGUoZGV2aWNlU2NhbGVGYWN0b3IgKiAyLCBkZXZpY2VTY2FsZUZhY3Rv
ciAqIDIpOwotICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoZXhwZWN0ZWRTY3Jl
ZW5TcGFjZVRyYW5zZm9ybSwgY2hpbGQtPnJlbmRlclN1cmZhY2UoKS0+c2NyZWVuU3BhY2VUcmFu
c2Zvcm0oKSk7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRTdXJmYWNlU2Ny
ZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRTdXJmYWNlU2NyZWVuU3BhY2VUcmFuc2Zv
cm0udHJhbnNsYXRlKGRldmljZVNjYWxlRmFjdG9yICogMiwgZGV2aWNlU2NhbGVGYWN0b3IgKiAy
KTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkU3VyZmFjZVNj
cmVlblNwYWNlVHJhbnNmb3JtLCBjaGlsZC0+cmVuZGVyU3VyZmFjZSgpLT5zY3JlZW5TcGFjZVRy
YW5zZm9ybSgpKTsKIAogICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUmVwbGlj
YURyYXdUcmFuc2Zvcm07CiAgICAgZXhwZWN0ZWRSZXBsaWNhRHJhd1RyYW5zZm9ybS5zZXRNMjIo
LTEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153655</attachid>
            <date>2012-07-20 23:53:16 -0700</date>
            <delta_ts>2012-07-21 18:36:21 -0700</delta_ts>
            <desc>Fix egregious typo</desc>
            <filename>bug-91917-20120720235311.patch</filename>
            <type>text/plain</type>
            <size>11010</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGViNGE0ZTViMzhjZjk5NDQ5MGVjOTE1NmNjYmQ3OTg0M2RhNWIwOTEuLjk2YmJmYjgwZjAyNjVi
NTI2ZWM0NjBjNTUyNmZjNzU1YmFlMWI4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBtb3JlIGNvbXBvc2l0b3IgdW5pdCB0ZXN0
cyBmb3IgaGlnaCBEUEkgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTE5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY3VycmVudCBzZXQgb2YgaGlnaCBEUEkgdGVzdHMgb25seSBk
ZWFsIHdpdGggbGF5ZXJzIGluIGEgcmVuZGVyCisgICAgICAgIHN1cmZhY2UuIEFkZCBzb21lIGV4
dHJhIHRlc3RzIGZvciBub24tc3VyZmFjZSBsYXllcnMuIEFsc28gYWRkIGEgdGVzdAorICAgICAg
ICB0byBtYWtlIHN1cmUgdGhhdCBhbiBvd25pbmcgbGF5ZXIgaW4gYSBzdXJmYWNlIGRvZXNuJ3Qg
ZGlmZmVyIGZyb20gYQorICAgICAgICBub24tb3duaW5nIGxheWVyIGluIGhpZ2ggRFBJIGNpcmN1
bXN0YW5jZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LmNw
cDoKKwogMjAxMi0wNy0yMCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmVuYW1lIEVOQUJMRV9EQVRBTElTVCB0byBFTkFCTEVfREFUQUxJU1RfRUxFTUVOVApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RD
b21tb25UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVI
b3N0Q29tbW9uVGVzdC5jcHAKaW5kZXggMjZhZTZjYTQ3MzIxZDBiZGE2MDY3M2NjNzIwMzdkNzE2
Yjc3M2ZjOC4uNjZhNWUyNjQ2Y2VmMTY2MGVmY2UwM2I0ZTY2MDEzYzM4NTI0MGE5MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25U
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9z
dENvbW1vblRlc3QuY3BwCkBAIC0zMjA4LDcgKzMyMDgsNyBAQCBURVNUKENDTGF5ZXJUcmVlSG9z
dENvbW1vblRlc3QsIHZlcmlmeUhpdFRlc3RpbmdGb3JTaW5nbGVMYXllcldpdGhTY2FsZWRDb250
ZW50cwogICAgIC8vIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGhpdCB0ZXN0aW5nIHdvcmtzIGNvcnJl
Y3RseSBhY2NvdW50cyBmb3IgdGhlIGNvbnRlbnRzIHNjYWxlLgogICAgIC8vIEEgY29udGVudHNT
Y2FsZSB0aGF0IGlzIG5vdCAxIGVmZmVjdGl2ZWx5IGZvcmNlcyBhIG5vbi1pZGVudGl0eSB0cmFu
c2Zvcm0gYmV0d2VlbgogICAgIC8vIGxheWVyJ3MgY29udGVudCBzcGFjZSBhbmQgbGF5ZXIncyBv
cmlnaW4gc3BhY2UsIHdoaWNoIGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUKLSAgICAvLyBzY3JlZW5T
cGFjZVRyYW5zZm9ybW4uIFRoZSBoaXQgdGVzdGluZyBjb2RlIG11c3QgdGFrZSB0aGlzIGludG8g
YWNjb3VudC4KKyAgICAvLyBzY3JlZW5TcGFjZVRyYW5zZm9ybS4gVGhlIGhpdCB0ZXN0aW5nIGNv
ZGUgbXVzdCB0YWtlIHRoaXMgaW50byBhY2NvdW50LgogICAgIC8vCiAgICAgLy8gVG8gdGVzdCB0
aGlzLCB0aGUgbGF5ZXIgaXMgcG9zaXRpb25lZCBhdCAoMjUsIDI1KSwgYW5kIGlzIHNpemUgKDUw
LCA1MCkuIElmCiAgICAgLy8gY29udGVudHNTY2FsZSBpcyBpZ25vcmVkLCB0aGVuIGhpdCB0ZXN0
aW5nIHdpbGwgbWlzLWludGVycHJldCB0aGUgdmlzaWJsZUNvbnRlbnRSZWN0CkBAIC0zNjc3LDcg
KzM2NzcsODkgQEAgUGFzc1JlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gY3JlYXRlRHJhd2Fi
bGVDb250ZW50TGF5ZXJDaHJvbWl1bShDb250ZW50TGF5ZXIKICAgICByZXR1cm4gdG9SZXR1cm4u
cmVsZWFzZSgpOwogfQogCi1URVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJl
bmRlclN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCitURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1v
blRlc3QsIHZlcmlmeUxheWVyVHJhbmZvcm1zSW5IaWdoRFBJKQoreworICAgIC8vIFZlcmlmeSBk
cmF3IGFuZCBzY3JlZW4gc3BhY2UgdHJhbnNmb3JtcyBvZiBsYXllcnMgbm90IGluIGEgc3VyZmFj
ZS4KKyAgICBNb2NrQ29udGVudExheWVyRGVsZWdhdGUgZGVsZWdhdGU7CisgICAgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXggaWRlbnRpdHlNYXRyaXg7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggcGFyZW50TWF0cml4OworCisgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBwYXJl
bnQgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRMYXllckNocm9taXVtKCZkZWxlZ2F0ZSk7CisgICAg
c2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGluZyhwYXJlbnQuZ2V0KCksIGlkZW50aXR5TWF0cml4
LCBpZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRQb2ludCgwLCAwKSwgSW50
U2l6ZSgxMDAsIDEwMCksIHRydWUpOworCisgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVt
PiBjaGlsZCA9IGNyZWF0ZURyYXdhYmxlQ29udGVudExheWVyQ2hyb21pdW0oJmRlbGVnYXRlKTsK
KyAgICBzZXRMYXllclByb3BlcnRpZXNGb3JUZXN0aW5nKGNoaWxkLmdldCgpLCBpZGVudGl0eU1h
dHJpeCwgaWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQoMiwgMiks
IEludFNpemUoMTAsIDEwKSwgdHJ1ZSk7CisKKyAgICBwYXJlbnQtPmFkZENoaWxkKGNoaWxkKTsK
KworICAgIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiByZW5kZXJTdXJmYWNlTGF5ZXJM
aXN0OworICAgIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiBkdW1teUxheWVyTGlzdDsK
KyAgICBpbnQgZHVtbXlNYXhUZXh0dXJlU2l6ZSA9IDUxMjsKKworICAgIHBhcmVudC0+Y3JlYXRl
UmVuZGVyU3VyZmFjZSgpOworICAgIHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpLT5zZXRDb250ZW50
UmVjdChJbnRSZWN0KEludFBvaW50KCksIHBhcmVudC0+Ym91bmRzKCkpKTsKKyAgICBwYXJlbnQt
PnNldENsaXBSZWN0KEludFJlY3QoSW50UG9pbnQ6Onplcm8oKSwgcGFyZW50LT5ib3VuZHMoKSkp
OworICAgIHJlbmRlclN1cmZhY2VMYXllckxpc3QuYXBwZW5kKHBhcmVudC5nZXQoKSk7CisKKyAg
ICBjb25zdCBkb3VibGUgZGV2aWNlU2NhbGVGYWN0b3IgPSAyLjU7CisgICAgcGFyZW50TWF0cml4
LnNjYWxlKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBwYXJlbnQtPnNldENvbnRlbnRzU2NhbGUo
ZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGNoaWxkLT5zZXRDb250ZW50c1NjYWxlKGRldmljZVNj
YWxlRmFjdG9yKTsKKworICAgIENDTGF5ZXJUcmVlSG9zdENvbW1vbjo6Y2FsY3VsYXRlRHJhd1Ry
YW5zZm9ybXMocGFyZW50LmdldCgpLCBwYXJlbnQuZ2V0KCksIHBhcmVudE1hdHJpeCwgaWRlbnRp
dHlNYXRyaXgsIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIGR1bW15TGF5ZXJMaXN0LCBkdW1teU1h
eFRleHR1cmVTaXplKTsKKworICAgIEVYUEVDVF9FUSgxdSwgcmVuZGVyU3VyZmFjZUxheWVyTGlz
dC5zaXplKCkpOworCisgICAgLy8gVmVyaWZ5IHBhcmVudCB0cmFuc2Zvcm1zCisgICAgV2ViVHJh
bnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAg
ICBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0xMShkZXZpY2VTY2FsZUZh
Y3Rvcik7CisgICAgZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybS5zZXRNMjIoZGV2
aWNlU2NhbGVGYWN0b3IpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEocGFy
ZW50LT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpLCBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJh
bnNmb3JtKTsKKworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUGFyZW50RHJh
d1RyYW5zZm9ybSA9IGV4cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhw
ZWN0ZWRQYXJlbnREcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZSgwLjUgKiBwYXJlbnQtPmJvdW5kcygp
LndpZHRoKCksIDAuNSAqIHBhcmVudC0+Ym91bmRzKCkuaGVpZ2h0KCkpOworICAgIEVYUEVDVF9U
UkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEocGFyZW50LT5kcmF3VHJhbnNmb3JtKCksIGV4cGVjdGVk
UGFyZW50RHJhd1RyYW5zZm9ybSk7CisKKyAgICAvLyBWZXJpZnkgcmVzdWx0cyBvZiB0cmFuc2Zv
cm1lZCBwYXJlbnQgcmVjdHMKKyAgICBJbnRSZWN0IHBhcmVudEJvdW5kcyhJbnRQb2ludCgpLCBw
YXJlbnQtPmJvdW5kcygpKTsKKyAgICBJbnRSZWN0IGNlbnRlcmVkUGFyZW50Qm91bmRzID0gcGFy
ZW50Qm91bmRzOworICAgIGNlbnRlcmVkUGFyZW50Qm91bmRzLm1vdmUoLXBhcmVudEJvdW5kcy53
aWR0aCgpICogMC41LCAtcGFyZW50Qm91bmRzLmhlaWdodCgpICogMC41KTsKKworICAgIEZsb2F0
UmVjdCBwYXJlbnREcmF3UmVjdCA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KHBhcmVudC0+
ZHJhd1RyYW5zZm9ybSgpLCBGbG9hdFJlY3QoY2VudGVyZWRQYXJlbnRCb3VuZHMpKTsKKyAgICBG
bG9hdFJlY3QgcGFyZW50U2NyZWVuU3BhY2VSZWN0ID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJl
Y3QocGFyZW50LT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpLCBGbG9hdFJlY3QocGFyZW50Qm91bmRz
KSk7CisKKyAgICBGbG9hdFJlY3QgZXhwZWN0ZWRQYXJlbnREcmF3UmVjdChGbG9hdFBvaW50KCks
IHBhcmVudC0+Ym91bmRzKCkpOworICAgIGV4cGVjdGVkUGFyZW50RHJhd1JlY3Quc2NhbGUoZGV2
aWNlU2NhbGVGYWN0b3IpOworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKHBhcmVudERyYXdSZWN0
LCBleHBlY3RlZFBhcmVudERyYXdSZWN0KTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShwYXJl
bnRTY3JlZW5TcGFjZVJlY3QsIGV4cGVjdGVkUGFyZW50RHJhd1JlY3QpOworCisgICAgLy8gVmVy
aWZ5IGNoaWxkIHRyYW5zZm9ybXMKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3Rl
ZENoaWxkU2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNl
VHJhbnNmb3JtLnNldE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRDaGlsZFNj
cmVlblNwYWNlVHJhbnNmb3JtLnNldE0yMihkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0
ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtLnRyYW5zbGF0ZShjaGlsZC0+cG9zaXRpb24oKS54
KCksIGNoaWxkLT5wb3NpdGlvbigpLnkoKSk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01B
VFJJWF9FUShleHBlY3RlZENoaWxkU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5zY3JlZW5T
cGFjZVRyYW5zZm9ybSgpKTsKKworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVk
Q2hpbGREcmF3VHJhbnNmb3JtID0gZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtOwor
ICAgIGV4cGVjdGVkQ2hpbGREcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZSgwLjUgKiBjaGlsZC0+Ym91
bmRzKCkud2lkdGgoKSwgMC41ICogY2hpbGQtPmJvdW5kcygpLmhlaWdodCgpKTsKKyAgICBFWFBF
Q1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkQ2hpbGREcmF3VHJhbnNmb3JtLCBj
aGlsZC0+ZHJhd1RyYW5zZm9ybSgpKTsKKworICAgIC8vIFZlcmlmeSByZXN1bHRzIG9mIHRyYW5z
Zm9ybWVkIGNoaWxkIHJlY3RzCisgICAgSW50UmVjdCBjaGlsZEJvdW5kcyhJbnRQb2ludCgpLCBj
aGlsZC0+Ym91bmRzKCkpOworICAgIEludFJlY3QgY2VudGVyZWRDaGlsZEJvdW5kcyA9IGNoaWxk
Qm91bmRzOworICAgIGNlbnRlcmVkQ2hpbGRCb3VuZHMubW92ZSgtY2hpbGRCb3VuZHMud2lkdGgo
KSAqIDAuNSwgLWNoaWxkQm91bmRzLmhlaWdodCgpICogMC41KTsKKworICAgIEZsb2F0UmVjdCBj
aGlsZERyYXdSZWN0ID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QoY2hpbGQtPmRyYXdUcmFu
c2Zvcm0oKSwgRmxvYXRSZWN0KGNlbnRlcmVkQ2hpbGRCb3VuZHMpKTsKKyAgICBGbG9hdFJlY3Qg
Y2hpbGRTY3JlZW5TcGFjZVJlY3QgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChjaGlsZC0+
c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSwgRmxvYXRSZWN0KGNoaWxkQm91bmRzKSk7CisKKyAgICBG
bG9hdFJlY3QgZXhwZWN0ZWRDaGlsZERyYXdSZWN0KEZsb2F0UG9pbnQoKSwgY2hpbGQtPmJvdW5k
cygpKTsKKyAgICBleHBlY3RlZENoaWxkRHJhd1JlY3QubW92ZShjaGlsZC0+cG9zaXRpb24oKS54
KCksIGNoaWxkLT5wb3NpdGlvbigpLnkoKSk7CisgICAgZXhwZWN0ZWRDaGlsZERyYXdSZWN0LnNj
YWxlKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShjaGlsZERy
YXdSZWN0LCBleHBlY3RlZENoaWxkRHJhd1JlY3QpOworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VR
KGNoaWxkU2NyZWVuU3BhY2VSZWN0LCBleHBlY3RlZENoaWxkRHJhd1JlY3QpOworfQorCitURVNU
KENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRlclN1cmZhY2VUcmFuc2Zvcm1z
SW5IaWdoRFBJKQogewogICAgIE1vY2tDb250ZW50TGF5ZXJEZWxlZ2F0ZSBkZWxlZ2F0ZTsKICAg
ICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBpZGVudGl0eU1hdHJpeDsKQEAgLTM2OTQsNyArMzc3
NiwxMyBAQCBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRlclN1cmZh
Y2VUcmFuZm9ybXNJbkhpZ2hEUEkpCiAgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBy
ZXBsaWNhID0gY3JlYXRlRHJhd2FibGVDb250ZW50TGF5ZXJDaHJvbWl1bSgmZGVsZWdhdGUpOwog
ICAgIHNldExheWVyUHJvcGVydGllc0ZvclRlc3RpbmcocmVwbGljYS5nZXQoKSwgcmVwbGljYVRy
YW5zZm9ybSwgaWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQoMiwg
MiksIEludFNpemUoMTAsIDEwKSwgdHJ1ZSk7CiAKKyAgICAvLyBUaGlzIGxheWVyIHNob3VsZCBl
bmQgdXAgaW4gdGhlIHNhbWUgc3VyZmFjZSBhcyBjaGlsZCwgd2l0aCB0aGUgc2FtZSBkcmF3Cisg
ICAgLy8gYW5kIHNjcmVlbiBzcGFjZSB0cmFuc2Zvcm1zLgorICAgIFJlZlB0cjxDb250ZW50TGF5
ZXJDaHJvbWl1bT4gZHVwbGljYXRlQ2hpbGROb25Pd25lciA9IGNyZWF0ZURyYXdhYmxlQ29udGVu
dExheWVyQ2hyb21pdW0oJmRlbGVnYXRlKTsKKyAgICBzZXRMYXllclByb3BlcnRpZXNGb3JUZXN0
aW5nKGR1cGxpY2F0ZUNoaWxkTm9uT3duZXIuZ2V0KCksIGlkZW50aXR5TWF0cml4LCBpZGVudGl0
eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgxMCwg
MTApLCB0cnVlKTsKKwogICAgIHBhcmVudC0+YWRkQ2hpbGQoY2hpbGQpOworICAgIGNoaWxkLT5h
ZGRDaGlsZChkdXBsaWNhdGVDaGlsZE5vbk93bmVyKTsKICAgICBjaGlsZC0+c2V0UmVwbGljYUxh
eWVyKHJlcGxpY2EuZ2V0KCkpOwogCiAgICAgVmVjdG9yPFJlZlB0cjxMYXllckNocm9taXVtPiA+
IHJlbmRlclN1cmZhY2VMYXllckxpc3Q7CkBAIC0zNzE4LDYgKzM4MDYsMTQgQEAgVEVTVChDQ0xh
eWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJhbmZvcm1zSW5IaWdo
RFBJKQogICAgIC8vIHJlbmRlciBzdXJmYWNlIChpdCBuZWVkcyBvbmUgYmVjYXVzZSBpdCBoYXMg
YSByZXBsaWNhIGxheWVyKS4KICAgICBFWFBFQ1RfRVEoMnUsIHJlbmRlclN1cmZhY2VMYXllckxp
c3Quc2l6ZSgpKTsKIAorICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUGFyZW50
U2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5z
Zm9ybS5zZXRNMTEoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVkUGFyZW50U2NyZWVu
U3BhY2VUcmFuc2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBleHBlY3RlZFBhcmVudERyYXdUcmFuc2Zvcm0gPSBleHBlY3RlZFBhcmVu
dFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkUGFyZW50RHJhd1RyYW5zZm9ybS50
cmFuc2xhdGUoMC41ICogcGFyZW50LT5ib3VuZHMoKS53aWR0aCgpLCAwLjUgKiBwYXJlbnQtPmJv
dW5kcygpLmhlaWdodCgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKHBh
cmVudC0+ZHJhd1RyYW5zZm9ybSgpLCBleHBlY3RlZFBhcmVudERyYXdUcmFuc2Zvcm0pOworICAg
IEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEocGFyZW50LT5zY3JlZW5TcGFjZVRyYW5z
Zm9ybSgpLCBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtKTsKKwogICAgIFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkRHJhd1RyYW5zZm9ybTsKICAgICBleHBlY3RlZERy
YXdUcmFuc2Zvcm0uc2V0TTExKGRldmljZVNjYWxlRmFjdG9yKTsKICAgICBleHBlY3RlZERyYXdU
cmFuc2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKQEAgLTM3MjUsNiArMzgyMSwxNSBA
QCBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRlclN1cmZhY2VUcmFu
Zm9ybXNJbkhpZ2hEUEkpCiAgICAgZXhwZWN0ZWREcmF3VHJhbnNmb3JtLnNldE00MigwLjUgKiBk
ZXZpY2VTY2FsZUZhY3RvciAqIGNoaWxkLT5ib3VuZHMoKS5oZWlnaHQoKSk7CiAgICAgRVhQRUNU
X1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3RlZERyYXdUcmFuc2Zvcm0sIGNoaWxkLT5k
cmF3VHJhbnNmb3JtKCkpOwogCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRT
Y3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFNjcmVlblNwYWNlVHJhbnNmb3JtLnNl
dE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRTY3JlZW5TcGFjZVRyYW5zZm9y
bS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVkU2NyZWVuU3BhY2VUcmFu
c2Zvcm0udHJhbnNsYXRlKGNoaWxkLT5wb3NpdGlvbigpLngoKSwgY2hpbGQtPnBvc2l0aW9uKCku
eSgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkU2NyZWVu
U3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsKKworICAgIEVY
UEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoY2hpbGQtPmRyYXdUcmFuc2Zvcm0oKSwgZHVw
bGljYXRlQ2hpbGROb25Pd25lci0+ZHJhd1RyYW5zZm9ybSgpKTsKKyAgICBFWFBFQ1RfVFJBTlNG
T1JNQVRJT05fTUFUUklYX0VRKGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpLCBkdXBsaWNh
dGVDaGlsZE5vbk93bmVyLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsKKwogICAgIFdlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUmVuZGVyU3VyZmFjZURyYXdUcmFuc2Zvcm07CiAgICAg
ZXhwZWN0ZWRSZW5kZXJTdXJmYWNlRHJhd1RyYW5zZm9ybS50cmFuc2xhdGUoZGV2aWNlU2NhbGVG
YWN0b3IgKiAoY2hpbGQtPnBvc2l0aW9uKCkueCgpICsgMC41ICogY2hpbGQtPmJvdW5kcygpLndp
ZHRoKCkpLCBkZXZpY2VTY2FsZUZhY3RvciAqIChjaGlsZC0+cG9zaXRpb24oKS55KCkgKyAwLjUg
KiBjaGlsZC0+Ym91bmRzKCkuaGVpZ2h0KCkpKTsKICAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05f
TUFUUklYX0VRKGV4cGVjdGVkUmVuZGVyU3VyZmFjZURyYXdUcmFuc2Zvcm0sIGNoaWxkLT5yZW5k
ZXJTdXJmYWNlKCktPmRyYXdUcmFuc2Zvcm0oKSk7CkBAIC0zNzMzLDkgKzM4MzgsOSBAQCBURVNU
KENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRlclN1cmZhY2VUcmFuZm9ybXNJ
bkhpZ2hEUEkpCiAgICAgZXhwZWN0ZWRPcmlnaW5UcmFuc2Zvcm0udHJhbnNsYXRlKGRldmljZVNj
YWxlRmFjdG9yICogMiwgZGV2aWNlU2NhbGVGYWN0b3IgKiAyKTsKICAgICBFWFBFQ1RfVFJBTlNG
T1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkT3JpZ2luVHJhbnNmb3JtLCBjaGlsZC0+cmVuZGVy
U3VyZmFjZSgpLT5vcmlnaW5UcmFuc2Zvcm0oKSk7CiAKLSAgICBXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCBleHBlY3RlZFNjcmVlblNwYWNlVHJhbnNmb3JtOwotICAgIGV4cGVjdGVkU2NyZWVuU3Bh
Y2VUcmFuc2Zvcm0udHJhbnNsYXRlKGRldmljZVNjYWxlRmFjdG9yICogMiwgZGV2aWNlU2NhbGVG
YWN0b3IgKiAyKTsKLSAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVk
U2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5yZW5kZXJTdXJmYWNlKCktPnNjcmVlblNwYWNl
VHJhbnNmb3JtKCkpOworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkU3VyZmFj
ZVNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkU3VyZmFjZVNjcmVlblNwYWNlVHJh
bnNmb3JtLnRyYW5zbGF0ZShkZXZpY2VTY2FsZUZhY3RvciAqIDIsIGRldmljZVNjYWxlRmFjdG9y
ICogMik7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3RlZFN1cmZh
Y2VTY3JlZW5TcGFjZVRyYW5zZm9ybSwgY2hpbGQtPnJlbmRlclN1cmZhY2UoKS0+c2NyZWVuU3Bh
Y2VUcmFuc2Zvcm0oKSk7CiAKICAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZFJl
cGxpY2FEcmF3VHJhbnNmb3JtOwogICAgIGV4cGVjdGVkUmVwbGljYURyYXdUcmFuc2Zvcm0uc2V0
TTIyKC0xKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153681</attachid>
            <date>2012-07-21 18:36:23 -0700</date>
            <delta_ts>2012-07-23 17:22:41 -0700</delta_ts>
            <desc>More tests; fix scale for duplicateChild test</desc>
            <filename>bug-91917-20120721183617.patch</filename>
            <type>text/plain</type>
            <size>12292</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGViNGE0ZTViMzhjZjk5NDQ5MGVjOTE1NmNjYmQ3OTg0M2RhNWIwOTEuLjk2YmJmYjgwZjAyNjVi
NTI2ZWM0NjBjNTUyNmZjNzU1YmFlMWI4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBtb3JlIGNvbXBvc2l0b3IgdW5pdCB0ZXN0
cyBmb3IgaGlnaCBEUEkgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTE5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY3VycmVudCBzZXQgb2YgaGlnaCBEUEkgdGVzdHMgb25seSBk
ZWFsIHdpdGggbGF5ZXJzIGluIGEgcmVuZGVyCisgICAgICAgIHN1cmZhY2UuIEFkZCBzb21lIGV4
dHJhIHRlc3RzIGZvciBub24tc3VyZmFjZSBsYXllcnMuIEFsc28gYWRkIGEgdGVzdAorICAgICAg
ICB0byBtYWtlIHN1cmUgdGhhdCBhbiBvd25pbmcgbGF5ZXIgaW4gYSBzdXJmYWNlIGRvZXNuJ3Qg
ZGlmZmVyIGZyb20gYQorICAgICAgICBub24tb3duaW5nIGxheWVyIGluIGhpZ2ggRFBJIGNpcmN1
bXN0YW5jZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LmNw
cDoKKwogMjAxMi0wNy0yMCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmVuYW1lIEVOQUJMRV9EQVRBTElTVCB0byBFTkFCTEVfREFUQUxJU1RfRUxFTUVOVApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RD
b21tb25UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVI
b3N0Q29tbW9uVGVzdC5jcHAKaW5kZXggMjZhZTZjYTQ3MzIxZDBiZGE2MDY3M2NjNzIwMzdkNzE2
Yjc3M2ZjOC4uNGFlYTFkZDVmZTExZGIyOTE5Mjc5NDRkYzYwMzYwNWJlZjVkZmM4NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25U
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9z
dENvbW1vblRlc3QuY3BwCkBAIC0zMjA4LDcgKzMyMDgsNyBAQCBURVNUKENDTGF5ZXJUcmVlSG9z
dENvbW1vblRlc3QsIHZlcmlmeUhpdFRlc3RpbmdGb3JTaW5nbGVMYXllcldpdGhTY2FsZWRDb250
ZW50cwogICAgIC8vIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGhpdCB0ZXN0aW5nIHdvcmtzIGNvcnJl
Y3RseSBhY2NvdW50cyBmb3IgdGhlIGNvbnRlbnRzIHNjYWxlLgogICAgIC8vIEEgY29udGVudHNT
Y2FsZSB0aGF0IGlzIG5vdCAxIGVmZmVjdGl2ZWx5IGZvcmNlcyBhIG5vbi1pZGVudGl0eSB0cmFu
c2Zvcm0gYmV0d2VlbgogICAgIC8vIGxheWVyJ3MgY29udGVudCBzcGFjZSBhbmQgbGF5ZXIncyBv
cmlnaW4gc3BhY2UsIHdoaWNoIGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUKLSAgICAvLyBzY3JlZW5T
cGFjZVRyYW5zZm9ybW4uIFRoZSBoaXQgdGVzdGluZyBjb2RlIG11c3QgdGFrZSB0aGlzIGludG8g
YWNjb3VudC4KKyAgICAvLyBzY3JlZW5TcGFjZVRyYW5zZm9ybS4gVGhlIGhpdCB0ZXN0aW5nIGNv
ZGUgbXVzdCB0YWtlIHRoaXMgaW50byBhY2NvdW50LgogICAgIC8vCiAgICAgLy8gVG8gdGVzdCB0
aGlzLCB0aGUgbGF5ZXIgaXMgcG9zaXRpb25lZCBhdCAoMjUsIDI1KSwgYW5kIGlzIHNpemUgKDUw
LCA1MCkuIElmCiAgICAgLy8gY29udGVudHNTY2FsZSBpcyBpZ25vcmVkLCB0aGVuIGhpdCB0ZXN0
aW5nIHdpbGwgbWlzLWludGVycHJldCB0aGUgdmlzaWJsZUNvbnRlbnRSZWN0CkBAIC0zNjc3LDcg
KzM2NzcsOTggQEAgUGFzc1JlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gY3JlYXRlRHJhd2Fi
bGVDb250ZW50TGF5ZXJDaHJvbWl1bShDb250ZW50TGF5ZXIKICAgICByZXR1cm4gdG9SZXR1cm4u
cmVsZWFzZSgpOwogfQogCi1URVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJl
bmRlclN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCitURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1v
blRlc3QsIHZlcmlmeUxheWVyVHJhbmZvcm1zSW5IaWdoRFBJKQoreworICAgIC8vIFZlcmlmeSBk
cmF3IGFuZCBzY3JlZW4gc3BhY2UgdHJhbnNmb3JtcyBvZiBsYXllcnMgbm90IGluIGEgc3VyZmFj
ZS4KKyAgICBNb2NrQ29udGVudExheWVyRGVsZWdhdGUgZGVsZWdhdGU7CisgICAgV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXggaWRlbnRpdHlNYXRyaXg7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggcGFyZW50TWF0cml4OworCisgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVtPiBwYXJl
bnQgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRMYXllckNocm9taXVtKCZkZWxlZ2F0ZSk7CisgICAg
c2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGluZyhwYXJlbnQuZ2V0KCksIGlkZW50aXR5TWF0cml4
LCBpZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRQb2ludCgwLCAwKSwgSW50
U2l6ZSgxMDAsIDEwMCksIHRydWUpOworCisgICAgUmVmUHRyPENvbnRlbnRMYXllckNocm9taXVt
PiBjaGlsZCA9IGNyZWF0ZURyYXdhYmxlQ29udGVudExheWVyQ2hyb21pdW0oJmRlbGVnYXRlKTsK
KyAgICBzZXRMYXllclByb3BlcnRpZXNGb3JUZXN0aW5nKGNoaWxkLmdldCgpLCBpZGVudGl0eU1h
dHJpeCwgaWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQoMiwgMiks
IEludFNpemUoMTAsIDEwKSwgdHJ1ZSk7CisKKyAgICBSZWZQdHI8Q29udGVudExheWVyQ2hyb21p
dW0+IGNoaWxkTm9TY2FsZSA9IGNyZWF0ZURyYXdhYmxlQ29udGVudExheWVyQ2hyb21pdW0oJmRl
bGVnYXRlKTsKKyAgICBzZXRMYXllclByb3BlcnRpZXNGb3JUZXN0aW5nKGNoaWxkTm9TY2FsZS5n
ZXQoKSwgaWRlbnRpdHlNYXRyaXgsIGlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBG
bG9hdFBvaW50KDIsIDIpLCBJbnRTaXplKDEwLCAxMCksIHRydWUpOworCisgICAgcGFyZW50LT5h
ZGRDaGlsZChjaGlsZCk7CisgICAgcGFyZW50LT5hZGRDaGlsZChjaGlsZE5vU2NhbGUpOworCisg
ICAgVmVjdG9yPFJlZlB0cjxMYXllckNocm9taXVtPiA+IHJlbmRlclN1cmZhY2VMYXllckxpc3Q7
CisgICAgVmVjdG9yPFJlZlB0cjxMYXllckNocm9taXVtPiA+IGR1bW15TGF5ZXJMaXN0OworICAg
IGludCBkdW1teU1heFRleHR1cmVTaXplID0gNTEyOworCisgICAgcGFyZW50LT5jcmVhdGVSZW5k
ZXJTdXJmYWNlKCk7CisgICAgcGFyZW50LT5yZW5kZXJTdXJmYWNlKCktPnNldENvbnRlbnRSZWN0
KEludFJlY3QoSW50UG9pbnQoKSwgcGFyZW50LT5ib3VuZHMoKSkpOworICAgIHBhcmVudC0+c2V0
Q2xpcFJlY3QoSW50UmVjdChJbnRQb2ludDo6emVybygpLCBwYXJlbnQtPmJvdW5kcygpKSk7Cisg
ICAgcmVuZGVyU3VyZmFjZUxheWVyTGlzdC5hcHBlbmQocGFyZW50LmdldCgpKTsKKworICAgIGNv
bnN0IGRvdWJsZSBkZXZpY2VTY2FsZUZhY3RvciA9IDIuNTsKKyAgICBwYXJlbnRNYXRyaXguc2Nh
bGUoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIHBhcmVudC0+c2V0Q29udGVudHNTY2FsZShkZXZp
Y2VTY2FsZUZhY3Rvcik7CisgICAgY2hpbGQtPnNldENvbnRlbnRzU2NhbGUoZGV2aWNlU2NhbGVG
YWN0b3IpOworICAgIEVYUEVDVF9FUShjaGlsZE5vU2NhbGUtPmNvbnRlbnRzU2NhbGUoKSwgMSk7
CisKKyAgICBDQ0xheWVyVHJlZUhvc3RDb21tb246OmNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zKHBh
cmVudC5nZXQoKSwgcGFyZW50LmdldCgpLCBwYXJlbnRNYXRyaXgsIGlkZW50aXR5TWF0cml4LCBy
ZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBkdW1teUxheWVyTGlzdCwgZHVtbXlNYXhUZXh0dXJlU2l6
ZSk7CisKKyAgICBFWFBFQ1RfRVEoMXUsIHJlbmRlclN1cmZhY2VMYXllckxpc3Quc2l6ZSgpKTsK
KworICAgIC8vIFZlcmlmeSBwYXJlbnQgdHJhbnNmb3JtcworICAgIFdlYlRyYW5zZm9ybWF0aW9u
TWF0cml4IGV4cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQ
YXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybS5zZXRNMTEoZGV2aWNlU2NhbGVGYWN0b3IpOworICAg
IGV4cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFj
dG9yKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKHBhcmVudC0+c2NyZWVu
U3BhY2VUcmFuc2Zvcm0oKSwgZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybSk7CisK
KyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZFBhcmVudERyYXdUcmFuc2Zvcm0g
PSBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkUGFyZW50
RHJhd1RyYW5zZm9ybS50cmFuc2xhdGUoMC41ICogcGFyZW50LT5ib3VuZHMoKS53aWR0aCgpLCAw
LjUgKiBwYXJlbnQtPmJvdW5kcygpLmhlaWdodCgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJ
T05fTUFUUklYX0VRKHBhcmVudC0+ZHJhd1RyYW5zZm9ybSgpLCBleHBlY3RlZFBhcmVudERyYXdU
cmFuc2Zvcm0pOworCisgICAgLy8gVmVyaWZ5IHJlc3VsdHMgb2YgdHJhbnNmb3JtZWQgcGFyZW50
IHJlY3RzCisgICAgSW50UmVjdCBwYXJlbnRCb3VuZHMoSW50UG9pbnQoKSwgcGFyZW50LT5ib3Vu
ZHMoKSk7CisgICAgSW50UmVjdCBjZW50ZXJlZFBhcmVudEJvdW5kcyA9IHBhcmVudEJvdW5kczsK
KyAgICBjZW50ZXJlZFBhcmVudEJvdW5kcy5tb3ZlKC1wYXJlbnRCb3VuZHMud2lkdGgoKSAqIDAu
NSwgLXBhcmVudEJvdW5kcy5oZWlnaHQoKSAqIDAuNSk7CisKKyAgICBGbG9hdFJlY3QgcGFyZW50
RHJhd1JlY3QgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChwYXJlbnQtPmRyYXdUcmFuc2Zv
cm0oKSwgRmxvYXRSZWN0KGNlbnRlcmVkUGFyZW50Qm91bmRzKSk7CisgICAgRmxvYXRSZWN0IHBh
cmVudFNjcmVlblNwYWNlUmVjdCA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KHBhcmVudC0+
c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSwgRmxvYXRSZWN0KHBhcmVudEJvdW5kcykpOworCisgICAg
RmxvYXRSZWN0IGV4cGVjdGVkUGFyZW50RHJhd1JlY3QoRmxvYXRQb2ludCgpLCBwYXJlbnQtPmJv
dW5kcygpKTsKKyAgICBleHBlY3RlZFBhcmVudERyYXdSZWN0LnNjYWxlKGRldmljZVNjYWxlRmFj
dG9yKTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShwYXJlbnREcmF3UmVjdCwgZXhwZWN0ZWRQ
YXJlbnREcmF3UmVjdCk7CisgICAgRVhQRUNUX0ZMT0FUX1JFQ1RfRVEocGFyZW50U2NyZWVuU3Bh
Y2VSZWN0LCBleHBlY3RlZFBhcmVudERyYXdSZWN0KTsKKworICAgIC8vIFZlcmlmeSBjaGlsZCB0
cmFuc2Zvcm1zCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRDaGlsZFNjcmVl
blNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkQ2hpbGRTY3JlZW5TcGFjZVRyYW5zZm9ybS5z
ZXRNMTEoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVkQ2hpbGRTY3JlZW5TcGFjZVRy
YW5zZm9ybS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVkQ2hpbGRTY3Jl
ZW5TcGFjZVRyYW5zZm9ybS50cmFuc2xhdGUoY2hpbGQtPnBvc2l0aW9uKCkueCgpLCBjaGlsZC0+
cG9zaXRpb24oKS55KCkpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoZXhw
ZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtLCBjaGlsZC0+c2NyZWVuU3BhY2VUcmFuc2Zv
cm0oKSk7CisKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZENoaWxkRHJhd1Ry
YW5zZm9ybSA9IGV4cGVjdGVkQ2hpbGRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3Rl
ZENoaWxkRHJhd1RyYW5zZm9ybS50cmFuc2xhdGUoMC41ICogY2hpbGQtPmJvdW5kcygpLndpZHRo
KCksIDAuNSAqIGNoaWxkLT5ib3VuZHMoKS5oZWlnaHQoKSk7CisgICAgRVhQRUNUX1RSQU5TRk9S
TUFUSU9OX01BVFJJWF9FUShleHBlY3RlZENoaWxkRHJhd1RyYW5zZm9ybSwgY2hpbGQtPmRyYXdU
cmFuc2Zvcm0oKSk7CisKKyAgICAvLyBWZXJpZnkgcmVzdWx0cyBvZiB0cmFuc2Zvcm1lZCBjaGls
ZCByZWN0cworICAgIEludFJlY3QgY2hpbGRCb3VuZHMoSW50UG9pbnQoKSwgY2hpbGQtPmJvdW5k
cygpKTsKKyAgICBJbnRSZWN0IGNlbnRlcmVkQ2hpbGRCb3VuZHMgPSBjaGlsZEJvdW5kczsKKyAg
ICBjZW50ZXJlZENoaWxkQm91bmRzLm1vdmUoLWNoaWxkQm91bmRzLndpZHRoKCkgKiAwLjUsIC1j
aGlsZEJvdW5kcy5oZWlnaHQoKSAqIDAuNSk7CisKKyAgICBGbG9hdFJlY3QgY2hpbGREcmF3UmVj
dCA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KGNoaWxkLT5kcmF3VHJhbnNmb3JtKCksIEZs
b2F0UmVjdChjZW50ZXJlZENoaWxkQm91bmRzKSk7CisgICAgRmxvYXRSZWN0IGNoaWxkU2NyZWVu
U3BhY2VSZWN0ID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QoY2hpbGQtPnNjcmVlblNwYWNl
VHJhbnNmb3JtKCksIEZsb2F0UmVjdChjaGlsZEJvdW5kcykpOworCisgICAgRmxvYXRSZWN0IGV4
cGVjdGVkQ2hpbGREcmF3UmVjdChGbG9hdFBvaW50KCksIGNoaWxkLT5ib3VuZHMoKSk7CisgICAg
ZXhwZWN0ZWRDaGlsZERyYXdSZWN0Lm1vdmUoY2hpbGQtPnBvc2l0aW9uKCkueCgpLCBjaGlsZC0+
cG9zaXRpb24oKS55KCkpOworICAgIGV4cGVjdGVkQ2hpbGREcmF3UmVjdC5zY2FsZShkZXZpY2VT
Y2FsZUZhY3Rvcik7CisgICAgRVhQRUNUX0ZMT0FUX1JFQ1RfRVEoY2hpbGREcmF3UmVjdCwgZXhw
ZWN0ZWRDaGlsZERyYXdSZWN0KTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShjaGlsZFNjcmVl
blNwYWNlUmVjdCwgZXhwZWN0ZWRDaGlsZERyYXdSZWN0KTsKKworICAgIC8vIFZlcmlmeSBjaGls
ZE5vU2NhbGUgdHJhbnNmb3JtcworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEo
Y2hpbGQtPmRyYXdUcmFuc2Zvcm0oKSwgY2hpbGROb1NjYWxlLT5kcmF3VHJhbnNmb3JtKCkpOwor
ICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoY2hpbGQtPnNjcmVlblNwYWNlVHJh
bnNmb3JtKCksIGNoaWxkTm9TY2FsZS0+c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSk7Cit9CisKK1RF
U1QoQ0NMYXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5UmVuZGVyU3VyZmFjZVRyYW5zZm9y
bXNJbkhpZ2hEUEkpCiB7CiAgICAgTW9ja0NvbnRlbnRMYXllckRlbGVnYXRlIGRlbGVnYXRlOwog
ICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGlkZW50aXR5TWF0cml4OwpAQCAtMzY5NCw3ICsz
Nzg1LDEzIEBAIFRFU1QoQ0NMYXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5UmVuZGVyU3Vy
ZmFjZVRyYW5mb3Jtc0luSGlnaERQSSkKICAgICBSZWZQdHI8Q29udGVudExheWVyQ2hyb21pdW0+
IHJlcGxpY2EgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRMYXllckNocm9taXVtKCZkZWxlZ2F0ZSk7
CiAgICAgc2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGluZyhyZXBsaWNhLmdldCgpLCByZXBsaWNh
VHJhbnNmb3JtLCBpZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRQb2ludCgy
LCAyKSwgSW50U2l6ZSgxMCwgMTApLCB0cnVlKTsKIAorICAgIC8vIFRoaXMgbGF5ZXIgc2hvdWxk
IGVuZCB1cCBpbiB0aGUgc2FtZSBzdXJmYWNlIGFzIGNoaWxkLCB3aXRoIHRoZSBzYW1lIGRyYXcK
KyAgICAvLyBhbmQgc2NyZWVuIHNwYWNlIHRyYW5zZm9ybXMuCisgICAgUmVmUHRyPENvbnRlbnRM
YXllckNocm9taXVtPiBkdXBsaWNhdGVDaGlsZE5vbk93bmVyID0gY3JlYXRlRHJhd2FibGVDb250
ZW50TGF5ZXJDaHJvbWl1bSgmZGVsZWdhdGUpOworICAgIHNldExheWVyUHJvcGVydGllc0ZvclRl
c3RpbmcoZHVwbGljYXRlQ2hpbGROb25Pd25lci5nZXQoKSwgaWRlbnRpdHlNYXRyaXgsIGlkZW50
aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDEw
LCAxMCksIHRydWUpOworCiAgICAgcGFyZW50LT5hZGRDaGlsZChjaGlsZCk7CisgICAgY2hpbGQt
PmFkZENoaWxkKGR1cGxpY2F0ZUNoaWxkTm9uT3duZXIpOwogICAgIGNoaWxkLT5zZXRSZXBsaWNh
TGF5ZXIocmVwbGljYS5nZXQoKSk7CiAKICAgICBWZWN0b3I8UmVmUHRyPExheWVyQ2hyb21pdW0+
ID4gcmVuZGVyU3VyZmFjZUxheWVyTGlzdDsKQEAgLTM3MTAsNiArMzgwNyw3IEBAIFRFU1QoQ0NM
YXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5UmVuZGVyU3VyZmFjZVRyYW5mb3Jtc0luSGln
aERQSSkKICAgICBwYXJlbnRNYXRyaXguc2NhbGUoZGV2aWNlU2NhbGVGYWN0b3IpOwogICAgIHBh
cmVudC0+c2V0Q29udGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgY2hpbGQtPnNl
dENvbnRlbnRzU2NhbGUoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGR1cGxpY2F0ZUNoaWxkTm9u
T3duZXItPnNldENvbnRlbnRzU2NhbGUoZGV2aWNlU2NhbGVGYWN0b3IpOwogICAgIHJlcGxpY2Et
PnNldENvbnRlbnRzU2NhbGUoZGV2aWNlU2NhbGVGYWN0b3IpOwogCiAgICAgQ0NMYXllclRyZWVI
b3N0Q29tbW9uOjpjYWxjdWxhdGVEcmF3VHJhbnNmb3JtcyhwYXJlbnQuZ2V0KCksIHBhcmVudC5n
ZXQoKSwgcGFyZW50TWF0cml4LCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlz
dCwgZHVtbXlMYXllckxpc3QsIGR1bW15TWF4VGV4dHVyZVNpemUpOwpAQCAtMzcxOCw2ICszODE2
LDE0IEBAIFRFU1QoQ0NMYXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5UmVuZGVyU3VyZmFj
ZVRyYW5mb3Jtc0luSGlnaERQSSkKICAgICAvLyByZW5kZXIgc3VyZmFjZSAoaXQgbmVlZHMgb25l
IGJlY2F1c2UgaXQgaGFzIGEgcmVwbGljYSBsYXllcikuCiAgICAgRVhQRUNUX0VRKDJ1LCByZW5k
ZXJTdXJmYWNlTGF5ZXJMaXN0LnNpemUoKSk7CiAKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eCBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkUGFyZW50
U2NyZWVuU3BhY2VUcmFuc2Zvcm0uc2V0TTExKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBleHBl
Y3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0yMihkZXZpY2VTY2FsZUZhY3Rvcik7
CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRQYXJlbnREcmF3VHJhbnNmb3Jt
ID0gZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFBhcmVu
dERyYXdUcmFuc2Zvcm0udHJhbnNsYXRlKDAuNSAqIHBhcmVudC0+Ym91bmRzKCkud2lkdGgoKSwg
MC41ICogcGFyZW50LT5ib3VuZHMoKS5oZWlnaHQoKSk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFU
SU9OX01BVFJJWF9FUShwYXJlbnQtPmRyYXdUcmFuc2Zvcm0oKSwgZXhwZWN0ZWRQYXJlbnREcmF3
VHJhbnNmb3JtKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKHBhcmVudC0+
c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSwgZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9y
bSk7CisKICAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZERyYXdUcmFuc2Zvcm07
CiAgICAgZXhwZWN0ZWREcmF3VHJhbnNmb3JtLnNldE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CiAg
ICAgZXhwZWN0ZWREcmF3VHJhbnNmb3JtLnNldE0yMihkZXZpY2VTY2FsZUZhY3Rvcik7CkBAIC0z
NzI1LDYgKzM4MzEsMTcgQEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlS
ZW5kZXJTdXJmYWNlVHJhbmZvcm1zSW5IaWdoRFBJKQogICAgIGV4cGVjdGVkRHJhd1RyYW5zZm9y
bS5zZXRNNDIoMC41ICogZGV2aWNlU2NhbGVGYWN0b3IgKiBjaGlsZC0+Ym91bmRzKCkuaGVpZ2h0
KCkpOwogICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoZXhwZWN0ZWREcmF3VHJh
bnNmb3JtLCBjaGlsZC0+ZHJhd1RyYW5zZm9ybSgpKTsKIAorICAgIFdlYlRyYW5zZm9ybWF0aW9u
TWF0cml4IGV4cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRTY3JlZW5T
cGFjZVRyYW5zZm9ybS5zZXRNMTEoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVkU2Ny
ZWVuU3BhY2VUcmFuc2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBleHBlY3Rl
ZFNjcmVlblNwYWNlVHJhbnNmb3JtLnRyYW5zbGF0ZShjaGlsZC0+cG9zaXRpb24oKS54KCksIGNo
aWxkLT5wb3NpdGlvbigpLnkoKSk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9F
UShleHBlY3RlZFNjcmVlblNwYWNlVHJhbnNmb3JtLCBjaGlsZC0+c2NyZWVuU3BhY2VUcmFuc2Zv
cm0oKSk7CisKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGNoaWxkLT5kcmF3
VHJhbnNmb3JtKCksIGR1cGxpY2F0ZUNoaWxkTm9uT3duZXItPmRyYXdUcmFuc2Zvcm0oKSk7Cisg
ICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShjaGlsZC0+c2NyZWVuU3BhY2VUcmFu
c2Zvcm0oKSwgZHVwbGljYXRlQ2hpbGROb25Pd25lci0+c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSk7
CisgICAgRVhQRUNUX0lOVF9SRUNUX0VRKGNoaWxkLT5kcmF3YWJsZUNvbnRlbnRSZWN0KCksIGR1
cGxpY2F0ZUNoaWxkTm9uT3duZXItPmRyYXdhYmxlQ29udGVudFJlY3QoKSk7CisgICAgRVhQRUNU
X0VRKGNoaWxkLT5jb250ZW50Qm91bmRzKCksIGR1cGxpY2F0ZUNoaWxkTm9uT3duZXItPmNvbnRl
bnRCb3VuZHMoKSk7CisKICAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZFJlbmRl
clN1cmZhY2VEcmF3VHJhbnNmb3JtOwogICAgIGV4cGVjdGVkUmVuZGVyU3VyZmFjZURyYXdUcmFu
c2Zvcm0udHJhbnNsYXRlKGRldmljZVNjYWxlRmFjdG9yICogKGNoaWxkLT5wb3NpdGlvbigpLngo
KSArIDAuNSAqIGNoaWxkLT5ib3VuZHMoKS53aWR0aCgpKSwgZGV2aWNlU2NhbGVGYWN0b3IgKiAo
Y2hpbGQtPnBvc2l0aW9uKCkueSgpICsgMC41ICogY2hpbGQtPmJvdW5kcygpLmhlaWdodCgpKSk7
CiAgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3RlZFJlbmRlclN1cmZh
Y2VEcmF3VHJhbnNmb3JtLCBjaGlsZC0+cmVuZGVyU3VyZmFjZSgpLT5kcmF3VHJhbnNmb3JtKCkp
OwpAQCAtMzczMyw5ICszODUwLDkgQEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2
ZXJpZnlSZW5kZXJTdXJmYWNlVHJhbmZvcm1zSW5IaWdoRFBJKQogICAgIGV4cGVjdGVkT3JpZ2lu
VHJhbnNmb3JtLnRyYW5zbGF0ZShkZXZpY2VTY2FsZUZhY3RvciAqIDIsIGRldmljZVNjYWxlRmFj
dG9yICogMik7CiAgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3RlZE9y
aWdpblRyYW5zZm9ybSwgY2hpbGQtPnJlbmRlclN1cmZhY2UoKS0+b3JpZ2luVHJhbnNmb3JtKCkp
OwogCi0gICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRTY3JlZW5TcGFjZVRyYW5z
Zm9ybTsKLSAgICBleHBlY3RlZFNjcmVlblNwYWNlVHJhbnNmb3JtLnRyYW5zbGF0ZShkZXZpY2VT
Y2FsZUZhY3RvciAqIDIsIGRldmljZVNjYWxlRmFjdG9yICogMik7Ci0gICAgRVhQRUNUX1RSQU5T
Rk9STUFUSU9OX01BVFJJWF9FUShleHBlY3RlZFNjcmVlblNwYWNlVHJhbnNmb3JtLCBjaGlsZC0+
cmVuZGVyU3VyZmFjZSgpLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsKKyAgICBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBleHBlY3RlZFN1cmZhY2VTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBl
eHBlY3RlZFN1cmZhY2VTY3JlZW5TcGFjZVRyYW5zZm9ybS50cmFuc2xhdGUoZGV2aWNlU2NhbGVG
YWN0b3IgKiAyLCBkZXZpY2VTY2FsZUZhY3RvciAqIDIpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1B
VElPTl9NQVRSSVhfRVEoZXhwZWN0ZWRTdXJmYWNlU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxk
LT5yZW5kZXJTdXJmYWNlKCktPnNjcmVlblNwYWNlVHJhbnNmb3JtKCkpOwogCiAgICAgV2ViVHJh
bnNmb3JtYXRpb25NYXRyaXggZXhwZWN0ZWRSZXBsaWNhRHJhd1RyYW5zZm9ybTsKICAgICBleHBl
Y3RlZFJlcGxpY2FEcmF3VHJhbnNmb3JtLnNldE0yMigtMSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153911</attachid>
            <date>2012-07-23 17:22:43 -0700</date>
            <delta_ts>2012-07-23 17:29:15 -0700</delta_ts>
            <desc>Rebased to ToT</desc>
            <filename>bug-91917-20120723172235.patch</filename>
            <type>text/plain</type>
            <size>12231</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDEyYmY4YTRkYTg1ZGZmOWNlOGRlMTdhNWViNDQwMWJjMGFlNDU4OTcuLmRhYTU5ZTA0OGJjZjFk
MGNjMDJlNzllZTcwMmJiM2M1NWFlNWJlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBtb3JlIGNvbXBvc2l0b3IgdW5pdCB0ZXN0
cyBmb3IgaGlnaCBEUEkgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTE5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY3VycmVudCBzZXQgb2YgaGlnaCBEUEkgdGVzdHMgb25seSBk
ZWFsIHdpdGggbGF5ZXJzIGluIGEgcmVuZGVyCisgICAgICAgIHN1cmZhY2UuIEFkZCBzb21lIGV4
dHJhIHRlc3RzIGZvciBub24tc3VyZmFjZSBsYXllcnMuIEFsc28gYWRkIGEgdGVzdAorICAgICAg
ICB0byBtYWtlIHN1cmUgdGhhdCBhbiBvd25pbmcgbGF5ZXIgaW4gYSBzdXJmYWNlIGRvZXNuJ3Qg
ZGlmZmVyIGZyb20gYQorICAgICAgICBub24tb3duaW5nIGxheWVyIGluIGhpZ2ggRFBJIGNpcmN1
bXN0YW5jZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LmNw
cDoKKwogMjAxMi0wNy0yMyAgU2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIEZpeCB1bml0IHRlc3RzIGluIGRlYnVnIG1vZGUgYWZ0ZXIg
cjEyMzM3NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
VHJlZUhvc3RDb21tb25UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NM
YXllclRyZWVIb3N0Q29tbW9uVGVzdC5jcHAKaW5kZXggNzcyZjkyZGFmYTk2OTc3OTdhNmU1ODU0
ODA2N2VkMjQ3OGI2YzBhNi4uMDc5MjRhNmRmZjRlZGQwMzZjMDUzNzViNDVlMzZlM2E0NWVlMTg2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhv
c3RDb21tb25UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJUcmVlSG9zdENvbW1vblRlc3QuY3BwCkBAIC0yOTQ2LDcgKzI5NDYsNyBAQCBURVNUKENDTGF5
ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeUhpdFRlc3RpbmdGb3JTaW5nbGVMYXllcldpdGhT
Y2FsZWRDb250ZW50cwogICAgIC8vIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGhpdCB0ZXN0aW5nIHdv
cmtzIGNvcnJlY3RseSBhY2NvdW50cyBmb3IgdGhlIGNvbnRlbnRzIHNjYWxlLgogICAgIC8vIEEg
Y29udGVudHNTY2FsZSB0aGF0IGlzIG5vdCAxIGVmZmVjdGl2ZWx5IGZvcmNlcyBhIG5vbi1pZGVu
dGl0eSB0cmFuc2Zvcm0gYmV0d2VlbgogICAgIC8vIGxheWVyJ3MgY29udGVudCBzcGFjZSBhbmQg
bGF5ZXIncyBvcmlnaW4gc3BhY2UsIHdoaWNoIGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUKLSAgICAv
LyBzY3JlZW5TcGFjZVRyYW5zZm9ybW4uIFRoZSBoaXQgdGVzdGluZyBjb2RlIG11c3QgdGFrZSB0
aGlzIGludG8gYWNjb3VudC4KKyAgICAvLyBzY3JlZW5TcGFjZVRyYW5zZm9ybS4gVGhlIGhpdCB0
ZXN0aW5nIGNvZGUgbXVzdCB0YWtlIHRoaXMgaW50byBhY2NvdW50LgogICAgIC8vCiAgICAgLy8g
VG8gdGVzdCB0aGlzLCB0aGUgbGF5ZXIgaXMgcG9zaXRpb25lZCBhdCAoMjUsIDI1KSwgYW5kIGlz
IHNpemUgKDUwLCA1MCkuIElmCiAgICAgLy8gY29udGVudHNTY2FsZSBpcyBpZ25vcmVkLCB0aGVu
IGhpdCB0ZXN0aW5nIHdpbGwgbWlzLWludGVycHJldCB0aGUgdmlzaWJsZUNvbnRlbnRSZWN0CkBA
IC0zNDE1LDcgKzM0MTUsOTcgQEAgUGFzc1JlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gY3Jl
YXRlRHJhd2FibGVDb250ZW50TGF5ZXJDaHJvbWl1bShDb250ZW50TGF5ZXIKICAgICByZXR1cm4g
dG9SZXR1cm4ucmVsZWFzZSgpOwogfQogCi1URVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3Qs
IHZlcmlmeVJlbmRlclN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCitURVNUKENDTGF5ZXJUcmVl
SG9zdENvbW1vblRlc3QsIHZlcmlmeUxheWVyVHJhbnNmb3Jtc0luSGlnaERQSSkKK3sKKyAgICAv
LyBWZXJpZnkgZHJhdyBhbmQgc2NyZWVuIHNwYWNlIHRyYW5zZm9ybXMgb2YgbGF5ZXJzIG5vdCBp
biBhIHN1cmZhY2UuCisgICAgTW9ja0NvbnRlbnRMYXllckRlbGVnYXRlIGRlbGVnYXRlOworICAg
IFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGlkZW50aXR5TWF0cml4OworICAgIFdlYlRyYW5zZm9y
bWF0aW9uTWF0cml4IHBhcmVudE1hdHJpeDsKKworICAgIFJlZlB0cjxDb250ZW50TGF5ZXJDaHJv
bWl1bT4gcGFyZW50ID0gY3JlYXRlRHJhd2FibGVDb250ZW50TGF5ZXJDaHJvbWl1bSgmZGVsZWdh
dGUpOworICAgIHNldExheWVyUHJvcGVydGllc0ZvclRlc3RpbmcocGFyZW50LmdldCgpLCBpZGVu
dGl0eU1hdHJpeCwgaWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQo
MCwgMCksIEludFNpemUoMTAwLCAxMDApLCB0cnVlKTsKKworICAgIFJlZlB0cjxDb250ZW50TGF5
ZXJDaHJvbWl1bT4gY2hpbGQgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRMYXllckNocm9taXVtKCZk
ZWxlZ2F0ZSk7CisgICAgc2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGluZyhjaGlsZC5nZXQoKSwg
aWRlbnRpdHlNYXRyaXgsIGlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBGbG9hdFBv
aW50KDIsIDIpLCBJbnRTaXplKDEwLCAxMCksIHRydWUpOworCisgICAgUmVmUHRyPENvbnRlbnRM
YXllckNocm9taXVtPiBjaGlsZE5vU2NhbGUgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRMYXllckNo
cm9taXVtKCZkZWxlZ2F0ZSk7CisgICAgc2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGluZyhjaGls
ZE5vU2NhbGUuZ2V0KCksIGlkZW50aXR5TWF0cml4LCBpZGVudGl0eU1hdHJpeCwgRmxvYXRQb2lu
dCgwLCAwKSwgRmxvYXRQb2ludCgyLCAyKSwgSW50U2l6ZSgxMCwgMTApLCB0cnVlKTsKKworICAg
IHBhcmVudC0+YWRkQ2hpbGQoY2hpbGQpOworICAgIHBhcmVudC0+YWRkQ2hpbGQoY2hpbGROb1Nj
YWxlKTsKKworICAgIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiByZW5kZXJTdXJmYWNl
TGF5ZXJMaXN0OworICAgIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiBkdW1teUxheWVy
TGlzdDsKKyAgICBpbnQgZHVtbXlNYXhUZXh0dXJlU2l6ZSA9IDUxMjsKKworICAgIHBhcmVudC0+
Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOworICAgIHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpLT5zZXRD
b250ZW50UmVjdChJbnRSZWN0KEludFBvaW50KCksIHBhcmVudC0+Ym91bmRzKCkpKTsKKyAgICBy
ZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LmFwcGVuZChwYXJlbnQuZ2V0KCkpOworCisgICAgY29uc3Qg
ZG91YmxlIGRldmljZVNjYWxlRmFjdG9yID0gMi41OworICAgIHBhcmVudE1hdHJpeC5zY2FsZShk
ZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgcGFyZW50LT5zZXRDb250ZW50c1NjYWxlKGRldmljZVNj
YWxlRmFjdG9yKTsKKyAgICBjaGlsZC0+c2V0Q29udGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rv
cik7CisgICAgRVhQRUNUX0VRKGNoaWxkTm9TY2FsZS0+Y29udGVudHNTY2FsZSgpLCAxKTsKKwor
ICAgIENDTGF5ZXJUcmVlSG9zdENvbW1vbjo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXMocGFyZW50
LmdldCgpLCBwYXJlbnQuZ2V0KCksIHBhcmVudE1hdHJpeCwgaWRlbnRpdHlNYXRyaXgsIHJlbmRl
clN1cmZhY2VMYXllckxpc3QsIGR1bW15TGF5ZXJMaXN0LCBkdW1teU1heFRleHR1cmVTaXplKTsK
KworICAgIEVYUEVDVF9FUSgxdSwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdC5zaXplKCkpOworCisg
ICAgLy8gVmVyaWZ5IHBhcmVudCB0cmFuc2Zvcm1zCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFBhcmVu
dFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhw
ZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3Ip
OworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEocGFyZW50LT5zY3JlZW5TcGFj
ZVRyYW5zZm9ybSgpLCBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtKTsKKworICAg
IFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUGFyZW50RHJhd1RyYW5zZm9ybSA9IGV4
cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQYXJlbnREcmF3
VHJhbnNmb3JtLnRyYW5zbGF0ZSgwLjUgKiBwYXJlbnQtPmJvdW5kcygpLndpZHRoKCksIDAuNSAq
IHBhcmVudC0+Ym91bmRzKCkuaGVpZ2h0KCkpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9N
QVRSSVhfRVEocGFyZW50LT5kcmF3VHJhbnNmb3JtKCksIGV4cGVjdGVkUGFyZW50RHJhd1RyYW5z
Zm9ybSk7CisKKyAgICAvLyBWZXJpZnkgcmVzdWx0cyBvZiB0cmFuc2Zvcm1lZCBwYXJlbnQgcmVj
dHMKKyAgICBJbnRSZWN0IHBhcmVudEJvdW5kcyhJbnRQb2ludCgpLCBwYXJlbnQtPmJvdW5kcygp
KTsKKyAgICBJbnRSZWN0IGNlbnRlcmVkUGFyZW50Qm91bmRzID0gcGFyZW50Qm91bmRzOworICAg
IGNlbnRlcmVkUGFyZW50Qm91bmRzLm1vdmUoLXBhcmVudEJvdW5kcy53aWR0aCgpICogMC41LCAt
cGFyZW50Qm91bmRzLmhlaWdodCgpICogMC41KTsKKworICAgIEZsb2F0UmVjdCBwYXJlbnREcmF3
UmVjdCA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KHBhcmVudC0+ZHJhd1RyYW5zZm9ybSgp
LCBGbG9hdFJlY3QoY2VudGVyZWRQYXJlbnRCb3VuZHMpKTsKKyAgICBGbG9hdFJlY3QgcGFyZW50
U2NyZWVuU3BhY2VSZWN0ID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QocGFyZW50LT5zY3Jl
ZW5TcGFjZVRyYW5zZm9ybSgpLCBGbG9hdFJlY3QocGFyZW50Qm91bmRzKSk7CisKKyAgICBGbG9h
dFJlY3QgZXhwZWN0ZWRQYXJlbnREcmF3UmVjdChGbG9hdFBvaW50KCksIHBhcmVudC0+Ym91bmRz
KCkpOworICAgIGV4cGVjdGVkUGFyZW50RHJhd1JlY3Quc2NhbGUoZGV2aWNlU2NhbGVGYWN0b3Ip
OworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKHBhcmVudERyYXdSZWN0LCBleHBlY3RlZFBhcmVu
dERyYXdSZWN0KTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShwYXJlbnRTY3JlZW5TcGFjZVJl
Y3QsIGV4cGVjdGVkUGFyZW50RHJhd1JlY3QpOworCisgICAgLy8gVmVyaWZ5IGNoaWxkIHRyYW5z
Zm9ybXMKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZENoaWxkU2NyZWVuU3Bh
Y2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0x
MShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNm
b3JtLnNldE0yMihkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNw
YWNlVHJhbnNmb3JtLnRyYW5zbGF0ZShjaGlsZC0+cG9zaXRpb24oKS54KCksIGNoaWxkLT5wb3Np
dGlvbigpLnkoKSk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3Rl
ZENoaWxkU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgp
KTsKKworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkQ2hpbGREcmF3VHJhbnNm
b3JtID0gZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkQ2hp
bGREcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZSgwLjUgKiBjaGlsZC0+Ym91bmRzKCkud2lkdGgoKSwg
MC41ICogY2hpbGQtPmJvdW5kcygpLmhlaWdodCgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJ
T05fTUFUUklYX0VRKGV4cGVjdGVkQ2hpbGREcmF3VHJhbnNmb3JtLCBjaGlsZC0+ZHJhd1RyYW5z
Zm9ybSgpKTsKKworICAgIC8vIFZlcmlmeSByZXN1bHRzIG9mIHRyYW5zZm9ybWVkIGNoaWxkIHJl
Y3RzCisgICAgSW50UmVjdCBjaGlsZEJvdW5kcyhJbnRQb2ludCgpLCBjaGlsZC0+Ym91bmRzKCkp
OworICAgIEludFJlY3QgY2VudGVyZWRDaGlsZEJvdW5kcyA9IGNoaWxkQm91bmRzOworICAgIGNl
bnRlcmVkQ2hpbGRCb3VuZHMubW92ZSgtY2hpbGRCb3VuZHMud2lkdGgoKSAqIDAuNSwgLWNoaWxk
Qm91bmRzLmhlaWdodCgpICogMC41KTsKKworICAgIEZsb2F0UmVjdCBjaGlsZERyYXdSZWN0ID0g
Q0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QoY2hpbGQtPmRyYXdUcmFuc2Zvcm0oKSwgRmxvYXRS
ZWN0KGNlbnRlcmVkQ2hpbGRCb3VuZHMpKTsKKyAgICBGbG9hdFJlY3QgY2hpbGRTY3JlZW5TcGFj
ZVJlY3QgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChjaGlsZC0+c2NyZWVuU3BhY2VUcmFu
c2Zvcm0oKSwgRmxvYXRSZWN0KGNoaWxkQm91bmRzKSk7CisKKyAgICBGbG9hdFJlY3QgZXhwZWN0
ZWRDaGlsZERyYXdSZWN0KEZsb2F0UG9pbnQoKSwgY2hpbGQtPmJvdW5kcygpKTsKKyAgICBleHBl
Y3RlZENoaWxkRHJhd1JlY3QubW92ZShjaGlsZC0+cG9zaXRpb24oKS54KCksIGNoaWxkLT5wb3Np
dGlvbigpLnkoKSk7CisgICAgZXhwZWN0ZWRDaGlsZERyYXdSZWN0LnNjYWxlKGRldmljZVNjYWxl
RmFjdG9yKTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShjaGlsZERyYXdSZWN0LCBleHBlY3Rl
ZENoaWxkRHJhd1JlY3QpOworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKGNoaWxkU2NyZWVuU3Bh
Y2VSZWN0LCBleHBlY3RlZENoaWxkRHJhd1JlY3QpOworCisgICAgLy8gVmVyaWZ5IGNoaWxkTm9T
Y2FsZSB0cmFuc2Zvcm1zCisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShjaGls
ZC0+ZHJhd1RyYW5zZm9ybSgpLCBjaGlsZE5vU2NhbGUtPmRyYXdUcmFuc2Zvcm0oKSk7CisgICAg
RVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShjaGlsZC0+c2NyZWVuU3BhY2VUcmFuc2Zv
cm0oKSwgY2hpbGROb1NjYWxlLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsKK30KKworVEVTVChD
Q0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJhbnNmb3Jtc0lu
SGlnaERQSSkKIHsKICAgICBNb2NrQ29udGVudExheWVyRGVsZWdhdGUgZGVsZWdhdGU7CiAgICAg
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXggaWRlbnRpdHlNYXRyaXg7CkBAIC0zNDMyLDcgKzM1MjIs
MTMgQEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNl
VHJhbmZvcm1zSW5IaWdoRFBJKQogICAgIFJlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gcmVw
bGljYSA9IGNyZWF0ZURyYXdhYmxlQ29udGVudExheWVyQ2hyb21pdW0oJmRlbGVnYXRlKTsKICAg
ICBzZXRMYXllclByb3BlcnRpZXNGb3JUZXN0aW5nKHJlcGxpY2EuZ2V0KCksIHJlcGxpY2FUcmFu
c2Zvcm0sIGlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBGbG9hdFBvaW50KDIsIDIp
LCBJbnRTaXplKDEwLCAxMCksIHRydWUpOwogCisgICAgLy8gVGhpcyBsYXllciBzaG91bGQgZW5k
IHVwIGluIHRoZSBzYW1lIHN1cmZhY2UgYXMgY2hpbGQsIHdpdGggdGhlIHNhbWUgZHJhdworICAg
IC8vIGFuZCBzY3JlZW4gc3BhY2UgdHJhbnNmb3Jtcy4KKyAgICBSZWZQdHI8Q29udGVudExheWVy
Q2hyb21pdW0+IGR1cGxpY2F0ZUNoaWxkTm9uT3duZXIgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRM
YXllckNocm9taXVtKCZkZWxlZ2F0ZSk7CisgICAgc2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGlu
ZyhkdXBsaWNhdGVDaGlsZE5vbk93bmVyLmdldCgpLCBpZGVudGl0eU1hdHJpeCwgaWRlbnRpdHlN
YXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMTAsIDEw
KSwgdHJ1ZSk7CisKICAgICBwYXJlbnQtPmFkZENoaWxkKGNoaWxkKTsKKyAgICBjaGlsZC0+YWRk
Q2hpbGQoZHVwbGljYXRlQ2hpbGROb25Pd25lcik7CiAgICAgY2hpbGQtPnNldFJlcGxpY2FMYXll
cihyZXBsaWNhLmdldCgpKTsKIAogICAgIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiBy
ZW5kZXJTdXJmYWNlTGF5ZXJMaXN0OwpAQCAtMzQ0Nyw2ICszNTQzLDcgQEAgVEVTVChDQ0xheWVy
VHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJhbmZvcm1zSW5IaWdoRFBJ
KQogICAgIHBhcmVudE1hdHJpeC5zY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgcGFyZW50
LT5zZXRDb250ZW50c1NjYWxlKGRldmljZVNjYWxlRmFjdG9yKTsKICAgICBjaGlsZC0+c2V0Q29u
dGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZHVwbGljYXRlQ2hpbGROb25Pd25l
ci0+c2V0Q29udGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgcmVwbGljYS0+c2V0
Q29udGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CiAKICAgICBDQ0xheWVyVHJlZUhvc3RD
b21tb246OmNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zKHBhcmVudC5nZXQoKSwgcGFyZW50LmdldCgp
LCBwYXJlbnRNYXRyaXgsIGlkZW50aXR5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBk
dW1teUxheWVyTGlzdCwgZHVtbXlNYXhUZXh0dXJlU2l6ZSk7CkBAIC0zNDU1LDYgKzM1NTIsMTQg
QEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJh
bmZvcm1zSW5IaWdoRFBJKQogICAgIC8vIHJlbmRlciBzdXJmYWNlIChpdCBuZWVkcyBvbmUgYmVj
YXVzZSBpdCBoYXMgYSByZXBsaWNhIGxheWVyKS4KICAgICBFWFBFQ1RfRVEoMnUsIHJlbmRlclN1
cmZhY2VMYXllckxpc3Quc2l6ZSgpKTsKIAorICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4
cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQYXJlbnRTY3Jl
ZW5TcGFjZVRyYW5zZm9ybS5zZXRNMTEoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVk
UGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKKyAg
ICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZFBhcmVudERyYXdUcmFuc2Zvcm0gPSBl
eHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkUGFyZW50RHJh
d1RyYW5zZm9ybS50cmFuc2xhdGUoMC41ICogcGFyZW50LT5ib3VuZHMoKS53aWR0aCgpLCAwLjUg
KiBwYXJlbnQtPmJvdW5kcygpLmhlaWdodCgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05f
TUFUUklYX0VRKHBhcmVudC0+ZHJhd1RyYW5zZm9ybSgpLCBleHBlY3RlZFBhcmVudERyYXdUcmFu
c2Zvcm0pOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEocGFyZW50LT5zY3Jl
ZW5TcGFjZVRyYW5zZm9ybSgpLCBleHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtKTsK
KwogICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkRHJhd1RyYW5zZm9ybTsKICAg
ICBleHBlY3RlZERyYXdUcmFuc2Zvcm0uc2V0TTExKGRldmljZVNjYWxlRmFjdG9yKTsKICAgICBl
eHBlY3RlZERyYXdUcmFuc2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKQEAgLTM0NjIs
NiArMzU2NywxNyBAQCBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRl
clN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCiAgICAgZXhwZWN0ZWREcmF3VHJhbnNmb3JtLnNl
dE00MigwLjUgKiBkZXZpY2VTY2FsZUZhY3RvciAqIGNoaWxkLT5ib3VuZHMoKS5oZWlnaHQoKSk7
CiAgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3RlZERyYXdUcmFuc2Zv
cm0sIGNoaWxkLT5kcmF3VHJhbnNmb3JtKCkpOwogCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggZXhwZWN0ZWRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFNjcmVlblNwYWNl
VHJhbnNmb3JtLnNldE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRTY3JlZW5T
cGFjZVRyYW5zZm9ybS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVkU2Ny
ZWVuU3BhY2VUcmFuc2Zvcm0udHJhbnNsYXRlKGNoaWxkLT5wb3NpdGlvbigpLngoKSwgY2hpbGQt
PnBvc2l0aW9uKCkueSgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4
cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgp
KTsKKworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoY2hpbGQtPmRyYXdUcmFu
c2Zvcm0oKSwgZHVwbGljYXRlQ2hpbGROb25Pd25lci0+ZHJhd1RyYW5zZm9ybSgpKTsKKyAgICBF
WFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9y
bSgpLCBkdXBsaWNhdGVDaGlsZE5vbk93bmVyLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsKKyAg
ICBFWFBFQ1RfSU5UX1JFQ1RfRVEoY2hpbGQtPmRyYXdhYmxlQ29udGVudFJlY3QoKSwgZHVwbGlj
YXRlQ2hpbGROb25Pd25lci0+ZHJhd2FibGVDb250ZW50UmVjdCgpKTsKKyAgICBFWFBFQ1RfRVEo
Y2hpbGQtPmNvbnRlbnRCb3VuZHMoKSwgZHVwbGljYXRlQ2hpbGROb25Pd25lci0+Y29udGVudEJv
dW5kcygpKTsKKwogICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUmVuZGVyU3Vy
ZmFjZURyYXdUcmFuc2Zvcm07CiAgICAgZXhwZWN0ZWRSZW5kZXJTdXJmYWNlRHJhd1RyYW5zZm9y
bS50cmFuc2xhdGUoZGV2aWNlU2NhbGVGYWN0b3IgKiAoY2hpbGQtPnBvc2l0aW9uKCkueCgpICsg
MC41ICogY2hpbGQtPmJvdW5kcygpLndpZHRoKCkpLCBkZXZpY2VTY2FsZUZhY3RvciAqIChjaGls
ZC0+cG9zaXRpb24oKS55KCkgKyAwLjUgKiBjaGlsZC0+Ym91bmRzKCkuaGVpZ2h0KCkpKTsKICAg
ICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkUmVuZGVyU3VyZmFjZURy
YXdUcmFuc2Zvcm0sIGNoaWxkLT5yZW5kZXJTdXJmYWNlKCktPmRyYXdUcmFuc2Zvcm0oKSk7CkBA
IC0zNDcwLDkgKzM1ODYsOSBAQCBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlm
eVJlbmRlclN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCiAgICAgZXhwZWN0ZWRPcmlnaW5UcmFu
c2Zvcm0udHJhbnNsYXRlKGRldmljZVNjYWxlRmFjdG9yICogMiwgZGV2aWNlU2NhbGVGYWN0b3Ig
KiAyKTsKICAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkT3JpZ2lu
VHJhbnNmb3JtLCBjaGlsZC0+cmVuZGVyU3VyZmFjZSgpLT5vcmlnaW5UcmFuc2Zvcm0oKSk7CiAK
LSAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZFNjcmVlblNwYWNlVHJhbnNmb3Jt
OwotICAgIGV4cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm0udHJhbnNsYXRlKGRldmljZVNjYWxl
RmFjdG9yICogMiwgZGV2aWNlU2NhbGVGYWN0b3IgKiAyKTsKLSAgICBFWFBFQ1RfVFJBTlNGT1JN
QVRJT05fTUFUUklYX0VRKGV4cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5yZW5k
ZXJTdXJmYWNlKCktPnNjcmVlblNwYWNlVHJhbnNmb3JtKCkpOworICAgIFdlYlRyYW5zZm9ybWF0
aW9uTWF0cml4IGV4cGVjdGVkU3VyZmFjZVNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVj
dGVkU3VyZmFjZVNjcmVlblNwYWNlVHJhbnNmb3JtLnRyYW5zbGF0ZShkZXZpY2VTY2FsZUZhY3Rv
ciAqIDIsIGRldmljZVNjYWxlRmFjdG9yICogMik7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9O
X01BVFJJWF9FUShleHBlY3RlZFN1cmZhY2VTY3JlZW5TcGFjZVRyYW5zZm9ybSwgY2hpbGQtPnJl
bmRlclN1cmZhY2UoKS0+c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSk7CiAKICAgICBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBleHBlY3RlZFJlcGxpY2FEcmF3VHJhbnNmb3JtOwogICAgIGV4cGVjdGVk
UmVwbGljYURyYXdUcmFuc2Zvcm0uc2V0TTIyKC0xKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153913</attachid>
            <date>2012-07-23 17:29:17 -0700</date>
            <delta_ts>2012-07-23 17:57:37 -0700</delta_ts>
            <desc>Reorder expect calls</desc>
            <filename>bug-91917-20120723172909.patch</filename>
            <type>text/plain</type>
            <size>12231</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDEyYmY4YTRkYTg1ZGZmOWNlOGRlMTdhNWViNDQwMWJjMGFlNDU4OTcuLmRhYTU5ZTA0OGJjZjFk
MGNjMDJlNzllZTcwMmJiM2M1NWFlNWJlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMjAgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xl
LmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBtb3JlIGNvbXBvc2l0b3IgdW5pdCB0ZXN0
cyBmb3IgaGlnaCBEUEkgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTE5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY3VycmVudCBzZXQgb2YgaGlnaCBEUEkgdGVzdHMgb25seSBk
ZWFsIHdpdGggbGF5ZXJzIGluIGEgcmVuZGVyCisgICAgICAgIHN1cmZhY2UuIEFkZCBzb21lIGV4
dHJhIHRlc3RzIGZvciBub24tc3VyZmFjZSBsYXllcnMuIEFsc28gYWRkIGEgdGVzdAorICAgICAg
ICB0byBtYWtlIHN1cmUgdGhhdCBhbiBvd25pbmcgbGF5ZXIgaW4gYSBzdXJmYWNlIGRvZXNuJ3Qg
ZGlmZmVyIGZyb20gYQorICAgICAgICBub24tb3duaW5nIGxheWVyIGluIGhpZ2ggRFBJIGNpcmN1
bXN0YW5jZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LmNw
cDoKKwogMjAxMi0wNy0yMyAgU2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIEZpeCB1bml0IHRlc3RzIGluIGRlYnVnIG1vZGUgYWZ0ZXIg
cjEyMzM3NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
VHJlZUhvc3RDb21tb25UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NM
YXllclRyZWVIb3N0Q29tbW9uVGVzdC5jcHAKaW5kZXggNzcyZjkyZGFmYTk2OTc3OTdhNmU1ODU0
ODA2N2VkMjQ3OGI2YzBhNi4uODZhZjQwYTAyOWI0MjBhNWYwYTZlMDM3ODlkOGVmNjM1NzM1OTJk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhv
c3RDb21tb25UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJUcmVlSG9zdENvbW1vblRlc3QuY3BwCkBAIC0yOTQ2LDcgKzI5NDYsNyBAQCBURVNUKENDTGF5
ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeUhpdFRlc3RpbmdGb3JTaW5nbGVMYXllcldpdGhT
Y2FsZWRDb250ZW50cwogICAgIC8vIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGhpdCB0ZXN0aW5nIHdv
cmtzIGNvcnJlY3RseSBhY2NvdW50cyBmb3IgdGhlIGNvbnRlbnRzIHNjYWxlLgogICAgIC8vIEEg
Y29udGVudHNTY2FsZSB0aGF0IGlzIG5vdCAxIGVmZmVjdGl2ZWx5IGZvcmNlcyBhIG5vbi1pZGVu
dGl0eSB0cmFuc2Zvcm0gYmV0d2VlbgogICAgIC8vIGxheWVyJ3MgY29udGVudCBzcGFjZSBhbmQg
bGF5ZXIncyBvcmlnaW4gc3BhY2UsIHdoaWNoIGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUKLSAgICAv
LyBzY3JlZW5TcGFjZVRyYW5zZm9ybW4uIFRoZSBoaXQgdGVzdGluZyBjb2RlIG11c3QgdGFrZSB0
aGlzIGludG8gYWNjb3VudC4KKyAgICAvLyBzY3JlZW5TcGFjZVRyYW5zZm9ybS4gVGhlIGhpdCB0
ZXN0aW5nIGNvZGUgbXVzdCB0YWtlIHRoaXMgaW50byBhY2NvdW50LgogICAgIC8vCiAgICAgLy8g
VG8gdGVzdCB0aGlzLCB0aGUgbGF5ZXIgaXMgcG9zaXRpb25lZCBhdCAoMjUsIDI1KSwgYW5kIGlz
IHNpemUgKDUwLCA1MCkuIElmCiAgICAgLy8gY29udGVudHNTY2FsZSBpcyBpZ25vcmVkLCB0aGVu
IGhpdCB0ZXN0aW5nIHdpbGwgbWlzLWludGVycHJldCB0aGUgdmlzaWJsZUNvbnRlbnRSZWN0CkBA
IC0zNDE1LDcgKzM0MTUsOTcgQEAgUGFzc1JlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gY3Jl
YXRlRHJhd2FibGVDb250ZW50TGF5ZXJDaHJvbWl1bShDb250ZW50TGF5ZXIKICAgICByZXR1cm4g
dG9SZXR1cm4ucmVsZWFzZSgpOwogfQogCi1URVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3Qs
IHZlcmlmeVJlbmRlclN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCitURVNUKENDTGF5ZXJUcmVl
SG9zdENvbW1vblRlc3QsIHZlcmlmeUxheWVyVHJhbnNmb3Jtc0luSGlnaERQSSkKK3sKKyAgICAv
LyBWZXJpZnkgZHJhdyBhbmQgc2NyZWVuIHNwYWNlIHRyYW5zZm9ybXMgb2YgbGF5ZXJzIG5vdCBp
biBhIHN1cmZhY2UuCisgICAgTW9ja0NvbnRlbnRMYXllckRlbGVnYXRlIGRlbGVnYXRlOworICAg
IFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGlkZW50aXR5TWF0cml4OworICAgIFdlYlRyYW5zZm9y
bWF0aW9uTWF0cml4IHBhcmVudE1hdHJpeDsKKworICAgIFJlZlB0cjxDb250ZW50TGF5ZXJDaHJv
bWl1bT4gcGFyZW50ID0gY3JlYXRlRHJhd2FibGVDb250ZW50TGF5ZXJDaHJvbWl1bSgmZGVsZWdh
dGUpOworICAgIHNldExheWVyUHJvcGVydGllc0ZvclRlc3RpbmcocGFyZW50LmdldCgpLCBpZGVu
dGl0eU1hdHJpeCwgaWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQo
MCwgMCksIEludFNpemUoMTAwLCAxMDApLCB0cnVlKTsKKworICAgIFJlZlB0cjxDb250ZW50TGF5
ZXJDaHJvbWl1bT4gY2hpbGQgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRMYXllckNocm9taXVtKCZk
ZWxlZ2F0ZSk7CisgICAgc2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGluZyhjaGlsZC5nZXQoKSwg
aWRlbnRpdHlNYXRyaXgsIGlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBGbG9hdFBv
aW50KDIsIDIpLCBJbnRTaXplKDEwLCAxMCksIHRydWUpOworCisgICAgUmVmUHRyPENvbnRlbnRM
YXllckNocm9taXVtPiBjaGlsZE5vU2NhbGUgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRMYXllckNo
cm9taXVtKCZkZWxlZ2F0ZSk7CisgICAgc2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGluZyhjaGls
ZE5vU2NhbGUuZ2V0KCksIGlkZW50aXR5TWF0cml4LCBpZGVudGl0eU1hdHJpeCwgRmxvYXRQb2lu
dCgwLCAwKSwgRmxvYXRQb2ludCgyLCAyKSwgSW50U2l6ZSgxMCwgMTApLCB0cnVlKTsKKworICAg
IHBhcmVudC0+YWRkQ2hpbGQoY2hpbGQpOworICAgIHBhcmVudC0+YWRkQ2hpbGQoY2hpbGROb1Nj
YWxlKTsKKworICAgIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiByZW5kZXJTdXJmYWNl
TGF5ZXJMaXN0OworICAgIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiBkdW1teUxheWVy
TGlzdDsKKyAgICBpbnQgZHVtbXlNYXhUZXh0dXJlU2l6ZSA9IDUxMjsKKworICAgIHBhcmVudC0+
Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOworICAgIHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpLT5zZXRD
b250ZW50UmVjdChJbnRSZWN0KEludFBvaW50KCksIHBhcmVudC0+Ym91bmRzKCkpKTsKKyAgICBy
ZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LmFwcGVuZChwYXJlbnQuZ2V0KCkpOworCisgICAgY29uc3Qg
ZG91YmxlIGRldmljZVNjYWxlRmFjdG9yID0gMi41OworICAgIHBhcmVudE1hdHJpeC5zY2FsZShk
ZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgcGFyZW50LT5zZXRDb250ZW50c1NjYWxlKGRldmljZVNj
YWxlRmFjdG9yKTsKKyAgICBjaGlsZC0+c2V0Q29udGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rv
cik7CisgICAgRVhQRUNUX0VRKGNoaWxkTm9TY2FsZS0+Y29udGVudHNTY2FsZSgpLCAxKTsKKwor
ICAgIENDTGF5ZXJUcmVlSG9zdENvbW1vbjo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXMocGFyZW50
LmdldCgpLCBwYXJlbnQuZ2V0KCksIHBhcmVudE1hdHJpeCwgaWRlbnRpdHlNYXRyaXgsIHJlbmRl
clN1cmZhY2VMYXllckxpc3QsIGR1bW15TGF5ZXJMaXN0LCBkdW1teU1heFRleHR1cmVTaXplKTsK
KworICAgIEVYUEVDVF9FUSgxdSwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdC5zaXplKCkpOworCisg
ICAgLy8gVmVyaWZ5IHBhcmVudCB0cmFuc2Zvcm1zCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggZXhwZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFBhcmVu
dFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhw
ZWN0ZWRQYXJlbnRTY3JlZW5TcGFjZVRyYW5zZm9ybS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3Ip
OworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoZXhwZWN0ZWRQYXJlbnRTY3Jl
ZW5TcGFjZVRyYW5zZm9ybSwgcGFyZW50LT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsKKworICAg
IFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUGFyZW50RHJhd1RyYW5zZm9ybSA9IGV4
cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQYXJlbnREcmF3
VHJhbnNmb3JtLnRyYW5zbGF0ZSgwLjUgKiBwYXJlbnQtPmJvdW5kcygpLndpZHRoKCksIDAuNSAq
IHBhcmVudC0+Ym91bmRzKCkuaGVpZ2h0KCkpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9N
QVRSSVhfRVEoZXhwZWN0ZWRQYXJlbnREcmF3VHJhbnNmb3JtLCBwYXJlbnQtPmRyYXdUcmFuc2Zv
cm0oKSk7CisKKyAgICAvLyBWZXJpZnkgcmVzdWx0cyBvZiB0cmFuc2Zvcm1lZCBwYXJlbnQgcmVj
dHMKKyAgICBJbnRSZWN0IHBhcmVudEJvdW5kcyhJbnRQb2ludCgpLCBwYXJlbnQtPmJvdW5kcygp
KTsKKyAgICBJbnRSZWN0IGNlbnRlcmVkUGFyZW50Qm91bmRzID0gcGFyZW50Qm91bmRzOworICAg
IGNlbnRlcmVkUGFyZW50Qm91bmRzLm1vdmUoLXBhcmVudEJvdW5kcy53aWR0aCgpICogMC41LCAt
cGFyZW50Qm91bmRzLmhlaWdodCgpICogMC41KTsKKworICAgIEZsb2F0UmVjdCBwYXJlbnREcmF3
UmVjdCA9IENDTWF0aFV0aWw6Om1hcENsaXBwZWRSZWN0KHBhcmVudC0+ZHJhd1RyYW5zZm9ybSgp
LCBGbG9hdFJlY3QoY2VudGVyZWRQYXJlbnRCb3VuZHMpKTsKKyAgICBGbG9hdFJlY3QgcGFyZW50
U2NyZWVuU3BhY2VSZWN0ID0gQ0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QocGFyZW50LT5zY3Jl
ZW5TcGFjZVRyYW5zZm9ybSgpLCBGbG9hdFJlY3QocGFyZW50Qm91bmRzKSk7CisKKyAgICBGbG9h
dFJlY3QgZXhwZWN0ZWRQYXJlbnREcmF3UmVjdChGbG9hdFBvaW50KCksIHBhcmVudC0+Ym91bmRz
KCkpOworICAgIGV4cGVjdGVkUGFyZW50RHJhd1JlY3Quc2NhbGUoZGV2aWNlU2NhbGVGYWN0b3Ip
OworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKGV4cGVjdGVkUGFyZW50RHJhd1JlY3QsIHBhcmVu
dERyYXdSZWN0KTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShleHBlY3RlZFBhcmVudERyYXdS
ZWN0LCBwYXJlbnRTY3JlZW5TcGFjZVJlY3QpOworCisgICAgLy8gVmVyaWZ5IGNoaWxkIHRyYW5z
Zm9ybXMKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZENoaWxkU2NyZWVuU3Bh
Y2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtLnNldE0x
MShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNm
b3JtLnNldE0yMihkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRDaGlsZFNjcmVlblNw
YWNlVHJhbnNmb3JtLnRyYW5zbGF0ZShjaGlsZC0+cG9zaXRpb24oKS54KCksIGNoaWxkLT5wb3Np
dGlvbigpLnkoKSk7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3Rl
ZENoaWxkU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgp
KTsKKworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkQ2hpbGREcmF3VHJhbnNm
b3JtID0gZXhwZWN0ZWRDaGlsZFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkQ2hp
bGREcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZSgwLjUgKiBjaGlsZC0+Ym91bmRzKCkud2lkdGgoKSwg
MC41ICogY2hpbGQtPmJvdW5kcygpLmhlaWdodCgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJ
T05fTUFUUklYX0VRKGV4cGVjdGVkQ2hpbGREcmF3VHJhbnNmb3JtLCBjaGlsZC0+ZHJhd1RyYW5z
Zm9ybSgpKTsKKworICAgIC8vIFZlcmlmeSByZXN1bHRzIG9mIHRyYW5zZm9ybWVkIGNoaWxkIHJl
Y3RzCisgICAgSW50UmVjdCBjaGlsZEJvdW5kcyhJbnRQb2ludCgpLCBjaGlsZC0+Ym91bmRzKCkp
OworICAgIEludFJlY3QgY2VudGVyZWRDaGlsZEJvdW5kcyA9IGNoaWxkQm91bmRzOworICAgIGNl
bnRlcmVkQ2hpbGRCb3VuZHMubW92ZSgtY2hpbGRCb3VuZHMud2lkdGgoKSAqIDAuNSwgLWNoaWxk
Qm91bmRzLmhlaWdodCgpICogMC41KTsKKworICAgIEZsb2F0UmVjdCBjaGlsZERyYXdSZWN0ID0g
Q0NNYXRoVXRpbDo6bWFwQ2xpcHBlZFJlY3QoY2hpbGQtPmRyYXdUcmFuc2Zvcm0oKSwgRmxvYXRS
ZWN0KGNlbnRlcmVkQ2hpbGRCb3VuZHMpKTsKKyAgICBGbG9hdFJlY3QgY2hpbGRTY3JlZW5TcGFj
ZVJlY3QgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChjaGlsZC0+c2NyZWVuU3BhY2VUcmFu
c2Zvcm0oKSwgRmxvYXRSZWN0KGNoaWxkQm91bmRzKSk7CisKKyAgICBGbG9hdFJlY3QgZXhwZWN0
ZWRDaGlsZERyYXdSZWN0KEZsb2F0UG9pbnQoKSwgY2hpbGQtPmJvdW5kcygpKTsKKyAgICBleHBl
Y3RlZENoaWxkRHJhd1JlY3QubW92ZShjaGlsZC0+cG9zaXRpb24oKS54KCksIGNoaWxkLT5wb3Np
dGlvbigpLnkoKSk7CisgICAgZXhwZWN0ZWRDaGlsZERyYXdSZWN0LnNjYWxlKGRldmljZVNjYWxl
RmFjdG9yKTsKKyAgICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShleHBlY3RlZENoaWxkRHJhd1JlY3Qs
IGNoaWxkRHJhd1JlY3QpOworICAgIEVYUEVDVF9GTE9BVF9SRUNUX0VRKGV4cGVjdGVkQ2hpbGRE
cmF3UmVjdCwgY2hpbGRTY3JlZW5TcGFjZVJlY3QpOworCisgICAgLy8gVmVyaWZ5IGNoaWxkTm9T
Y2FsZSB0cmFuc2Zvcm1zCisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShjaGls
ZC0+ZHJhd1RyYW5zZm9ybSgpLCBjaGlsZE5vU2NhbGUtPmRyYXdUcmFuc2Zvcm0oKSk7CisgICAg
RVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShjaGlsZC0+c2NyZWVuU3BhY2VUcmFuc2Zv
cm0oKSwgY2hpbGROb1NjYWxlLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsKK30KKworVEVTVChD
Q0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJhbnNmb3Jtc0lu
SGlnaERQSSkKIHsKICAgICBNb2NrQ29udGVudExheWVyRGVsZWdhdGUgZGVsZWdhdGU7CiAgICAg
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXggaWRlbnRpdHlNYXRyaXg7CkBAIC0zNDMyLDcgKzM1MjIs
MTMgQEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNl
VHJhbmZvcm1zSW5IaWdoRFBJKQogICAgIFJlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gcmVw
bGljYSA9IGNyZWF0ZURyYXdhYmxlQ29udGVudExheWVyQ2hyb21pdW0oJmRlbGVnYXRlKTsKICAg
ICBzZXRMYXllclByb3BlcnRpZXNGb3JUZXN0aW5nKHJlcGxpY2EuZ2V0KCksIHJlcGxpY2FUcmFu
c2Zvcm0sIGlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBGbG9hdFBvaW50KDIsIDIp
LCBJbnRTaXplKDEwLCAxMCksIHRydWUpOwogCisgICAgLy8gVGhpcyBsYXllciBzaG91bGQgZW5k
IHVwIGluIHRoZSBzYW1lIHN1cmZhY2UgYXMgY2hpbGQsIHdpdGggdGhlIHNhbWUgZHJhdworICAg
IC8vIGFuZCBzY3JlZW4gc3BhY2UgdHJhbnNmb3Jtcy4KKyAgICBSZWZQdHI8Q29udGVudExheWVy
Q2hyb21pdW0+IGR1cGxpY2F0ZUNoaWxkTm9uT3duZXIgPSBjcmVhdGVEcmF3YWJsZUNvbnRlbnRM
YXllckNocm9taXVtKCZkZWxlZ2F0ZSk7CisgICAgc2V0TGF5ZXJQcm9wZXJ0aWVzRm9yVGVzdGlu
ZyhkdXBsaWNhdGVDaGlsZE5vbk93bmVyLmdldCgpLCBpZGVudGl0eU1hdHJpeCwgaWRlbnRpdHlN
YXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMTAsIDEw
KSwgdHJ1ZSk7CisKICAgICBwYXJlbnQtPmFkZENoaWxkKGNoaWxkKTsKKyAgICBjaGlsZC0+YWRk
Q2hpbGQoZHVwbGljYXRlQ2hpbGROb25Pd25lcik7CiAgICAgY2hpbGQtPnNldFJlcGxpY2FMYXll
cihyZXBsaWNhLmdldCgpKTsKIAogICAgIFZlY3RvcjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiBy
ZW5kZXJTdXJmYWNlTGF5ZXJMaXN0OwpAQCAtMzQ0Nyw2ICszNTQzLDcgQEAgVEVTVChDQ0xheWVy
VHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJhbmZvcm1zSW5IaWdoRFBJ
KQogICAgIHBhcmVudE1hdHJpeC5zY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgcGFyZW50
LT5zZXRDb250ZW50c1NjYWxlKGRldmljZVNjYWxlRmFjdG9yKTsKICAgICBjaGlsZC0+c2V0Q29u
dGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZHVwbGljYXRlQ2hpbGROb25Pd25l
ci0+c2V0Q29udGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgcmVwbGljYS0+c2V0
Q29udGVudHNTY2FsZShkZXZpY2VTY2FsZUZhY3Rvcik7CiAKICAgICBDQ0xheWVyVHJlZUhvc3RD
b21tb246OmNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zKHBhcmVudC5nZXQoKSwgcGFyZW50LmdldCgp
LCBwYXJlbnRNYXRyaXgsIGlkZW50aXR5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBk
dW1teUxheWVyTGlzdCwgZHVtbXlNYXhUZXh0dXJlU2l6ZSk7CkBAIC0zNDU1LDYgKzM1NTIsMTQg
QEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlSZW5kZXJTdXJmYWNlVHJh
bmZvcm1zSW5IaWdoRFBJKQogICAgIC8vIHJlbmRlciBzdXJmYWNlIChpdCBuZWVkcyBvbmUgYmVj
YXVzZSBpdCBoYXMgYSByZXBsaWNhIGxheWVyKS4KICAgICBFWFBFQ1RfRVEoMnUsIHJlbmRlclN1
cmZhY2VMYXllckxpc3Quc2l6ZSgpKTsKIAorICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4
cGVjdGVkUGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm07CisgICAgZXhwZWN0ZWRQYXJlbnRTY3Jl
ZW5TcGFjZVRyYW5zZm9ybS5zZXRNMTEoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVk
UGFyZW50U2NyZWVuU3BhY2VUcmFuc2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKKyAg
ICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZFBhcmVudERyYXdUcmFuc2Zvcm0gPSBl
eHBlY3RlZFBhcmVudFNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVjdGVkUGFyZW50RHJh
d1RyYW5zZm9ybS50cmFuc2xhdGUoMC41ICogcGFyZW50LT5ib3VuZHMoKS53aWR0aCgpLCAwLjUg
KiBwYXJlbnQtPmJvdW5kcygpLmhlaWdodCgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05f
TUFUUklYX0VRKGV4cGVjdGVkUGFyZW50RHJhd1RyYW5zZm9ybSwgcGFyZW50LT5kcmF3VHJhbnNm
b3JtKCkpOworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoZXhwZWN0ZWRQYXJl
bnRTY3JlZW5TcGFjZVRyYW5zZm9ybSwgcGFyZW50LT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsK
KwogICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkRHJhd1RyYW5zZm9ybTsKICAg
ICBleHBlY3RlZERyYXdUcmFuc2Zvcm0uc2V0TTExKGRldmljZVNjYWxlRmFjdG9yKTsKICAgICBl
eHBlY3RlZERyYXdUcmFuc2Zvcm0uc2V0TTIyKGRldmljZVNjYWxlRmFjdG9yKTsKQEAgLTM0NjIs
NiArMzU2NywxNyBAQCBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRl
clN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCiAgICAgZXhwZWN0ZWREcmF3VHJhbnNmb3JtLnNl
dE00MigwLjUgKiBkZXZpY2VTY2FsZUZhY3RvciAqIGNoaWxkLT5ib3VuZHMoKS5oZWlnaHQoKSk7
CiAgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9OX01BVFJJWF9FUShleHBlY3RlZERyYXdUcmFuc2Zv
cm0sIGNoaWxkLT5kcmF3VHJhbnNmb3JtKCkpOwogCisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRy
aXggZXhwZWN0ZWRTY3JlZW5TcGFjZVRyYW5zZm9ybTsKKyAgICBleHBlY3RlZFNjcmVlblNwYWNl
VHJhbnNmb3JtLnNldE0xMShkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgZXhwZWN0ZWRTY3JlZW5T
cGFjZVRyYW5zZm9ybS5zZXRNMjIoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGV4cGVjdGVkU2Ny
ZWVuU3BhY2VUcmFuc2Zvcm0udHJhbnNsYXRlKGNoaWxkLT5wb3NpdGlvbigpLngoKSwgY2hpbGQt
PnBvc2l0aW9uKCkueSgpKTsKKyAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4
cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgp
KTsKKworICAgIEVYUEVDVF9UUkFOU0ZPUk1BVElPTl9NQVRSSVhfRVEoY2hpbGQtPmRyYXdUcmFu
c2Zvcm0oKSwgZHVwbGljYXRlQ2hpbGROb25Pd25lci0+ZHJhd1RyYW5zZm9ybSgpKTsKKyAgICBF
WFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGNoaWxkLT5zY3JlZW5TcGFjZVRyYW5zZm9y
bSgpLCBkdXBsaWNhdGVDaGlsZE5vbk93bmVyLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpKTsKKyAg
ICBFWFBFQ1RfSU5UX1JFQ1RfRVEoY2hpbGQtPmRyYXdhYmxlQ29udGVudFJlY3QoKSwgZHVwbGlj
YXRlQ2hpbGROb25Pd25lci0+ZHJhd2FibGVDb250ZW50UmVjdCgpKTsKKyAgICBFWFBFQ1RfRVEo
Y2hpbGQtPmNvbnRlbnRCb3VuZHMoKSwgZHVwbGljYXRlQ2hpbGROb25Pd25lci0+Y29udGVudEJv
dW5kcygpKTsKKwogICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IGV4cGVjdGVkUmVuZGVyU3Vy
ZmFjZURyYXdUcmFuc2Zvcm07CiAgICAgZXhwZWN0ZWRSZW5kZXJTdXJmYWNlRHJhd1RyYW5zZm9y
bS50cmFuc2xhdGUoZGV2aWNlU2NhbGVGYWN0b3IgKiAoY2hpbGQtPnBvc2l0aW9uKCkueCgpICsg
MC41ICogY2hpbGQtPmJvdW5kcygpLndpZHRoKCkpLCBkZXZpY2VTY2FsZUZhY3RvciAqIChjaGls
ZC0+cG9zaXRpb24oKS55KCkgKyAwLjUgKiBjaGlsZC0+Ym91bmRzKCkuaGVpZ2h0KCkpKTsKICAg
ICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkUmVuZGVyU3VyZmFjZURy
YXdUcmFuc2Zvcm0sIGNoaWxkLT5yZW5kZXJTdXJmYWNlKCktPmRyYXdUcmFuc2Zvcm0oKSk7CkBA
IC0zNDcwLDkgKzM1ODYsOSBAQCBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlm
eVJlbmRlclN1cmZhY2VUcmFuZm9ybXNJbkhpZ2hEUEkpCiAgICAgZXhwZWN0ZWRPcmlnaW5UcmFu
c2Zvcm0udHJhbnNsYXRlKGRldmljZVNjYWxlRmFjdG9yICogMiwgZGV2aWNlU2NhbGVGYWN0b3Ig
KiAyKTsKICAgICBFWFBFQ1RfVFJBTlNGT1JNQVRJT05fTUFUUklYX0VRKGV4cGVjdGVkT3JpZ2lu
VHJhbnNmb3JtLCBjaGlsZC0+cmVuZGVyU3VyZmFjZSgpLT5vcmlnaW5UcmFuc2Zvcm0oKSk7CiAK
LSAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBleHBlY3RlZFNjcmVlblNwYWNlVHJhbnNmb3Jt
OwotICAgIGV4cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm0udHJhbnNsYXRlKGRldmljZVNjYWxl
RmFjdG9yICogMiwgZGV2aWNlU2NhbGVGYWN0b3IgKiAyKTsKLSAgICBFWFBFQ1RfVFJBTlNGT1JN
QVRJT05fTUFUUklYX0VRKGV4cGVjdGVkU2NyZWVuU3BhY2VUcmFuc2Zvcm0sIGNoaWxkLT5yZW5k
ZXJTdXJmYWNlKCktPnNjcmVlblNwYWNlVHJhbnNmb3JtKCkpOworICAgIFdlYlRyYW5zZm9ybWF0
aW9uTWF0cml4IGV4cGVjdGVkU3VyZmFjZVNjcmVlblNwYWNlVHJhbnNmb3JtOworICAgIGV4cGVj
dGVkU3VyZmFjZVNjcmVlblNwYWNlVHJhbnNmb3JtLnRyYW5zbGF0ZShkZXZpY2VTY2FsZUZhY3Rv
ciAqIDIsIGRldmljZVNjYWxlRmFjdG9yICogMik7CisgICAgRVhQRUNUX1RSQU5TRk9STUFUSU9O
X01BVFJJWF9FUShleHBlY3RlZFN1cmZhY2VTY3JlZW5TcGFjZVRyYW5zZm9ybSwgY2hpbGQtPnJl
bmRlclN1cmZhY2UoKS0+c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSk7CiAKICAgICBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBleHBlY3RlZFJlcGxpY2FEcmF3VHJhbnNmb3JtOwogICAgIGV4cGVjdGVk
UmVwbGljYURyYXdUcmFuc2Zvcm0uc2V0TTIyKC0xKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>