<?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>98697</bug_id>
          
          <creation_ts>2012-10-08 15:42:56 -0700</creation_ts>
          <short_desc>Remove DRT/WTR implementations of layerTreeAsText</short_desc>
          <delta_ts>2012-10-09 10:18:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>737137</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-08 15:42:56 -0700</bug_when>
    <thetext>Remove DRT/WTR implementations of layerTreeAsText</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737139</commentid>
    <comment_count>1</comment_count>
      <attachid>167634</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-08 15:43:45 -0700</bug_when>
    <thetext>Created attachment 167634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737142</commentid>
    <comment_count>2</comment_count>
      <attachid>167634</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-10-08 15:52:57 -0700</bug_when>
    <thetext>Comment on attachment 167634
Patch

Assuming the tests pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737143</commentid>
    <comment_count>3</comment_count>
      <attachid>167634</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-08 15:53:03 -0700</bug_when>
    <thetext>Comment on attachment 167634
Patch

Attachment 167634 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14214489</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737147</commentid>
    <comment_count>4</comment_count>
      <attachid>167636</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-08 15:56:17 -0700</bug_when>
    <thetext>Created attachment 167636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737156</commentid>
    <comment_count>5</comment_count>
      <attachid>167636</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-10-08 16:02:56 -0700</bug_when>
    <thetext>Comment on attachment 167636
Patch

Could you update the comment in LayoutTests/compositing/video/video-poster.html too? It refers to testRunner.layerTreeAsText</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737158</commentid>
    <comment_count>6</comment_count>
      <attachid>167636</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-08 16:05:19 -0700</bug_when>
    <thetext>Comment on attachment 167636
Patch

Attachment 167636 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14221433</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737161</commentid>
    <comment_count>7</comment_count>
      <attachid>167636</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-08 16:06:32 -0700</bug_when>
    <thetext>Comment on attachment 167636
Patch

Attachment 167636 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14238052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737241</commentid>
    <comment_count>8</comment_count>
      <attachid>167636</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-08 17:06:52 -0700</bug_when>
    <thetext>Comment on attachment 167636
Patch

Attachment 167636 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14225019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737255</commentid>
    <comment_count>9</comment_count>
      <attachid>167656</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-08 17:22:49 -0700</bug_when>
    <thetext>Created attachment 167656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737884</commentid>
    <comment_count>10</comment_count>
      <attachid>167656</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-09 09:49:58 -0700</bug_when>
    <thetext>Comment on attachment 167656
Patch

Please address comment 5 by James Robinson.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737911</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-09 10:18:11 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/130776</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167634</attachid>
            <date>2012-10-08 15:43:45 -0700</date>
            <delta_ts>2012-10-08 15:56:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98697-20121008154251.patch</filename>
            <type>text/plain</type>
            <size>9429</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNjkzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWEyYzNlNGRkYmQ1Y2FmODE1MWM3NmQ0MzhkNDdkZjk4
Njc5NDQ0Zi4uYWNlYjdiNmQ0NzQ0YmIwYWU2N2U0YjlkYjRjODBlNGEwNmJjY2RiYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTEwLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBEUlQvV1RSIGltcGxlbWVudGF0aW9ucyBvZiBsYXllclRyZWVBc1Rl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4Njk3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IGNvZGUgcmVsYXRlZCB0byBsYXllclRyZWVBc1RleHQoKSwgd2hpY2ggaXMgbm93IG9uIHdpbmRv
dy5pbnRlcm5hbHMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcDoK
KyAgICAgICAgKFRlc3RSdW5uZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvVGVzdFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKFRlc3RSdW5u
ZXIpOgorCiAyMDEyLTEwLTA4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIG5yd3Q6IFtjaHJvbWl1bV0gcnVuIGh0dHAgdGVzdHMgaW4gcGFyYWxsZWwgb24g
YmlnZ2VyIG1hY2hpbmVzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVu
bmVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IDEyYTE5
NGQzZTQ0ZjkwMGY5NjRiN2UxZTI1ZjZhNjVkMjA2ZGVjNjIuLmZlMjhhMjkxMTljNTZmZTUzNmJl
OGM4ZWRiODk4YjE2ZTA5YTA4OWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCkBA
IC02OTksMTMgKzY5OSw2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGNvbXB1dGVkU3R5bGVJbmNsdWRp
bmdWaXNpdGVkSW5mb0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0CiAgICAgcmV0dXJuIGNv
bnRyb2xsZXItPmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb250ZXh0LCBhcmd1
bWVudHNbMF0pOwogfQogCi1zdGF0aWMgSlNWYWx1ZVJlZiBsYXllclRyZWVBc1RleHRDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVm
IHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3Vt
ZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1hYyAmIHdpbmRv
d3MgaW1wbGVtZW50YXRpb24KLSAgICBUZXN0UnVubmVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nh
c3Q8VGVzdFJ1bm5lcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7Ci0gICAgcmV0
dXJuIEpTVmFsdWVNYWtlU3RyaW5nKGNvbnRleHQsIGNvbnRyb2xsZXItPmxheWVyVHJlZUFzVGV4
dCgpLmdldCgpKTsKLX0KLQogc3RhdGljIEpTVmFsdWVSZWYgbm90aWZ5RG9uZUNhbGxiYWNrKEpT
Q29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhp
c09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRz
W10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICAvLyBIYXMgbWFjICYgd2luZG93cyBp
bXBsZW1lbnRhdGlvbgpAQCAtMjI0NCw3ICsyMjM3LDYgQEAgSlNTdGF0aWNGdW5jdGlvbiogVGVz
dFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAiaWdub3JlTGVnYWN5V2ViTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzIiwgaWdub3JlTGVnYWN5V2ViTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNDb21tYW5k
RW5hYmxlZCIsIGlzQ29tbWFuZEVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJr
ZWVwV2ViSGlzdG9yeSIsIGtlZXBXZWJIaXN0b3J5Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKLSAgICAgICAg
eyAibGF5ZXJUcmVlQXNUZXh0IiwgbGF5ZXJUcmVlQXNUZXh0Q2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAg
ICAgICAgeyAibnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMiLCBu
dW1iZXJPZlBlbmRpbmdHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0c0NhbGxiYWNrLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCiAgICAgICAgIHsgIm1hcmtlclRleHRGb3JMaXN0SXRlbSIsIG1hcmtlclRleHRGb3JMaXN0
SXRlbUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgIm5vdGlmeURvbmUiLCBub3RpZnlEb25l
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RS
dW5uZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaAppbmRleCA3NDVjOTY5
MDRkMjhiYWRmZjRiMGEyODZkZDc2MmE3MDYwMDc5NDUyLi5mYTc2Yzc2NDI2OTIzYzJmZDdjODQ5
ZTkxZGRlZGFkNzY5ZWMzNmFlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCkBAIC0zMzYs
OCArMzM2LDYgQEAgcHVibGljOgogICAgIC8vIFNpbXVsYXRlIGEgcmVxdWVzdCBhbiBlbWJlZGRp
bmcgYXBwbGljYXRpb24gY291bGQgbWFrZSwgcG9wdWxhdGluZyBwZXItc2Vzc2lvbiBjcmVkZW50
aWFsIHN0b3JhZ2UuCiAgICAgdm9pZCBhdXRoZW50aWNhdGVTZXNzaW9uKEpTU3RyaW5nUmVmIHVy
bCwgSlNTdHJpbmdSZWYgdXNlcm5hbWUsIEpTU3RyaW5nUmVmIHBhc3N3b3JkKTsKIAotICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsYXllclRyZWVBc1RleHQoKSBjb25zdDsKLQogICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBtYXJrZXJUZXh0Rm9yTGlzdEl0ZW0oSlNDb250ZXh0UmVm
LCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QpIGNvbnN0OwogCiAgICAgSlNWYWx1ZVJlZiBvcmlnaW5z
V2l0aExvY2FsU3RvcmFnZShKU0NvbnRleHRSZWYpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
VGVzdFJ1bm5lck1hYy5tbQppbmRleCA1OThmZDlmODM4YmY2YTI1N2U1Njk5ZTY1ZWViNjAxMzM0
MGNjMmY2Li41YmUwZTc3MDM4ZDljNzYwYjY0YjgxZDc3OTRkNDI1YzhkYTg1ODJhIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQpAQCAtMjc0LDEyICsyNzQsNiBA
QCBKU1ZhbHVlUmVmIFRlc3RSdW5uZXI6OmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5m
byhKU0NvbnRleHRSZWYgY29udGV4dCwgSgogICAgIHJldHVybiBbW21haW5GcmFtZSB3ZWJWaWV3
XSBfY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvOmNvbnRleHQgZm9yRWxlbWVudDp2
YWx1ZV07CiB9CiAKLUpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjpsYXllclRy
ZWVBc1RleHQoKSBjb25zdAotewotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBzdHJpbmco
QWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKChDRlN0cmluZ1JlZilbbWFpbkZyYW1l
IF9sYXllclRyZWVBc1RleHRdKSk7Ci0gICAgcmV0dXJuIHN0cmluZzsKLX0KLQogSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6Om1hcmtlclRleHRGb3JMaXN0SXRlbShKU0NvbnRl
eHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBub2RlT2JqZWN0KSBjb25zdAogewogICAgIERPTUVs
ZW1lbnQgKmVsZW1lbnQgPSBbRE9NRWxlbWVudCBfRE9NRWxlbWVudEZyb21KU0NvbnRleHQ6Y29u
dGV4dCB2YWx1ZTpub2RlT2JqZWN0XTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IDBmZGMzNzRiM2FiZTJiMTRlYmQy
OTJlODg1NjlhNDAwNjUxNGM0YmIuLmNjMmYwNmQ1MTFmZmVhOTI0ZDBmZDdjYzY0OGM3ZTZhNThm
OTdjMjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmNwcApAQCAtMTkzLDEzICsxOTMsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnN1
c3BlbmRBbmltYXRpb25zKCkKICAgICBXS0J1bmRsZUZyYW1lU3VzcGVuZEFuaW1hdGlvbnMobWFp
bkZyYW1lKTsKIH0KIAotSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6OmxheWVy
VHJlZUFzVGV4dCgpIGNvbnN0Ci17Ci0gICAgV0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBX
S0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+
cGFnZSgpKTsKLSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdGV4dChBZG9wdFdLLCBXS0J1
bmRsZUZyYW1lQ29weUxheWVyVHJlZUFzVGV4dChtYWluRnJhbWUpKTsKLSAgICByZXR1cm4gdG9K
Uyh0ZXh0KTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjphZGRVc2VyU2NyaXB0KEpTU3RyaW5nUmVm
IHNvdXJjZSwgYm9vbCBydW5BdFN0YXJ0LCBib29sIGFsbEZyYW1lcykKIHsKICAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gc291cmNlV0sgPSB0b1dLKHNvdXJjZSk7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IDBiMzZi
OGZmMjEzYzM3ZDM1Yzc3MDExNDQxNDQ5ZGQ4ZjJmOGE5YWIuLmU4MDg2MzRlMzk0NDBiMDgxYmI0
MGJmNjkzMmU2MmYzYTViZDhkNGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0xMzIsOSArMTMyLDYgQEAgcHVibGljOgog
ICAgIGJvb2wgcGF1c2VUcmFuc2l0aW9uQXRUaW1lT25FbGVtZW50V2l0aElkKEpTU3RyaW5nUmVm
IHByb3BlcnR5TmFtZSwgZG91YmxlIHRpbWUsIEpTU3RyaW5nUmVmIGVsZW1lbnRJZCk7CiAgICAg
dm9pZCBzdXNwZW5kQW5pbWF0aW9ucygpOwogICAgIAotICAgIC8vIENvbXBvc2l0aW5nIHRlc3Rp
bmcuCi0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxheWVyVHJlZUFzVGV4dCgpIGNvbnN0
OwotICAgIAogICAgIC8vIFVzZXJDb250ZW50IHRlc3RpbmcuCiAgICAgdm9pZCBhZGRVc2VyU2Ny
aXB0KEpTU3RyaW5nUmVmIHNvdXJjZSwgYm9vbCBydW5BdFN0YXJ0LCBib29sIGFsbEZyYW1lcyk7
CiAgICAgdm9pZCBhZGRVc2VyU3R5bGVTaGVldChKU1N0cmluZ1JlZiBzb3VyY2UsIGJvb2wgYWxs
RnJhbWVzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBkNDU1ZWU4OTE5OWM0MGZhNzljNzQzYTdkOTUxZmQxZjMzMjdiZWJm
Li44MjNiMWY0MGU1NzQ0NjU3NTQ5NWVjOWVhNWRlNWNjMDVmMTkyMzNkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTcgQEAKIDIwMTItMTAtMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKKyAgICAgICAgUmVtb3ZlIERSVC9XVFIgaW1wbGVtZW50YXRpb25zIG9mIGxheWVyVHJl
ZUFzVGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTg2OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXggYSBjb3VwbGUgb2YgdGVzdHMgbWlzc2VkIGluIHRoZSBwcmV2aW91cyBjaG5hZ2UuCisKKyAg
ICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRyeS9wcmVzZXJ2ZS0zZC1zd2l0Y2hpbmcuaHRtbDoK
KyAgICAgICAgKiBjb21wb3NpdGluZy92aXNpYmlsaXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJz
LWR5bmFtaWMuaHRtbDoKKworMjAxMi0xMC0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKwogICAgICAgICBNb3ZlIGxheWVyVHJlZUFzVGV4dCB0byB3aW5kb3cuaW50
ZXJuYWxzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
ODY5MAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9wcmVz
ZXJ2ZS0zZC1zd2l0Y2hpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5
L3ByZXNlcnZlLTNkLXN3aXRjaGluZy5odG1sCmluZGV4IDkwNTFkOGY0Nzc3ZDZlNzNjZDM1Zjgz
NDlhZDliNzQxNTUxM2EzNzYuLjgzMDA1YTNjMjkyN2Q3ZTkwZWMyMjVhYjU1ZDBmMTBlMTQ4MjQw
NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L3ByZXNlcnZl
LTNkLXN3aXRjaGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5
L3ByZXNlcnZlLTNkLXN3aXRjaGluZy5odG1sCkBAIC02MCwxMCArNjAsOCBAQAogICAgICAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFyZW50Iikuc3R5bGUud2Via2l0VHJhbnNmb3JtU3R5bGUgPSAicHJlc2Vy
dmUtM2QiOwogICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAg
ICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHZhciBsYXllclRyZWUgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJl
ZUFzVGV4dChkb2N1bWVudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJIVE1MID0gIjxwcmU+IiArIGxheWVyVHJlZSAr
ICI8L3ByZT4iOwotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHZh
ciBsYXllclRyZWUgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7
CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUi
KS5pbm5lckhUTUwgPSAiPHByZT4iICsgbGF5ZXJUcmVlICsgIjwvcHJlPiI7CiAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0sIHRpbWVvdXQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvdmlzaWJpbGl0eS92aXNpYmlsaXR5LWltYWdlLWxheWVycy1keW5hbWljLmh0bWwgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy92aXNpYmlsaXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJzLWR5
bmFtaWMuaHRtbAppbmRleCBiMzZmZDJkNjlkYTg1NzkyOWU4YjhkY2NiN2QxNWYwZjdhZWY4ZDNk
Li5lYjQ2ZWM1NTA2YTBiODlmNGYzNmM2MDVhMTNjZWUyOTkxOTM4ZjhhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy92aXNpYmlsaXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJz
LWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy92aXNpYmlsaXR5L3Zp
c2liaWxpdHktaW1hZ2UtbGF5ZXJzLWR5bmFtaWMuaHRtbApAQCAtNjEsMTQgKzYxLDE0IEBACiAg
ICAgICAgIGZpcnN0SW1hZ2Uuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJzsKIAogICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2xheWVyczInKS5pbm5lclRleHQgPSB0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCgpOwor
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMyJykuaW5uZXJUZXh0ID0g
d2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwogCiAgICAgICAgICAg
d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB2YXIgc2Vjb25kQ29u
dGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNvbnRhaW5lcicpWzFdOwogICAg
ICAgICAgICAgc2Vjb25kQ29udGFpbmVyLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7CiAK
ICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzMycpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5
ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds
YXllcnMzJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9j
dW1lbnQpOwogICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICB9LCAwKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167636</attachid>
            <date>2012-10-08 15:56:17 -0700</date>
            <delta_ts>2012-10-08 17:22:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98697-20121008155523.patch</filename>
            <type>text/plain</type>
            <size>17357</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNjkzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWEyYzNlNGRkYmQ1Y2FmODE1MWM3NmQ0MzhkNDdkZjk4
Njc5NDQ0Zi4uYTlkY2NiNTQ2MzlkMzVkNWUwZGE2MDY2Yjc0OWZhYjBkMTZjZjMyOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDEyLTEwLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBEUlQvV1RSIGltcGxlbWVudGF0aW9ucyBvZiBsYXllclRyZWVBc1Rl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4Njk3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IGNvZGUgcmVsYXRlZCB0byBsYXllclRyZWVBc1RleHQoKSwgd2hpY2ggaXMgbm93IG9uIHdpbmRv
dy5pbnRlcm5hbHMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcDoK
KyAgICAgICAgKFRlc3RSdW5uZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvVGVzdFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHA6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAg
IChEUlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmg6CisgICAgICAgIChEUlRUZXN0UnVubmVyKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHA6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0
L1Rlc3RSdW5uZXJRdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5l
clF0Lmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93
aW4vVGVzdFJ1bm5lcldpbi5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1
bm5lcld4LmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorCiAyMDEyLTEwLTA4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIG5yd3Q6IFtjaHJvbWl1bV0gcnVuIGh0dHAgdGVzdHMgaW4gcGFy
YWxsZWwgb24gYmlnZ2VyIG1hY2hpbmVzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCmlu
ZGV4IDEyYTE5NGQzZTQ0ZjkwMGY5NjRiN2UxZTI1ZjZhNjVkMjA2ZGVjNjIuLmZlMjhhMjkxMTlj
NTZmZTUzNmJlOGM4ZWRiODk4YjE2ZTA5YTA4OWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5u
ZXIuY3BwCkBAIC02OTksMTMgKzY5OSw2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGNvbXB1dGVkU3R5
bGVJbmNsdWRpbmdWaXNpdGVkSW5mb0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0CiAgICAg
cmV0dXJuIGNvbnRyb2xsZXItPmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb250
ZXh0LCBhcmd1bWVudHNbMF0pOwogfQogCi1zdGF0aWMgSlNWYWx1ZVJlZiBsYXllclRyZWVBc1Rl
eHRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpT
T2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVl
UmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1h
YyAmIHdpbmRvd3MgaW1wbGVtZW50YXRpb24KLSAgICBUZXN0UnVubmVyKiBjb250cm9sbGVyID0g
c3RhdGljX2Nhc3Q8VGVzdFJ1bm5lcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7
Ci0gICAgcmV0dXJuIEpTVmFsdWVNYWtlU3RyaW5nKGNvbnRleHQsIGNvbnRyb2xsZXItPmxheWVy
VHJlZUFzVGV4dCgpLmdldCgpKTsKLX0KLQogc3RhdGljIEpTVmFsdWVSZWYgbm90aWZ5RG9uZUNh
bGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmpl
Y3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYg
YXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICAvLyBIYXMgbWFjICYg
d2luZG93cyBpbXBsZW1lbnRhdGlvbgpAQCAtMjI0NCw3ICsyMjM3LDYgQEAgSlNTdGF0aWNGdW5j
dGlvbiogVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAiaWdub3JlTGVn
YWN5V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzIiwgaWdub3JlTGVnYWN5V2ViTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAi
aXNDb21tYW5kRW5hYmxlZCIsIGlzQ29tbWFuZEVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJrZWVwV2ViSGlzdG9yeSIsIGtlZXBXZWJIaXN0b3J5Q2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
LSAgICAgICAgeyAibGF5ZXJUcmVlQXNUZXh0IiwgbGF5ZXJUcmVlQXNUZXh0Q2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKICAgICAgICAgeyAibnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdHMiLCBudW1iZXJPZlBlbmRpbmdHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0c0NhbGxi
YWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgIm1hcmtlclRleHRGb3JMaXN0SXRlbSIsIG1hcmtlclRl
eHRGb3JMaXN0SXRlbUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgIm5vdGlmeURvbmUiLCBu
b3RpZnlEb25lQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaAppbmRl
eCA3NDVjOTY5MDRkMjhiYWRmZjRiMGEyODZkZDc2MmE3MDYwMDc5NDUyLi5mYTc2Yzc2NDI2OTIz
YzJmZDdjODQ5ZTkxZGRlZGFkNzY5ZWMzNmFlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5o
CkBAIC0zMzYsOCArMzM2LDYgQEAgcHVibGljOgogICAgIC8vIFNpbXVsYXRlIGEgcmVxdWVzdCBh
biBlbWJlZGRpbmcgYXBwbGljYXRpb24gY291bGQgbWFrZSwgcG9wdWxhdGluZyBwZXItc2Vzc2lv
biBjcmVkZW50aWFsIHN0b3JhZ2UuCiAgICAgdm9pZCBhdXRoZW50aWNhdGVTZXNzaW9uKEpTU3Ry
aW5nUmVmIHVybCwgSlNTdHJpbmdSZWYgdXNlcm5hbWUsIEpTU3RyaW5nUmVmIHBhc3N3b3JkKTsK
IAotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsYXllclRyZWVBc1RleHQoKSBjb25zdDsK
LQogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBtYXJrZXJUZXh0Rm9yTGlzdEl0ZW0oSlND
b250ZXh0UmVmLCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QpIGNvbnN0OwogCiAgICAgSlNWYWx1ZVJl
ZiBvcmlnaW5zV2l0aExvY2FsU3RvcmFnZShKU0NvbnRleHRSZWYpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNwcApp
bmRleCAxNDNlZWY2YWNjZTBlZmNiNjljMzk3ZWNhNzJhMGYwZWY3NGFkNjhlLi5iNTk1YTJmZTZl
MzRmN2M4NzVhMjIwNzgwNmM4NGUwZTIyY2I0Nzc5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNwcApAQCAtNTg1
LDEyICs1ODUsNiBAQCBKU1ZhbHVlUmVmIFRlc3RSdW5uZXI6OmNvbXB1dGVkU3R5bGVJbmNsdWRp
bmdWaXNpdGVkSW5mbyhKU0NvbnRleHRSZWYgY29udGV4dCwgSgogICAgIHJldHVybiBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnQ6OmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb250ZXh0
LCB2YWx1ZSk7CiB9CiAKLUpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjpsYXll
clRyZWVBc1RleHQoKSBjb25zdAotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IDA7Ci19Ci0KIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjptYXJrZXJUZXh0
Rm9yTGlzdEl0ZW0oSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCkg
Y29uc3QKIHsKICAgICBXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50ID0gdG9FbGVtZW50KHRvSlMo
dG9KUyhjb250ZXh0KSwgbm9kZU9iamVjdCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAppbmRleCBmNGYzYWVkMjI4YTdhMjk3NTc4MmJkOWMy
YzY0NDJlNzhlNzFiMjg5Li44YWVlN2M1YjJjNzQwMTA0YzgwMjIzODk0NThhMGJmZGZjMjlkNGY4
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVy
LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNw
cApAQCAtMTY2LDcgKzE2Niw2IEBAIERSVFRlc3RSdW5uZXI6OkRSVFRlc3RSdW5uZXIoVGVzdFNo
ZWxsKiBzaGVsbCkKICAgICBiaW5kTWV0aG9kKCJmaW5kU3RyaW5nIiwgJkRSVFRlc3RSdW5uZXI6
OmZpbmRTdHJpbmcpOwogICAgIGJpbmRNZXRob2QoImlzQ29tbWFuZEVuYWJsZWQiLCAmRFJUVGVz
dFJ1bm5lcjo6aXNDb21tYW5kRW5hYmxlZCk7CiAgICAgYmluZE1ldGhvZCgiaGFzQ3VzdG9tUGFn
ZVNpemVTdHlsZSIsICZEUlRUZXN0UnVubmVyOjpoYXNDdXN0b21QYWdlU2l6ZVN0eWxlKTsKLSAg
ICBiaW5kTWV0aG9kKCJsYXllclRyZWVBc1RleHQiLCAmRFJUVGVzdFJ1bm5lcjo6bGF5ZXJUcmVl
QXNUZXh0KTsKICAgICBiaW5kTWV0aG9kKCJsb3NlQ29tcG9zaXRvckNvbnRleHQiLCAmRFJUVGVz
dFJ1bm5lcjo6bG9zZUNvbXBvc2l0b3JDb250ZXh0KTsKICAgICBiaW5kTWV0aG9kKCJtYXJrZXJU
ZXh0Rm9yTGlzdEl0ZW0iLCAmRFJUVGVzdFJ1bm5lcjo6bWFya2VyVGV4dEZvckxpc3RJdGVtKTsK
ICAgICBiaW5kTWV0aG9kKCJub3RpZnlEb25lIiwgJkRSVFRlc3RSdW5uZXI6Om5vdGlmeURvbmUp
OwpAQCAtMTkwNCwxMSArMTkwMyw2IEBAIHZvaWQgRFJUVGVzdFJ1bm5lcjo6c3RhcnRTcGVlY2hJ
bnB1dChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFuCiAgICAgaW5w
dXQtPnN0YXJ0U3BlZWNoSW5wdXQoKTsKIH0KIAotdm9pZCBEUlRUZXN0UnVubmVyOjpsYXllclRy
ZWVBc1RleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJpYW50KiByZXN1bHQp
Ci17Ci0gICAgcmVzdWx0LT5zZXQobV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bGF5
ZXJUcmVlQXNUZXh0KG1fc2hvd0RlYnVnTGF5ZXJUcmVlKS51dGY4KCkpOwotfQotCiB2b2lkIERS
VFRlc3RSdW5uZXI6Omxvc2VDb21wb3NpdG9yQ29udGV4dChjb25zdCBDcHBBcmd1bWVudExpc3Qm
IGFyZ3MsIENwcFZhcmlhbnQqKQogewogICAgIGludCBudW1UaW1lczsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAppbmRleCA1NTk0MGFjZDFmNDdiYjI2
YWYyOWRkNWJiNmQ1MzBkMmFlZTA2NmQyLi4zMDQxYjg2YTczYzVhYjJlMDM5YzhlZTFkMGE3OTI3
YjcyZTk3NTEyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRU
ZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1
bm5lci5oCkBAIC0zNTUsOCArMzU1LDYgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdm9pZCBzdGFy
dFNwZWVjaElucHV0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKIAotICAg
IHZvaWQgbGF5ZXJUcmVlQXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJncywgQ3BwVmFy
aWFudCogcmVzdWx0KTsKLQogICAgIHZvaWQgbG9zZUNvbXBvc2l0b3JDb250ZXh0KGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYgYXJncywgQ3BwVmFyaWFudCogcmVzdWx0KTsKIAogICAgIHZvaWQgbWFy
a2VyVGV4dEZvckxpc3RJdGVtKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcAppbmRleCA4ZmM5MjZh
ZWJjMThlNDkzMzAzOTNiNDBkZWJhN2U1ODczN2E1MmY2Li44YzBjMWU0NDFiMWQ1OTc3YjMyMjRl
MzI3MDI5NzQwZTNiZDg0NjZkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
VGVzdFJ1bm5lckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL1Rlc3RSdW5u
ZXJFZmwuY3BwCkBAIC0xMTcsMTMgKzExNyw2IEBAIEpTVmFsdWVSZWYgVGVzdFJ1bm5lcjo6Y29t
cHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKCiAg
ICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGlu
Z1Zpc2l0ZWRJbmZvKGNvbnRleHQsIHZhbHVlKTsKIH0KIAotSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IFRlc3RSdW5uZXI6OmxheWVyVHJlZUFzVGV4dCgpIGNvbnN0Ci17Ci0gICAgU3RyaW5nIHJl
c3VsdCA9IER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6bGF5ZXJUcmVlQXNUZXh0KGJyb3dzZXIt
Pm1haW5GcmFtZSgpKTsKLQotICAgIHJldHVybiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4oQWRv
cHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHJlc3VsdC51dGY4KCkuZGF0YSgpKSk7
Ci19Ci0KIHNpemVfdCBUZXN0UnVubmVyOjp3ZWJIaXN0b3J5SXRlbUNvdW50KCkKIHsKICAgICBj
b25zdCBFd2tfSGlzdG9yeSogaGlzdG9yeSA9IGV3a192aWV3X2hpc3RvcnlfZ2V0KGJyb3dzZXIt
Pm1haW5WaWV3KCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RS
dW5uZXJHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3Bw
CmluZGV4IDZjOWUxMWZjOGZkYzRhNWFkZDdjNmU0MGE5ODQxNjIzNTczYTYyYmQuLjMyZDNkZDVj
Yjg1NjljODM4Y2UzYWQxZmVkNmI3N2NlMzY1YWRkZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKQEAgLTExMiwxMyArMTEyLDYgQEAgSlNWYWx1ZVJlZiBU
ZXN0UnVubmVyOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oSlNDb250ZXh0UmVm
IGNvbnRleHQsIEoKICAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpjb21wdXRl
ZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oY29udGV4dCwgdmFsdWUpOwogfQogCi1KU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6bGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QKLXsK
LSAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHN0
cmluZyhBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIiIpKTsKLSAgICByZXR1
cm4gc3RyaW5nOwotfQotCiBzaXplX3QgVGVzdFJ1bm5lcjo6d2ViSGlzdG9yeUl0ZW1Db3VudCgp
CiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dl
Yl92aWV3KG1haW5GcmFtZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
VGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCmluZGV4IDU5OGZkOWY4MzhiZjZhMjU3ZTU2OTllNjVlZWI2MDEzMzQwY2MyZjYuLjViZTBl
NzcwMzhkOWM3NjBiNjRiODFkNzc5NGQ0MjVjOGRhODU4MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC0yNzQsMTIgKzI3NCw2IEBAIEpTVmFsdWVSZWYg
VGVzdFJ1bm5lcjo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKCiAgICAgcmV0dXJuIFtbbWFpbkZyYW1lIHdlYlZpZXddIF9jb21wdXRlZFN0
eWxlSW5jbHVkaW5nVmlzaXRlZEluZm86Y29udGV4dCBmb3JFbGVtZW50OnZhbHVlXTsKIH0KIAot
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6OmxheWVyVHJlZUFzVGV4dCgpIGNv
bnN0Ci17Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHN0cmluZyhBZG9wdCwgSlNTdHJp
bmdDcmVhdGVXaXRoQ0ZTdHJpbmcoKENGU3RyaW5nUmVmKVttYWluRnJhbWUgX2xheWVyVHJlZUFz
VGV4dF0pKTsKLSAgICByZXR1cm4gc3RyaW5nOwotfQotCiBKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gVGVzdFJ1bm5lcjo6bWFya2VyVGV4dEZvckxpc3RJdGVtKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QpIGNvbnN0CiB7CiAgICAgRE9NRWxlbWVudCAqZWxlbWVu
dCA9IFtET01FbGVtZW50IF9ET01FbGVtZW50RnJvbUpTQ29udGV4dDpjb250ZXh0IHZhbHVlOm5v
ZGVPYmplY3RdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5l
clF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAKaW5kZXgg
MGNlYzM4MDlkYmU4MDEzNWM4YWIzOTMxNWE1NzQxMzliYzYwZmFkYi4uZWY3MmE2N2NhMmJiMDgy
MTQzYmRiYzQ2Y2YwMzg5NGMzNjZkMzljZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvVGVzdFJ1bm5lclF0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0
UnVubmVyUXQuY3BwCkBAIC05NDAsMTEgKzk0MCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QXV0
b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWQoYm9vbCkKICAgICAvLyBGSVhNRTogSW1wbGVtZW50
IHRoaXMuCiB9CiAKLVFTdHJpbmcgVGVzdFJ1bm5lcjo6bGF5ZXJUcmVlQXNUZXh0KCkKLXsKLSAg
ICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmxheWVyVHJlZUFzVGV4dChtX2RydC0+
d2ViUGFnZSgpLT5tYWluRnJhbWUoKSk7Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6c2V0VGV4dERp
cmVjdGlvbihjb25zdCBRU3RyaW5nJiBkaXJlY3Rpb25OYW1lKQogewogICAgIGlmIChkaXJlY3Rp
b25OYW1lID09ICJhdXRvIikKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rl
c3RSdW5uZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKaW5k
ZXggMzExYmNkOWRlNWNkN2YyYTlkNmYyMmU4OWNhOTAwNWVkNDYxZjcyMy4uOWM1OGYxZDgzMjEw
MzVjOWM3NTE0NWI3NmZmYjNmNjYyNjJiZDM1MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVz
dFJ1bm5lclF0LmgKQEAgLTI3MCw3ICsyNzAsNiBAQCBwdWJsaWMgUV9TTE9UUzoKICAgICBsb25n
IGxvbmcgbG9jYWxTdG9yYWdlRGlza1VzYWdlRm9yT3JpZ2luKGNvbnN0IFFTdHJpbmcmIG9yaWdp
bklkZW50aWZpZXIpOwogICAgIHZvaWQgb2JzZXJ2ZVN0b3JhZ2VUcmFja2VyTm90aWZpY2F0aW9u
cyh1bnNpZ25lZCBudW1iZXIpOwogICAgIHZvaWQgc3luY0xvY2FsU3RvcmFnZSgpOwotICAgIFFT
dHJpbmcgbGF5ZXJUcmVlQXNUZXh0KCk7CiAgICAgdm9pZCBzZXRUZXh0RGlyZWN0aW9uKGNvbnN0
IFFTdHJpbmcmIGRpcmVjdGlvbk5hbWUpOwogICAgIHZvaWQgZ29CYWNrKCk7CiAgICAgdm9pZCBz
ZXREZWZlcnNMb2FkaW5nKGJvb2wpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL1Rlc3RSdW5uZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5u
ZXJXaW4uY3BwCmluZGV4IDVkNTlmMmIyNzJmMDViOGViMWFhM2MwMzYxNWMxMzFkNThmYzg4MWIu
LjNlNDhhZGU2NTUyMTk2ZTliZWE3MTUyM2I3Mzc2MjY2Zjg0MzU1ZTUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAKQEAgLTE3OSwyMSArMTc5LDYgQEAgSlNW
YWx1ZVJlZiBUZXN0UnVubmVyOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oSlND
b250ZXh0UmVmIGNvbnRleHQsIEoKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29u
dGV4dCk7CiB9CiAKLUpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjpsYXllclRy
ZWVBc1RleHQoKSBjb25zdAotewotICAgIENPTVB0cjxJV2ViRnJhbWVQcml2YXRlPiBmcmFtZVBy
aXZhdGUoUXVlcnksIGZyYW1lKTsKLSAgICBpZiAoIWZyYW1lUHJpdmF0ZSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgQlNUUiB0ZXh0QlNUUiA9IDA7Ci0gICAgSFJFU1VMVCBociA9IGZy
YW1lUHJpdmF0ZS0+bGF5ZXJUcmVlQXNUZXh0KCZ0ZXh0QlNUUik7Ci0KLSAgICB3c3RyaW5nIHRl
eHQodGV4dEJTVFIsIFN5c1N0cmluZ0xlbih0ZXh0QlNUUikpOwotICAgIFN5c0ZyZWVTdHJpbmco
dGV4dEJTVFIpOwotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB0ZXh0VmFsdWVKUyhBZG9w
dCwgSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycyh0ZXh0LmRhdGEoKSwgdGV4dC5sZW5ndGgo
KSkpOwotICAgIHJldHVybiB0ZXh0VmFsdWVKUzsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IFRlc3RSdW5uZXI6Om1hcmtlclRleHRGb3JMaXN0SXRlbShKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNWYWx1ZVJlZiBub2RlT2JqZWN0KSBjb25zdAogewogICAgIENPTVB0cjxJV2ViVmlldz4g
d2ViVmlldzsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5uZXJX
eC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9UZXN0UnVubmVyV3guY3BwCmluZGV4IDg3
NGFhNjc5NWY2ZDBhNDBmNjM0ZDUwNWZhYWZlNTQ3OTMyNjE4MTQuLjM1YTkxMzdlNzdiMTZlOTI3
ZTlhZWI4NWFlNjc0MDA2MDc4NDBkMTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3d4L1Rlc3RSdW5uZXJXeC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1
bm5lcld4LmNwcApAQCAtNDk3LDExICs0OTcsNiBAQCBib29sIFRlc3RSdW5uZXI6OmNhbGxTaG91
bGRDbG9zZU9uV2ViVmlldygpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1KU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6bGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gMDsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6Om1hcmtl
clRleHRGb3JMaXN0SXRlbShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBub2RlT2Jq
ZWN0KSBjb25zdAogewogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggMGZkYzM3NGIzYWJlMmIx
NGViZDI5MmU4ODU2OWE0MDA2NTE0YzRiYi4uY2MyZjA2ZDUxMWZmZWE5MjRkMGZkN2NjNjQ4Yzdl
NmE1OGY5N2MyOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0xOTMsMTMgKzE5Myw2IEBAIHZvaWQgVGVzdFJ1bm5l
cjo6c3VzcGVuZEFuaW1hdGlvbnMoKQogICAgIFdLQnVuZGxlRnJhbWVTdXNwZW5kQW5pbWF0aW9u
cyhtYWluRnJhbWUpOwogfQogCi1KU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6
bGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QKLXsKLSAgICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFt
ZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFn
ZSgpLT5wYWdlKCkpOwotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB0ZXh0KEFkb3B0V0ss
IFdLQnVuZGxlRnJhbWVDb3B5TGF5ZXJUcmVlQXNUZXh0KG1haW5GcmFtZSkpOwotICAgIHJldHVy
biB0b0pTKHRleHQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OmFkZFVzZXJTY3JpcHQoSlNTdHJp
bmdSZWYgc291cmNlLCBib29sIHJ1bkF0U3RhcnQsIGJvb2wgYWxsRnJhbWVzKQogewogICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzb3VyY2VXSyA9IHRvV0soc291cmNlKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXgg
MGIzNmI4ZmYyMTNjMzdkMzVjNzcwMTE0NDE0NDlkZDhmMmY4YTlhYi4uZTgwODYzNGUzOTQ0MGIw
ODFiYjQwYmY2OTMyZTYyZjNhNWJkOGQ0YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTEzMiw5ICsxMzIsNiBAQCBwdWJs
aWM6CiAgICAgYm9vbCBwYXVzZVRyYW5zaXRpb25BdFRpbWVPbkVsZW1lbnRXaXRoSWQoSlNTdHJp
bmdSZWYgcHJvcGVydHlOYW1lLCBkb3VibGUgdGltZSwgSlNTdHJpbmdSZWYgZWxlbWVudElkKTsK
ICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKCk7CiAgICAgCi0gICAgLy8gQ29tcG9zaXRpbmcg
dGVzdGluZy4KLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGF5ZXJUcmVlQXNUZXh0KCkg
Y29uc3Q7Ci0gICAgCiAgICAgLy8gVXNlckNvbnRlbnQgdGVzdGluZy4KICAgICB2b2lkIGFkZFVz
ZXJTY3JpcHQoSlNTdHJpbmdSZWYgc291cmNlLCBib29sIHJ1bkF0U3RhcnQsIGJvb2wgYWxsRnJh
bWVzKTsKICAgICB2b2lkIGFkZFVzZXJTdHlsZVNoZWV0KEpTU3RyaW5nUmVmIHNvdXJjZSwgYm9v
bCBhbGxGcmFtZXMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ0NTVlZTg5MTk5YzQwZmE3OWM3NDNhN2Q5NTFmZDFmMzMy
N2JlYmYuLjgyM2IxZjQwZTU3NDQ2NTc1NDk1ZWM5ZWE1ZGU1Y2MwNWYxOTIzM2QgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsNSArMSwxNyBAQAogMjAxMi0xMC0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgRFJUL1dUUiBpbXBsZW1lbnRhdGlvbnMgb2YgbGF5
ZXJUcmVlQXNUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05ODY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeCBhIGNvdXBsZSBvZiB0ZXN0cyBtaXNzZWQgaW4gdGhlIHByZXZpb3VzIGNobmFnZS4K
KworICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L3ByZXNlcnZlLTNkLXN3aXRjaGluZy5o
dG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1pbWFnZS1s
YXllcnMtZHluYW1pYy5odG1sOgorCisyMDEyLTEwLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIE1vdmUgbGF5ZXJUcmVlQXNUZXh0IHRvIHdpbmRv
dy5pbnRlcm5hbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk4NjkwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5
L3ByZXNlcnZlLTNkLXN3aXRjaGluZy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2Vv
bWV0cnkvcHJlc2VydmUtM2Qtc3dpdGNoaW5nLmh0bWwKaW5kZXggOTA1MWQ4ZjQ3NzdkNmU3M2Nk
MzVmODM0OWFkOWI3NDE1NTEzYTM3Ni4uODMwMDVhM2MyOTI3ZDdlOTBlYzIyNWFiNTVkMGYxMGUx
NDgyNDA3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvcHJl
c2VydmUtM2Qtc3dpdGNoaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2Vv
bWV0cnkvcHJlc2VydmUtM2Qtc3dpdGNoaW5nLmh0bWwKQEAgLTYwLDEwICs2MCw4IEBACiAgICAg
ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKS5zdHlsZS53ZWJraXRUcmFuc2Zvcm1TdHlsZSA9ICJw
cmVzZXJ2ZS0zZCI7CiAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4dCkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgdmFyIGxheWVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMubGF5
ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lckhUTUwgPSAiPHByZT4iICsgbGF5ZXJU
cmVlICsgIjwvcHJlPiI7Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgdmFyIGxheWVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3Vt
ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVy
VHJlZSIpLmlubmVySFRNTCA9ICI8cHJlPiIgKyBsYXllclRyZWUgKyAiPC9wcmU+IjsKICAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfSwgdGltZW91dCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy92aXNpYmlsaXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJzLWR5bmFtaWMuaHRtbCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1pbWFnZS1sYXll
cnMtZHluYW1pYy5odG1sCmluZGV4IGIzNmZkMmQ2OWRhODU3OTI5ZThiOGRjY2I3ZDE1ZjBmN2Fl
ZjhkM2QuLmViNDZlYzU1MDZhMGI4OWY0ZjM2YzYwNWExM2NlZTI5OTE5MzhmOGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1pbWFnZS1s
YXllcnMtZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Zpc2liaWxp
dHkvdmlzaWJpbGl0eS1pbWFnZS1sYXllcnMtZHluYW1pYy5odG1sCkBAIC02MSwxNCArNjEsMTQg
QEAKICAgICAgICAgZmlyc3RJbWFnZS5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnOwogCiAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbGF5ZXJzMicpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJUcmVlQXNUZXh0
KCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVyczInKS5pbm5lclRl
eHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CiAKICAgICAg
ICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgIHZhciBzZWNv
bmRDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY29udGFpbmVyJylbMV07
CiAgICAgICAgICAgICBzZWNvbmRDb250YWluZXIuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxl
JzsKIAogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMzJykuaW5uZXJUZXh0ID0gdGVzdFJ1bm5l
ci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2xheWVyczMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4
dChkb2N1bWVudCk7CiAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAg
ICAgICAgICAgfQogICAgICAgICAgIH0sIDApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167656</attachid>
            <date>2012-10-08 17:22:49 -0700</date>
            <delta_ts>2012-10-09 09:49:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98697-20121008172156.patch</filename>
            <type>text/plain</type>
            <size>18050</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNjkzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWEyYzNlNGRkYmQ1Y2FmODE1MWM3NmQ0MzhkNDdkZjk4
Njc5NDQ0Zi4uYTlkY2NiNTQ2MzlkMzVkNWUwZGE2MDY2Yjc0OWZhYjBkMTZjZjMyOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDEyLTEwLTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBEUlQvV1RSIGltcGxlbWVudGF0aW9ucyBvZiBsYXllclRyZWVBc1Rl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4Njk3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IGNvZGUgcmVsYXRlZCB0byBsYXllclRyZWVBc1RleHQoKSwgd2hpY2ggaXMgbm93IG9uIHdpbmRv
dy5pbnRlcm5hbHMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcDoK
KyAgICAgICAgKFRlc3RSdW5uZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvVGVzdFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHA6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAg
IChEUlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmg6CisgICAgICAgIChEUlRUZXN0UnVubmVyKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHA6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0
L1Rlc3RSdW5uZXJRdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5l
clF0Lmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93
aW4vVGVzdFJ1bm5lcldpbi5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1
bm5lcld4LmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorCiAyMDEyLTEwLTA4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIG5yd3Q6IFtjaHJvbWl1bV0gcnVuIGh0dHAgdGVzdHMgaW4gcGFy
YWxsZWwgb24gYmlnZ2VyIG1hY2hpbmVzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCmlu
ZGV4IDEyYTE5NGQzZTQ0ZjkwMGY5NjRiN2UxZTI1ZjZhNjVkMjA2ZGVjNjIuLmZlMjhhMjkxMTlj
NTZmZTUzNmJlOGM4ZWRiODk4YjE2ZTA5YTA4OWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5u
ZXIuY3BwCkBAIC02OTksMTMgKzY5OSw2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGNvbXB1dGVkU3R5
bGVJbmNsdWRpbmdWaXNpdGVkSW5mb0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0CiAgICAg
cmV0dXJuIGNvbnRyb2xsZXItPmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb250
ZXh0LCBhcmd1bWVudHNbMF0pOwogfQogCi1zdGF0aWMgSlNWYWx1ZVJlZiBsYXllclRyZWVBc1Rl
eHRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpT
T2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVl
UmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1h
YyAmIHdpbmRvd3MgaW1wbGVtZW50YXRpb24KLSAgICBUZXN0UnVubmVyKiBjb250cm9sbGVyID0g
c3RhdGljX2Nhc3Q8VGVzdFJ1bm5lcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7
Ci0gICAgcmV0dXJuIEpTVmFsdWVNYWtlU3RyaW5nKGNvbnRleHQsIGNvbnRyb2xsZXItPmxheWVy
VHJlZUFzVGV4dCgpLmdldCgpKTsKLX0KLQogc3RhdGljIEpTVmFsdWVSZWYgbm90aWZ5RG9uZUNh
bGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmpl
Y3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYg
YXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICAvLyBIYXMgbWFjICYg
d2luZG93cyBpbXBsZW1lbnRhdGlvbgpAQCAtMjI0NCw3ICsyMjM3LDYgQEAgSlNTdGF0aWNGdW5j
dGlvbiogVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAiaWdub3JlTGVn
YWN5V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzIiwgaWdub3JlTGVnYWN5V2ViTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAi
aXNDb21tYW5kRW5hYmxlZCIsIGlzQ29tbWFuZEVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJrZWVwV2ViSGlzdG9yeSIsIGtlZXBXZWJIaXN0b3J5Q2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
LSAgICAgICAgeyAibGF5ZXJUcmVlQXNUZXh0IiwgbGF5ZXJUcmVlQXNUZXh0Q2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKICAgICAgICAgeyAibnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdHMiLCBudW1iZXJPZlBlbmRpbmdHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0c0NhbGxi
YWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgIm1hcmtlclRleHRGb3JMaXN0SXRlbSIsIG1hcmtlclRl
eHRGb3JMaXN0SXRlbUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgIm5vdGlmeURvbmUiLCBu
b3RpZnlEb25lQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaAppbmRl
eCA3NDVjOTY5MDRkMjhiYWRmZjRiMGEyODZkZDc2MmE3MDYwMDc5NDUyLi5mYTc2Yzc2NDI2OTIz
YzJmZDdjODQ5ZTkxZGRlZGFkNzY5ZWMzNmFlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5o
CkBAIC0zMzYsOCArMzM2LDYgQEAgcHVibGljOgogICAgIC8vIFNpbXVsYXRlIGEgcmVxdWVzdCBh
biBlbWJlZGRpbmcgYXBwbGljYXRpb24gY291bGQgbWFrZSwgcG9wdWxhdGluZyBwZXItc2Vzc2lv
biBjcmVkZW50aWFsIHN0b3JhZ2UuCiAgICAgdm9pZCBhdXRoZW50aWNhdGVTZXNzaW9uKEpTU3Ry
aW5nUmVmIHVybCwgSlNTdHJpbmdSZWYgdXNlcm5hbWUsIEpTU3RyaW5nUmVmIHBhc3N3b3JkKTsK
IAotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsYXllclRyZWVBc1RleHQoKSBjb25zdDsK
LQogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBtYXJrZXJUZXh0Rm9yTGlzdEl0ZW0oSlND
b250ZXh0UmVmLCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QpIGNvbnN0OwogCiAgICAgSlNWYWx1ZVJl
ZiBvcmlnaW5zV2l0aExvY2FsU3RvcmFnZShKU0NvbnRleHRSZWYpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNwcApp
bmRleCAxNDNlZWY2YWNjZTBlZmNiNjljMzk3ZWNhNzJhMGYwZWY3NGFkNjhlLi5iNTk1YTJmZTZl
MzRmN2M4NzVhMjIwNzgwNmM4NGUwZTIyY2I0Nzc5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNwcApAQCAtNTg1
LDEyICs1ODUsNiBAQCBKU1ZhbHVlUmVmIFRlc3RSdW5uZXI6OmNvbXB1dGVkU3R5bGVJbmNsdWRp
bmdWaXNpdGVkSW5mbyhKU0NvbnRleHRSZWYgY29udGV4dCwgSgogICAgIHJldHVybiBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnQ6OmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb250ZXh0
LCB2YWx1ZSk7CiB9CiAKLUpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjpsYXll
clRyZWVBc1RleHQoKSBjb25zdAotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IDA7Ci19Ci0KIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjptYXJrZXJUZXh0
Rm9yTGlzdEl0ZW0oSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCkg
Y29uc3QKIHsKICAgICBXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50ID0gdG9FbGVtZW50KHRvSlMo
dG9KUyhjb250ZXh0KSwgbm9kZU9iamVjdCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAppbmRleCBmNGYzYWVkMjI4YTdhMjk3NTc4MmJkOWMy
YzY0NDJlNzhlNzFiMjg5Li44YWVlN2M1YjJjNzQwMTA0YzgwMjIzODk0NThhMGJmZGZjMjlkNGY4
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVy
LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNw
cApAQCAtMTY2LDcgKzE2Niw2IEBAIERSVFRlc3RSdW5uZXI6OkRSVFRlc3RSdW5uZXIoVGVzdFNo
ZWxsKiBzaGVsbCkKICAgICBiaW5kTWV0aG9kKCJmaW5kU3RyaW5nIiwgJkRSVFRlc3RSdW5uZXI6
OmZpbmRTdHJpbmcpOwogICAgIGJpbmRNZXRob2QoImlzQ29tbWFuZEVuYWJsZWQiLCAmRFJUVGVz
dFJ1bm5lcjo6aXNDb21tYW5kRW5hYmxlZCk7CiAgICAgYmluZE1ldGhvZCgiaGFzQ3VzdG9tUGFn
ZVNpemVTdHlsZSIsICZEUlRUZXN0UnVubmVyOjpoYXNDdXN0b21QYWdlU2l6ZVN0eWxlKTsKLSAg
ICBiaW5kTWV0aG9kKCJsYXllclRyZWVBc1RleHQiLCAmRFJUVGVzdFJ1bm5lcjo6bGF5ZXJUcmVl
QXNUZXh0KTsKICAgICBiaW5kTWV0aG9kKCJsb3NlQ29tcG9zaXRvckNvbnRleHQiLCAmRFJUVGVz
dFJ1bm5lcjo6bG9zZUNvbXBvc2l0b3JDb250ZXh0KTsKICAgICBiaW5kTWV0aG9kKCJtYXJrZXJU
ZXh0Rm9yTGlzdEl0ZW0iLCAmRFJUVGVzdFJ1bm5lcjo6bWFya2VyVGV4dEZvckxpc3RJdGVtKTsK
ICAgICBiaW5kTWV0aG9kKCJub3RpZnlEb25lIiwgJkRSVFRlc3RSdW5uZXI6Om5vdGlmeURvbmUp
OwpAQCAtMTkwNCwxMSArMTkwMyw2IEBAIHZvaWQgRFJUVGVzdFJ1bm5lcjo6c3RhcnRTcGVlY2hJ
bnB1dChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFuCiAgICAgaW5w
dXQtPnN0YXJ0U3BlZWNoSW5wdXQoKTsKIH0KIAotdm9pZCBEUlRUZXN0UnVubmVyOjpsYXllclRy
ZWVBc1RleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJpYW50KiByZXN1bHQp
Ci17Ci0gICAgcmVzdWx0LT5zZXQobV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bGF5
ZXJUcmVlQXNUZXh0KG1fc2hvd0RlYnVnTGF5ZXJUcmVlKS51dGY4KCkpOwotfQotCiB2b2lkIERS
VFRlc3RSdW5uZXI6Omxvc2VDb21wb3NpdG9yQ29udGV4dChjb25zdCBDcHBBcmd1bWVudExpc3Qm
IGFyZ3MsIENwcFZhcmlhbnQqKQogewogICAgIGludCBudW1UaW1lczsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAppbmRleCA1NTk0MGFjZDFmNDdiYjI2
YWYyOWRkNWJiNmQ1MzBkMmFlZTA2NmQyLi4zMDQxYjg2YTczYzVhYjJlMDM5YzhlZTFkMGE3OTI3
YjcyZTk3NTEyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRU
ZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1
bm5lci5oCkBAIC0zNTUsOCArMzU1LDYgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdm9pZCBzdGFy
dFNwZWVjaElucHV0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKIAotICAg
IHZvaWQgbGF5ZXJUcmVlQXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJncywgQ3BwVmFy
aWFudCogcmVzdWx0KTsKLQogICAgIHZvaWQgbG9zZUNvbXBvc2l0b3JDb250ZXh0KGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYgYXJncywgQ3BwVmFyaWFudCogcmVzdWx0KTsKIAogICAgIHZvaWQgbWFy
a2VyVGV4dEZvckxpc3RJdGVtKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcAppbmRleCA4ZmM5MjZh
ZWJjMThlNDkzMzAzOTNiNDBkZWJhN2U1ODczN2E1MmY2Li44YzBjMWU0NDFiMWQ1OTc3YjMyMjRl
MzI3MDI5NzQwZTNiZDg0NjZkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
VGVzdFJ1bm5lckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL1Rlc3RSdW5u
ZXJFZmwuY3BwCkBAIC0xMTcsMTMgKzExNyw2IEBAIEpTVmFsdWVSZWYgVGVzdFJ1bm5lcjo6Y29t
cHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKCiAg
ICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGlu
Z1Zpc2l0ZWRJbmZvKGNvbnRleHQsIHZhbHVlKTsKIH0KIAotSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IFRlc3RSdW5uZXI6OmxheWVyVHJlZUFzVGV4dCgpIGNvbnN0Ci17Ci0gICAgU3RyaW5nIHJl
c3VsdCA9IER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6bGF5ZXJUcmVlQXNUZXh0KGJyb3dzZXIt
Pm1haW5GcmFtZSgpKTsKLQotICAgIHJldHVybiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4oQWRv
cHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHJlc3VsdC51dGY4KCkuZGF0YSgpKSk7
Ci19Ci0KIHNpemVfdCBUZXN0UnVubmVyOjp3ZWJIaXN0b3J5SXRlbUNvdW50KCkKIHsKICAgICBj
b25zdCBFd2tfSGlzdG9yeSogaGlzdG9yeSA9IGV3a192aWV3X2hpc3RvcnlfZ2V0KGJyb3dzZXIt
Pm1haW5WaWV3KCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RS
dW5uZXJHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3Bw
CmluZGV4IDZjOWUxMWZjOGZkYzRhNWFkZDdjNmU0MGE5ODQxNjIzNTczYTYyYmQuLjMyZDNkZDVj
Yjg1NjljODM4Y2UzYWQxZmVkNmI3N2NlMzY1YWRkZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKQEAgLTExMiwxMyArMTEyLDYgQEAgSlNWYWx1ZVJlZiBU
ZXN0UnVubmVyOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oSlNDb250ZXh0UmVm
IGNvbnRleHQsIEoKICAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpjb21wdXRl
ZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oY29udGV4dCwgdmFsdWUpOwogfQogCi1KU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6bGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QKLXsK
LSAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHN0
cmluZyhBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIiIpKTsKLSAgICByZXR1
cm4gc3RyaW5nOwotfQotCiBzaXplX3QgVGVzdFJ1bm5lcjo6d2ViSGlzdG9yeUl0ZW1Db3VudCgp
CiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dl
Yl92aWV3KG1haW5GcmFtZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
VGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCmluZGV4IDU5OGZkOWY4MzhiZjZhMjU3ZTU2OTllNjVlZWI2MDEzMzQwY2MyZjYuLjViZTBl
NzcwMzhkOWM3NjBiNjRiODFkNzc5NGQ0MjVjOGRhODU4MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC0yNzQsMTIgKzI3NCw2IEBAIEpTVmFsdWVSZWYg
VGVzdFJ1bm5lcjo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKCiAgICAgcmV0dXJuIFtbbWFpbkZyYW1lIHdlYlZpZXddIF9jb21wdXRlZFN0
eWxlSW5jbHVkaW5nVmlzaXRlZEluZm86Y29udGV4dCBmb3JFbGVtZW50OnZhbHVlXTsKIH0KIAot
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6OmxheWVyVHJlZUFzVGV4dCgpIGNv
bnN0Ci17Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHN0cmluZyhBZG9wdCwgSlNTdHJp
bmdDcmVhdGVXaXRoQ0ZTdHJpbmcoKENGU3RyaW5nUmVmKVttYWluRnJhbWUgX2xheWVyVHJlZUFz
VGV4dF0pKTsKLSAgICByZXR1cm4gc3RyaW5nOwotfQotCiBKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gVGVzdFJ1bm5lcjo6bWFya2VyVGV4dEZvckxpc3RJdGVtKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QpIGNvbnN0CiB7CiAgICAgRE9NRWxlbWVudCAqZWxlbWVu
dCA9IFtET01FbGVtZW50IF9ET01FbGVtZW50RnJvbUpTQ29udGV4dDpjb250ZXh0IHZhbHVlOm5v
ZGVPYmplY3RdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5l
clF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAKaW5kZXgg
MGNlYzM4MDlkYmU4MDEzNWM4YWIzOTMxNWE1NzQxMzliYzYwZmFkYi4uZWY3MmE2N2NhMmJiMDgy
MTQzYmRiYzQ2Y2YwMzg5NGMzNjZkMzljZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvVGVzdFJ1bm5lclF0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0
UnVubmVyUXQuY3BwCkBAIC05NDAsMTEgKzk0MCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QXV0
b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWQoYm9vbCkKICAgICAvLyBGSVhNRTogSW1wbGVtZW50
IHRoaXMuCiB9CiAKLVFTdHJpbmcgVGVzdFJ1bm5lcjo6bGF5ZXJUcmVlQXNUZXh0KCkKLXsKLSAg
ICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmxheWVyVHJlZUFzVGV4dChtX2RydC0+
d2ViUGFnZSgpLT5tYWluRnJhbWUoKSk7Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6c2V0VGV4dERp
cmVjdGlvbihjb25zdCBRU3RyaW5nJiBkaXJlY3Rpb25OYW1lKQogewogICAgIGlmIChkaXJlY3Rp
b25OYW1lID09ICJhdXRvIikKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rl
c3RSdW5uZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKaW5k
ZXggMzExYmNkOWRlNWNkN2YyYTlkNmYyMmU4OWNhOTAwNWVkNDYxZjcyMy4uOWM1OGYxZDgzMjEw
MzVjOWM3NTE0NWI3NmZmYjNmNjYyNjJiZDM1MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVz
dFJ1bm5lclF0LmgKQEAgLTI3MCw3ICsyNzAsNiBAQCBwdWJsaWMgUV9TTE9UUzoKICAgICBsb25n
IGxvbmcgbG9jYWxTdG9yYWdlRGlza1VzYWdlRm9yT3JpZ2luKGNvbnN0IFFTdHJpbmcmIG9yaWdp
bklkZW50aWZpZXIpOwogICAgIHZvaWQgb2JzZXJ2ZVN0b3JhZ2VUcmFja2VyTm90aWZpY2F0aW9u
cyh1bnNpZ25lZCBudW1iZXIpOwogICAgIHZvaWQgc3luY0xvY2FsU3RvcmFnZSgpOwotICAgIFFT
dHJpbmcgbGF5ZXJUcmVlQXNUZXh0KCk7CiAgICAgdm9pZCBzZXRUZXh0RGlyZWN0aW9uKGNvbnN0
IFFTdHJpbmcmIGRpcmVjdGlvbk5hbWUpOwogICAgIHZvaWQgZ29CYWNrKCk7CiAgICAgdm9pZCBz
ZXREZWZlcnNMb2FkaW5nKGJvb2wpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL1Rlc3RSdW5uZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5u
ZXJXaW4uY3BwCmluZGV4IDVkNTlmMmIyNzJmMDViOGViMWFhM2MwMzYxNWMxMzFkNThmYzg4MWIu
LjNlNDhhZGU2NTUyMTk2ZTliZWE3MTUyM2I3Mzc2MjY2Zjg0MzU1ZTUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAKQEAgLTE3OSwyMSArMTc5LDYgQEAgSlNW
YWx1ZVJlZiBUZXN0UnVubmVyOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oSlND
b250ZXh0UmVmIGNvbnRleHQsIEoKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29u
dGV4dCk7CiB9CiAKLUpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjpsYXllclRy
ZWVBc1RleHQoKSBjb25zdAotewotICAgIENPTVB0cjxJV2ViRnJhbWVQcml2YXRlPiBmcmFtZVBy
aXZhdGUoUXVlcnksIGZyYW1lKTsKLSAgICBpZiAoIWZyYW1lUHJpdmF0ZSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgQlNUUiB0ZXh0QlNUUiA9IDA7Ci0gICAgSFJFU1VMVCBociA9IGZy
YW1lUHJpdmF0ZS0+bGF5ZXJUcmVlQXNUZXh0KCZ0ZXh0QlNUUik7Ci0KLSAgICB3c3RyaW5nIHRl
eHQodGV4dEJTVFIsIFN5c1N0cmluZ0xlbih0ZXh0QlNUUikpOwotICAgIFN5c0ZyZWVTdHJpbmco
dGV4dEJTVFIpOwotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB0ZXh0VmFsdWVKUyhBZG9w
dCwgSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycyh0ZXh0LmRhdGEoKSwgdGV4dC5sZW5ndGgo
KSkpOwotICAgIHJldHVybiB0ZXh0VmFsdWVKUzsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IFRlc3RSdW5uZXI6Om1hcmtlclRleHRGb3JMaXN0SXRlbShKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNWYWx1ZVJlZiBub2RlT2JqZWN0KSBjb25zdAogewogICAgIENPTVB0cjxJV2ViVmlldz4g
d2ViVmlldzsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5uZXJX
eC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9UZXN0UnVubmVyV3guY3BwCmluZGV4IDg3
NGFhNjc5NWY2ZDBhNDBmNjM0ZDUwNWZhYWZlNTQ3OTMyNjE4MTQuLjM1YTkxMzdlNzdiMTZlOTI3
ZTlhZWI4NWFlNjc0MDA2MDc4NDBkMTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3d4L1Rlc3RSdW5uZXJXeC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1
bm5lcld4LmNwcApAQCAtNDk3LDExICs0OTcsNiBAQCBib29sIFRlc3RSdW5uZXI6OmNhbGxTaG91
bGRDbG9zZU9uV2ViVmlldygpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1KU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6bGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gMDsKLX0KLQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6Om1hcmtl
clRleHRGb3JMaXN0SXRlbShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBub2RlT2Jq
ZWN0KSBjb25zdAogewogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5k
ZXggMzIxMmU5MjdjMjIyMzc1MmYwNDUyY2YwOTYzMzNlMjA3OTNjNzQwOC4uMGY4NmMyNzkwNWI3
NDMwYmIxMTE2MjA5MmQ0ZTQ1ZWM1MWQ1Yzc2ZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRs
CkBAIC0xMjEsOSArMTIxLDYgQEAgbW9kdWxlIFdUUiB7CiAgICAgICAgIHZvaWQgZGlzYWxsb3dJ
bmNyZWFzZUZvckFwcGxpY2F0aW9uQ2FjaGVRdW90YSgpOwogICAgICAgICBvYmplY3Qgb3JpZ2lu
c1dpdGhBcHBsaWNhdGlvbkNhY2hlKCk7CiAKLSAgICAgICAgLy8gQ29tcG9zaXRpbmcgdGVzdGlu
Zy4KLSAgICAgICAgRE9NU3RyaW5nIGxheWVyVHJlZUFzVGV4dCgpOwotCiAgICAgICAgIC8vIFRl
eHQgc2VhcmNoIHRlc3RpbmcuCiAgICAgICAgIGJvb2xlYW4gZmluZFN0cmluZyhpbiBET01TdHJp
bmcgdGFyZ2V0LCBpbiBvYmplY3Qgb3B0aW9uc0FycmF5KTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggMGZkYzM3
NGIzYWJlMmIxNGViZDI5MmU4ODU2OWE0MDA2NTE0YzRiYi4uY2MyZjA2ZDUxMWZmZWE5MjRkMGZk
N2NjNjQ4YzdlNmE1OGY5N2MyOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0xOTMsMTMgKzE5Myw2IEBAIHZvaWQg
VGVzdFJ1bm5lcjo6c3VzcGVuZEFuaW1hdGlvbnMoKQogICAgIFdLQnVuZGxlRnJhbWVTdXNwZW5k
QW5pbWF0aW9ucyhtYWluRnJhbWUpOwogfQogCi1KU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gVGVz
dFJ1bm5lcjo6bGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QKLXsKLSAgICBXS0J1bmRsZUZyYW1lUmVm
IG1haW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShJbmplY3RlZEJ1bmRsZTo6c2hh
cmVkKCkucGFnZSgpLT5wYWdlKCkpOwotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB0ZXh0
KEFkb3B0V0ssIFdLQnVuZGxlRnJhbWVDb3B5TGF5ZXJUcmVlQXNUZXh0KG1haW5GcmFtZSkpOwot
ICAgIHJldHVybiB0b0pTKHRleHQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OmFkZFVzZXJTY3Jp
cHQoSlNTdHJpbmdSZWYgc291cmNlLCBib29sIHJ1bkF0U3RhcnQsIGJvb2wgYWxsRnJhbWVzKQog
ewogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzb3VyY2VXSyA9IHRvV0soc291cmNlKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmgKaW5kZXggMGIzNmI4ZmYyMTNjMzdkMzVjNzcwMTE0NDE0NDlkZDhmMmY4YTlhYi4uZTgwODYz
NGUzOTQ0MGIwODFiYjQwYmY2OTMyZTYyZjNhNWJkOGQ0YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTEzMiw5ICsxMzIs
NiBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXVzZVRyYW5zaXRpb25BdFRpbWVPbkVsZW1lbnRXaXRo
SWQoSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBkb3VibGUgdGltZSwgSlNTdHJpbmdSZWYgZWxl
bWVudElkKTsKICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKCk7CiAgICAgCi0gICAgLy8gQ29t
cG9zaXRpbmcgdGVzdGluZy4KLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGF5ZXJUcmVl
QXNUZXh0KCkgY29uc3Q7Ci0gICAgCiAgICAgLy8gVXNlckNvbnRlbnQgdGVzdGluZy4KICAgICB2
b2lkIGFkZFVzZXJTY3JpcHQoSlNTdHJpbmdSZWYgc291cmNlLCBib29sIHJ1bkF0U3RhcnQsIGJv
b2wgYWxsRnJhbWVzKTsKICAgICB2b2lkIGFkZFVzZXJTdHlsZVNoZWV0KEpTU3RyaW5nUmVmIHNv
dXJjZSwgYm9vbCBhbGxGcmFtZXMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ0NTVlZTg5MTk5YzQwZmE3OWM3NDNhN2Q5
NTFmZDFmMzMyN2JlYmYuLjgyM2IxZjQwZTU3NDQ2NTc1NDk1ZWM5ZWE1ZGU1Y2MwNWYxOTIzM2Qg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxMi0xMC0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgRFJUL1dUUiBpbXBsZW1lbnRhdGlv
bnMgb2YgbGF5ZXJUcmVlQXNUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05ODY5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEZpeCBhIGNvdXBsZSBvZiB0ZXN0cyBtaXNzZWQgaW4gdGhlIHByZXZpb3Vz
IGNobmFnZS4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L3ByZXNlcnZlLTNkLXN3
aXRjaGluZy5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0
eS1pbWFnZS1sYXllcnMtZHluYW1pYy5odG1sOgorCisyMDEyLTEwLTA4ICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIE1vdmUgbGF5ZXJUcmVlQXNUZXh0
IHRvIHdpbmRvdy5pbnRlcm5hbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4NjkwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2dlb21ldHJ5L3ByZXNlcnZlLTNkLXN3aXRjaGluZy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvZ2VvbWV0cnkvcHJlc2VydmUtM2Qtc3dpdGNoaW5nLmh0bWwKaW5kZXggOTA1MWQ4ZjQ3
NzdkNmU3M2NkMzVmODM0OWFkOWI3NDE1NTEzYTM3Ni4uODMwMDVhM2MyOTI3ZDdlOTBlYzIyNWFi
NTVkMGYxMGUxNDgyNDA3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2Vv
bWV0cnkvcHJlc2VydmUtM2Qtc3dpdGNoaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvZ2VvbWV0cnkvcHJlc2VydmUtM2Qtc3dpdGNoaW5nLmh0bWwKQEAgLTYwLDEwICs2MCw4
IEBACiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKS5zdHlsZS53ZWJraXRUcmFuc2Zvcm1T
dHlsZSA9ICJwcmVzZXJ2ZS0zZCI7CiAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmxheWVyVHJlZUFzVGV4
dCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxheWVyVHJlZSA9IHdpbmRvdy5pbnRl
cm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lckhUTUwgPSAiPHByZT4i
ICsgbGF5ZXJUcmVlICsgIjwvcHJlPiI7Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgdmFyIGxheWVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNU
ZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxheWVyVHJlZSIpLmlubmVySFRNTCA9ICI8cHJlPiIgKyBsYXllclRyZWUgKyAiPC9wcmU+
IjsKICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfSwgdGltZW91dCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy92aXNpYmlsaXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJzLWR5bmFt
aWMuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1p
bWFnZS1sYXllcnMtZHluYW1pYy5odG1sCmluZGV4IGIzNmZkMmQ2OWRhODU3OTI5ZThiOGRjY2I3
ZDE1ZjBmN2FlZjhkM2QuLmViNDZlYzU1MDZhMGI4OWY0ZjM2YzYwNWExM2NlZTI5OTE5MzhmOGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Zpc2liaWxpdHkvdmlzaWJpbGl0
eS1pbWFnZS1sYXllcnMtZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3Zpc2liaWxpdHkvdmlzaWJpbGl0eS1pbWFnZS1sYXllcnMtZHluYW1pYy5odG1sCkBAIC02MSwx
NCArNjEsMTQgQEAKICAgICAgICAgZmlyc3RJbWFnZS5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2li
bGUnOwogCiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzMicpLmlubmVyVGV4dCA9IHRlc3RSdW5uZXIubGF5ZXJU
cmVlQXNUZXh0KCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVyczIn
KS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7
CiAKICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAg
IHZhciBzZWNvbmRDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY29udGFp
bmVyJylbMV07CiAgICAgICAgICAgICBzZWNvbmRDb250YWluZXIuc3R5bGUudmlzaWJpbGl0eSA9
ICd2aXNpYmxlJzsKIAogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMzJykuaW5uZXJUZXh0ID0g
dGVzdFJ1bm5lci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2xheWVyczMnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVy
VHJlZUFzVGV4dChkb2N1bWVudCk7CiAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwogICAgICAgICAgICAgfQogICAgICAgICAgIH0sIDApOwo=
</data>
<flag name="review"
          id="180387"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>