<?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>51423</bug_id>
          
          <creation_ts>2010-12-21 14:51:00 -0800</creation_ts>
          <short_desc>CopyTex{Sub}Image2D check always if the bound fbo&apos;s internal color format is compatible</short_desc>
          <delta_ts>2010-12-22 13:05:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zhenyao Mo">zmo</reporter>
          <assigned_to name="Zhenyao Mo">zmo</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>enne</cc>
    
    <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>325211</commentid>
    <comment_count>0</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-12-21 14:51:00 -0800</bug_when>
    <thetext>Remove the isGLES2Compliant() flag.

Reasons:
1) It&apos;s really cheap to do this, and return error earlier is a plus. We track the internal format anyway. might just use it.
2) command buffer port has isGLES2Compliant() set to true, but it doesn&apos;t check the color format compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325576</commentid>
    <comment_count>1</comment_count>
      <attachid>77236</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-12-22 10:55:23 -0800</bug_when>
    <thetext>Created attachment 77236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325578</commentid>
    <comment_count>2</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-12-22 10:55:49 -0800</bug_when>
    <thetext>The test is in sync with khronos.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325616</commentid>
    <comment_count>3</comment_count>
      <attachid>77236</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-12-22 11:54:19 -0800</bug_when>
    <thetext>Comment on attachment 77236
Patch

Looks good. Test case looks thorough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325649</commentid>
    <comment_count>4</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-12-22 13:05:25 -0800</bug_when>
    <thetext>Committed r74497: &lt;http://trac.webkit.org/changeset/74497&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77236</attachid>
            <date>2010-12-22 10:55:23 -0800</date>
            <delta_ts>2010-12-22 11:54:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51423-20101222105522.patch</filename>
            <type>text/plain</type>
            <size>23356</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDQ4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMTItMjIgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3B5VGV4
e1N1Yn1JbWFnZTJEIGNoZWNrIGFsd2F5cyBpZiB0aGUgYm91bmQgZmJvJ3MgaW50ZXJuYWwgY29s
b3IgZm9ybWF0IGlzIGNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUxNDIzCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojpjb3B5VGV4SW1hZ2UyRCk6IFJlbW92ZSB0aGUgaXNHTEVTMkNvbXBsaWFudCBmbGFnIGFyb3Vu
ZCBmb3JtYXQgY29tcGF0aWJpbGl0eSBjaGVja2luZy4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
UmVuZGVyaW5nQ29udGV4dDo6Y29weVRleFN1YkltYWdlMkQpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0Qm91bmRGcmFtZWJ1ZmZlckNvbG9yRm9y
bWF0KTogSGVscGVyIGZ1bmN0aW9uIHRvIGdldCBib3VuZCBmcmFtZWJ1ZmZlcidzIGNvbG9yIGZv
cm1hdDsgZGVhbCB3aXRoIHRoZSBjYXNlIG9mIHdlYmdsJ3MgaW50ZXJuYWwgZmJvLgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOgorCiAyMDEwLTEyLTIxICBW
YW5nZWxpcyBLb2trZXZpcyAgPHZhbmdlbGlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiA3NDQyOSkKKysrIFdlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjM3
LDEzICs2MzcsOSBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y29weVRleEltYWdlCiAg
ICAgV2ViR0xUZXh0dXJlKiB0ZXggPSB2YWxpZGF0ZVRleHR1cmVCaW5kaW5nKHRhcmdldCwgdHJ1
ZSk7CiAgICAgaWYgKCF0ZXgpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIWlzR0xFUzJDb21w
bGlhbnQoKSkgewotICAgICAgICBpZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgbV9mcmFtZWJ1
ZmZlckJpbmRpbmctPm9iamVjdCgpCi0gICAgICAgICAgICAmJiAhaXNUZXhJbnRlcm5hbEZvcm1h
dENvbG9yQnVmZmVyQ29tYmluYXRpb25WYWxpZChpbnRlcm5hbGZvcm1hdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZnJh
bWVidWZmZXJCaW5kaW5nLT5nZXRDb2xvckJ1ZmZlckZvcm1hdCgpKSkgewotICAgICAgICAgICAg
bV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9P
UEVSQVRJT04pOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CisgICAgaWYgKCFpc1Rl
eEludGVybmFsRm9ybWF0Q29sb3JCdWZmZXJDb21iaW5hdGlvblZhbGlkKGludGVybmFsZm9ybWF0
LCBnZXRCb3VuZEZyYW1lYnVmZmVyQ29sb3JGb3JtYXQoKSkpIHsKKyAgICAgICAgbV9jb250ZXh0
LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04p
OworICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICghaXNHTEVTMk5QT1RTdHJpY3QoKSAm
JiBsZXZlbCAmJiBXZWJHTFRleHR1cmU6OmlzTlBPVCh3aWR0aCwgaGVpZ2h0KSkgewogICAgICAg
ICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElE
X1ZBTFVFKTsKQEAgLTY2NiwxMyArNjYyLDkgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmNvcHlUZXhTdWJJbQogICAgIFdlYkdMVGV4dHVyZSogdGV4ID0gdmFsaWRhdGVUZXh0dXJlQmlu
ZGluZyh0YXJnZXQsIHRydWUpOwogICAgIGlmICghdGV4KQogICAgICAgICByZXR1cm47Ci0gICAg
aWYgKCFpc0dMRVMyQ29tcGxpYW50KCkpIHsKLSAgICAgICAgaWYgKG1fZnJhbWVidWZmZXJCaW5k
aW5nICYmIG1fZnJhbWVidWZmZXJCaW5kaW5nLT5vYmplY3QoKQotICAgICAgICAgICAgJiYgIWlz
VGV4SW50ZXJuYWxGb3JtYXRDb2xvckJ1ZmZlckNvbWJpbmF0aW9uVmFsaWQodGV4LT5nZXRJbnRl
cm5hbEZvcm1hdChsZXZlbCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lYnVmZmVyQmluZGluZy0+Z2V0Q29sb3JC
dWZmZXJGb3JtYXQoKSkpIHsKLSAgICAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJy
b3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OKTsKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQorICAgIGlmICghaXNUZXhJbnRlcm5hbEZvcm1hdENvbG9yQnVmZmVy
Q29tYmluYXRpb25WYWxpZCh0ZXgtPmdldEludGVybmFsRm9ybWF0KGxldmVsKSwgZ2V0Qm91bmRG
cmFtZWJ1ZmZlckNvbG9yRm9ybWF0KCkpKSB7CisgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6
ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OKTsKKyAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBpZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgIW1fZnJhbWVi
dWZmZXJCaW5kaW5nLT5vbkFjY2VzcygpKSB7CiAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6
ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9O
KTsKQEAgLTM1NjQsNiArMzU1NiwxNSBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNU
ZXhJbnRlcm5hCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit1bnNpZ25lZCBsb25nIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6Z2V0Qm91bmRGcmFtZWJ1ZmZlckNvbG9yRm9ybWF0KCkKK3sKKyAgICBp
ZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgbV9mcmFtZWJ1ZmZlckJpbmRpbmctPm9iamVjdCgp
KQorICAgICAgICByZXR1cm4gbV9mcmFtZWJ1ZmZlckJpbmRpbmctPmdldENvbG9yQnVmZmVyRm9y
bWF0KCk7CisgICAgaWYgKG1fYXR0cmlidXRlcy5hbHBoYSkKKyAgICAgICAgcmV0dXJuIEdyYXBo
aWNzQ29udGV4dDNEOjpSR0JBOworICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQzRDo6UkdCOwor
fQorCiBXZWJHTFRleHR1cmUqIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXh0dXJl
QmluZGluZyh1bnNpZ25lZCBsb25nIHRhcmdldCwgYm9vbCB1c2VTaXhFbnVtc0ZvckN1YmVNYXAp
CiB7CiAgICAgV2ViR0xUZXh0dXJlKiB0ZXggPSAwOwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCShyZXZpc2lvbiA3NDQyOSkKKysrIFdlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTUw
Miw2ICs1MDIsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1RleEludGVybmFsRm9ybWF0Q29sb3JC
dWZmZXJDb21iaW5hdGlvblZhbGlkKHVuc2lnbmVkIGxvbmcgdGV4SW50ZXJuYWxGb3JtYXQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgY29sb3JCdWZmZXJGb3JtYXQpOwogCisgICAgLy8gSGVscGVyIGZ1bmN0aW9u
IHRvIGdldCB0aGUgYm91bmQgZnJhbWVidWZmZXIncyBjb2xvciBidWZmZXIgZm9ybWF0LgorICAg
IHVuc2lnbmVkIGxvbmcgZ2V0Qm91bmRGcmFtZWJ1ZmZlckNvbG9yRm9ybWF0KCk7CisKICAgICAv
LyBIZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgdGFyZ2V0IGFuZCB0ZXh0dXJlIGJvdW5kIHRvIHRo
ZSB0YXJnZXQuCiAgICAgLy8gR2VuZXJhdGUgR0wgZXJyb3JzIGFuZCByZXR1cm4gMCBpZiB0YXJn
ZXQgaXMgaW52YWxpZCBvciB0ZXh0dXJlIGJvdW5kIGlzCiAgICAgLy8gbnVsbC4gIE90aGVyd2lz
ZSwgcmV0dXJuIHRoZSB0ZXh0dXJlIGJvdW5kIHRvIHRoZSB0YXJnZXQuCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA3NDQ4NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDEwLTEyLTIyICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29weVRleHtT
dWJ9SW1hZ2UyRCBjaGVjayBhbHdheXMgaWYgdGhlIGJvdW5kIGZibydzIGludGVybmFsIGNvbG9y
IGZvcm1hdCBpcyBjb21wYXRpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MTQyMworCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWlu
cHV0LXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OiBBZGQgdGVzdCBjYXNlcyBmb3IgY29weWluZyBm
cm9tIHdlYmdsJ3MgaW50ZXJuYWwgRkJPLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3Rl
eC1pbnB1dC12YWxpZGF0aW9uLmh0bWw6IERpdHRvLgorCiAyMDEwLTEyLTIyICBUb255IEdlbnRp
bGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBm
aXguCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW5wdXQtdmFsaWRh
dGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvdGV4LWlucHV0LXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3NDQyOSkK
KysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbnB1dC12YWxpZGF0aW9uLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw1NSArNCw4MCBAQCBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIFBBU1MgZ2wgPSBjcmVhdGUzRENvbnRleHQo
KSBpcyBub24tbnVsbC4KIFBBU1MgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpIGlzIG5vbi1udWxs
LgotUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKKwogQ2hlY2tpbmcgVGV4SW1hZ2UyRDogYSBzZXQg
b2YgaW5wdXRzIHRoYXQgYXJlIHZhbGlkIGluIEdMIGJ1dCBpbnZhbGlkIGluIEdMRVMyCi1QQVNT
IGdsLmdldEVycm9yKCkgaXMgZXJyb3IKLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBlcnJvcgotUEFT
UyBnbC5nZXRFcnJvcigpIGlzIGVycm9yCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZXJyb3IKLVBB
U1MgZ2wuZ2V0RXJyb3IoKSBpcyBlcnJvcgotUEFTUyBnbC5nZXRFcnJvcigpIGlzIGVycm9yCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9FTlVNIDogIGludGVybmFs
Rm9ybWF0OiBSR0JBIHRhcmdldDogMHg4MDY0IGZvcm1hdDogUkdCQSB0eXBlOiBVTlNJR05FRF9C
WVRFIGJvcmRlcjogMAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
RU5VTSA6ICBpbnRlcm5hbEZvcm1hdDogMHgxOTAzIHRhcmdldDogVEVYVFVSRV8yRCBmb3JtYXQ6
IDB4MTkwMyB0eXBlOiBVTlNJR05FRF9CWVRFIGJvcmRlcjogMAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiAgaW50ZXJuYWxGb3JtYXQ6IFJHQkEgdGFy
Z2V0OiBURVhUVVJFXzJEIGZvcm1hdDogUkdCQSB0eXBlOiBVTlNJR05FRF9CWVRFIGJvcmRlcjog
MQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDog
IGludGVybmFsRm9ybWF0OiBSR0JBIHRhcmdldDogVEVYVFVSRV8yRCBmb3JtYXQ6IFJHQiB0eXBl
OiBVTlNJR05FRF9CWVRFIGJvcmRlcjogMAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IElOVkFMSURfRU5VTSA6ICBpbnRlcm5hbEZvcm1hdDogUkdCQSB0YXJnZXQ6IFRFWFRVUkVf
MkQgZm9ybWF0OiBSR0JBIHR5cGU6IEJZVEUgYm9yZGVyOiAwCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAgaW50ZXJuYWxGb3JtYXQ6IFJHQkEgdGFyZ2V0OiBU
RVhUVVJFXzJEIGZvcm1hdDogUkdCQSB0eXBlOiBVTlNJR05FRF9CWVRFIGJvcmRlcjogMAorCiBD
aGVja2luZyBUZXhTdWJJbWFnZTJEOiBhIHNldCBvZiBpbnB1dHMgdGhhdCBhcmUgdmFsaWQgaW4g
R0wgYnV0IGludmFsaWQgaW4gR0xFUzIKLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBlcnJvcgotUEFT
UyBnbC5nZXRFcnJvcigpIGlzIGVycm9yCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZXJyb3IKK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX0VOVU0gOiAgZm9ybWF0OiAw
eDE5MDMgdHlwZTogVU5TSUdORURfQllURQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IElOVkFMSURfRU5VTSA6ICBmb3JtYXQ6IFJHQkEgdHlwZTogQllURQorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogIGZvcm1hdDogUkdCQSB0eXBlOiBVTlNJ
R05FRF9CWVRFCisKIENoZWNraW5nIFRleFBhcmFtZXRlcjogYSBzZXQgb2YgaW5wdXRzIHRoYXQg
YXJlIHZhbGlkIGluIEdMIGJ1dCBpbnZhbGlkIGluIEdMRVMyCi1QQVNTIGdsLmdldEVycm9yKCkg
aXMgZXJyb3IKLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBlcnJvcgotUEFTUyBnbC5nZXRFcnJvcigp
IGlzIGVycm9yCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZXJyb3IKLVBBU1MgZ2wuZ2V0RXJyb3Io
KSBpcyBlcnJvcgotUEFTUyBnbC5nZXRFcnJvcigpIGlzIGVycm9yCi1QQVNTIGdsLmdldEVycm9y
KCkgaXMgZXJyb3IKLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBlcnJvcgorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfRU5VTSA6IHBhcmFtTmFtZTogVEVYVFVSRV9XUkFQ
X1QKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX0VOVU0gOiBwYXJh
bU5hbWU6IFRFWFRVUkVfV1JBUF9UCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9FTlVNIDogcGFyYW1OYW1lOiAweDgxM2EKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBJTlZBTElEX0VOVU0gOiBwYXJhbU5hbWU6IDB4ODEzYQorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfRU5VTSA6IHBhcmFtTmFtZTogVEVYVFVSRV9X
UkFQX1QKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX0VOVU0gOiBw
YXJhbU5hbWU6IFRFWFRVUkVfV1JBUF9UCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBwYXJhbU5hbWU6IFRFWFRVUkVfV1JBUF9UCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBwYXJhbU5hbWU6IFRFWFRVUkVfV1JBUF9UCisK
IENoZWNraW5nIEdldFRleFBhcmFtZXRlcjogYSBzZXQgb2YgaW5wdXRzIHRoYXQgYXJlIHZhbGlk
IGluIEdMIGJ1dCBpbnZhbGlkIGluIEdMRVMyCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZXJyb3IK
LVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBlcnJvcgotUEFTUyBnbC5nZXRFcnJvcigpIGlzIGVycm9y
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9FTlVNIDogcGFyYW1O
YW1lOiBURVhUVVJFX1dSQVBfVAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfRU5VTSA6IHBhcmFtTmFtZTogMHg4MTNhCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBwYXJhbU5hbWU6IFRFWFRVUkVfV1JBUF9UCisKIENoZWNraW5n
IENvcHlUZXhJbWFnZTJEOiBhIHNldCBvZiBpbnB1dHMgdGhhdCBhcmUgdmFsaWQgaW4gR0wgYnV0
IGludmFsaWQgaW4gR0xFUzIKIFBBU1MgZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSBpcyBu
b24tbnVsbC4KIFBBU1MgY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSBpcyBu
b24tbnVsbC4KLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5OT19FUlJPUgotUEFTUyBnbC5nZXRF
cnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiAKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IAogUEFTUyBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBpcyBnbC5G
UkFNRUJVRkZFUl9DT01QTEVURQotUEFTUyBnbC5nZXRFcnJvcigpIGlzIGVycm9yCi1QQVNTIGds
LmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX0VOVU0gOiAgY29sb3JCdWZmZXJGb3JtYXQ6IFJHQjU2NSBpbnRlcm5hbEZv
cm1hdDogMHg4MDU0IHRhcmdldDogVEVYVFVSRV8yRCBib3JkZXI6IDAKK1BBU1MgZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogUEFTUyBnbC5jaGVja0ZyYW1lYnVmZmVy
U3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBpcyBnbC5GUkFNRUJVRkZFUl9DT01QTEVURQotUEFTUyBn
bC5nZXRFcnJvcigpIGlzIGVycm9yCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogIGNvbG9y
QnVmZmVyRm9ybWF0OiBSR0I1NjUgaW50ZXJuYWxGb3JtYXQ6IFJHQkEgdGFyZ2V0OiBURVhUVVJF
XzJEIGJvcmRlcjogMQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogCiBQQVNTIGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIGlzIGds
LkZSQU1FQlVGRkVSX0NPTVBMRVRFCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZXJyb3IKLVBBU1Mg
Z2wuZ2V0RXJyb3IoKSBpcyBnbC5OT19FUlJPUgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogIGNvbG9yQnVmZmVyRm9ybWF0OiBSR0I1NjUgaW50
ZXJuYWxGb3JtYXQ6IFJHQkEgdGFyZ2V0OiBURVhUVVJFXzJEIGJvcmRlcjogMAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBQQVNTIGdsLmNoZWNrRnJhbWVi
dWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIGlzIGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFCi1Q
QVNTIGdsLmdldEVycm9yKCkgaXMgZXJyb3IKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6ICBjb2xvckJ1ZmZlckZvcm1hdDogUkdCNTY1IGludGVybmFsRm9ybWF0
OiBSR0IgdGFyZ2V0OiBURVhUVVJFXzJEIGJvcmRlcjogMAorCiBDaGVja2luZyBDb3B5VGV4U3Vi
SW1hZ2UyRDogYSBzZXQgb2YgaW5wdXRzIHRoYXQgYXJlIHZhbGlkIGluIEdMIGJ1dCBpbnZhbGlk
IGluIEdMRVMyCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKK1BBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogUEFTUyBnbC5jaGVja0ZyYW1lYnVm
ZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBpcyBnbC5GUkFNRUJVRkZFUl9DT01QTEVURQotUEFT
UyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZXJy
b3IKLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5OT19FUlJPUgorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiAgY29sb3JCdWZmZXJGb3JtYXQ6IFJHQjVfQTEgaW50ZXJuYWxGb3Jt
YXQ6IFJHQkEgdGFyZ2V0OiBURVhUVVJFXzJECitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFN
RUJVRkZFUikgaXMgZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUKLVBBU1MgZ2wuZ2V0RXJyb3IoKSBp
cyBlcnJvcgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiAgY29s
b3JCdWZmZXJGb3JtYXQ6IFJHQjU2NSBpbnRlcm5hbEZvcm1hdDogUkdCQSB0YXJnZXQ6IFRFWFRV
UkVfMkQKKworQ2hlY2tpbmcgQ29weVRleHtTdWJ9SW1hZ2UyRDogY29weSBmcm9tIFdlYkdMIGlu
dGVybmFsIGZyYW1lYnVmZmVyCitQQVNTIGdsIGlzIG5vbi1udWxsLgorUEFTUyB0ZXggPSBnbC5j
cmVhdGVUZXh0dXJlKCkgaXMgbm9uLW51bGwuCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiAKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6ICBjb2xvckJ1ZmZlckZvcm1hdDogUkdCQSBpbnRlcm5hbEZvcm1hdDogUkdCQQorUEFT
UyBnbCBpcyBub24tbnVsbC4KK1BBU1MgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpIGlzIG5vbi1u
dWxsLgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiAgY29sb3JC
dWZmZXJGb3JtYXQ6IFJHQiBpbnRlcm5hbEZvcm1hdDogUkdCQQorUEFTUyBnbCBpcyBub24tbnVs
bC4KK1BBU1MgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpIGlzIG5vbi1udWxsLgorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAgY29sb3JCdWZmZXJGb3JtYXQ6IFJHQkEgaW50ZXJu
YWxGb3JtYXQ6IFJHQkEKK1BBU1MgZ2wgaXMgbm9uLW51bGwuCitQQVNTIHRleCA9IGdsLmNyZWF0
ZVRleHR1cmUoKSBpcyBub24tbnVsbC4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
T1BFUkFUSU9OIDogIGNvbG9yQnVmZmVyRm9ybWF0OiBSR0IgaW50ZXJuYWxGb3JtYXQ6IFJHQkEK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWlucHV0LXZhbGlkYXRpb24uaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW5wdXQtdmFs
aWRhdGlvbi5odG1sCShyZXZpc2lvbiA3NDQyOSkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL3RleC1pbnB1dC12YWxpZGF0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsMjUg
KzMsMzcgQEAKIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIAogPHNjcmlwdD4KLQordmFyIHd0dSA9IFdl
YkdMVGVzdFV0aWxzOwogdmFyIGdsID0gbnVsbDsKIHZhciB0ZXggPSBudWxsOwogdmFyIGVycm9y
ID0gMDsKIAorZnVuY3Rpb24gZW51bVRvU3RyaW5nKHZhbHVlKSB7CisgIHJldHVybiB3dHUuZ2xF
bnVtVG9TdHJpbmcoZ2wsIHZhbHVlKTsKK30KKwogZnVuY3Rpb24gdGVzdFRleEltYWdlMkQodGVz
dENhc2UpCiB7CiAgICAgdmFyIGxldmVsID0gMDsKICAgICB2YXIgd2lkdGggPSAxNjsKICAgICB2
YXIgaGVpZ2h0ID0gMTY7Ci0gICAgZ2wudGV4SW1hZ2UyRCh0ZXN0Q2FzZS50YXJnZXQsIGxldmVs
LCB0ZXN0Q2FzZS5pbnRlcm5hbGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgdGVzdENhc2UuYm9yZGVy
LCB0ZXN0Q2FzZS5mb3JtYXQsIHRlc3RDYXNlLnR5cGUsIG51bGwpOworICAgIHZhciBtc2cgPSAi
IiArCisgICAgICAiIGludGVybmFsRm9ybWF0OiAiICsgZW51bVRvU3RyaW5nKHRlc3RDYXNlLmlu
dGVybmFsRm9ybWF0KSArCisgICAgICAiIHRhcmdldDogIiArIGVudW1Ub1N0cmluZyh0ZXN0Q2Fz
ZS50YXJnZXQpICsKKyAgICAgICIgZm9ybWF0OiAiICsgZW51bVRvU3RyaW5nKHRlc3RDYXNlLmZv
cm1hdCkgKworICAgICAgIiB0eXBlOiAiICsgZW51bVRvU3RyaW5nKHRlc3RDYXNlLnR5cGUpICsK
KyAgICAgICIgYm9yZGVyOiAiICsgdGVzdENhc2UuYm9yZGVyOworCisgICAgZ2wudGV4SW1hZ2Uy
RCh0ZXN0Q2FzZS50YXJnZXQsIGxldmVsLCB0ZXN0Q2FzZS5pbnRlcm5hbEZvcm1hdCwgd2lkdGgs
IGhlaWdodCwgdGVzdENhc2UuYm9yZGVyLCB0ZXN0Q2FzZS5mb3JtYXQsIHRlc3RDYXNlLnR5cGUs
IG51bGwpOwogICAgIGVycm9yID0gdGVzdENhc2UuZXhwZWN0ZWRFcnJvcjsKLSAgICBzaG91bGRC
ZSgiZ2wuZ2V0RXJyb3IoKSIsICJlcnJvciIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZXJy
b3IsIG1zZyk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RUZXhTdWJJbWFnZTJEKHRlc3RDYXNlKQpAQCAt
MzEsMjYgKzQzLDMxIEBAIGZ1bmN0aW9uIHRlc3RUZXhTdWJJbWFnZTJEKHRlc3RDYXNlKQogICAg
IHZhciB5b2Zmc2V0ID0gMDsKICAgICB2YXIgd2lkdGggPSAxNjsKICAgICB2YXIgaGVpZ2h0ID0g
MTY7CisgICAgdmFyIG1zZyA9ICIiKworICAgICAgICAiIGZvcm1hdDogIiArIGVudW1Ub1N0cmlu
Zyh0ZXN0Q2FzZS5mb3JtYXQpICsKKyAgICAgICAgIiB0eXBlOiAiICsgZW51bVRvU3RyaW5nKHRl
c3RDYXNlLnR5cGUpOwogICAgIHZhciBhcnJheSA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVp
Z2h0ICogNCk7CiAgICAgZ2wudGV4U3ViSW1hZ2UyRCh0ZXN0Q2FzZS50YXJnZXQsIGxldmVsLCB4
b2Zmc2V0LCB5b2Zmc2V0LCB3aWR0aCwgaGVpZ2h0LCB0ZXN0Q2FzZS5mb3JtYXQsIHRlc3RDYXNl
LnR5cGUsIGFycmF5KTsKICAgICBlcnJvciA9IHRlc3RDYXNlLmV4cGVjdGVkRXJyb3I7Ci0gICAg
c2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZXJyb3IiKTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGVycm9yLCBtc2cpOwogfQogCiBmdW5jdGlvbiB0ZXN0VGV4UGFyYW1ldGVyKHRlc3RDYXNl
KQogeworICAgIHZhciBtc2cgPSAicGFyYW1OYW1lOiAiICsgZW51bVRvU3RyaW5nKHRlc3RDYXNl
LnBuYW1lKTsKICAgICBlcnJvciA9IHRlc3RDYXNlLmV4cGVjdGVkRXJyb3I7CiAgICAgZ2wudGV4
UGFyYW1ldGVyaSh0ZXN0Q2FzZS50YXJnZXQsIHRlc3RDYXNlLnBuYW1lLCB0ZXN0Q2FzZS5wYXJh
bSk7Ci0gICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZXJyb3IiKTsKKyAgICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGVycm9yLCBtc2cpOwogICAgIGdsLnRleFBhcmFtZXRlcmYodGVzdENhc2Uu
dGFyZ2V0LCB0ZXN0Q2FzZS5wbmFtZSwgdGVzdENhc2UucGFyYW0pOwotICAgIHNob3VsZEJlKCJn
bC5nZXRFcnJvcigpIiwgImVycm9yIik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBlcnJvciwg
bXNnKTsKIH0KIAogZnVuY3Rpb24gdGVzdEdldFRleFBhcmFtZXRlcih0ZXN0Q2FzZSkKIHsKKyAg
ICB2YXIgbXNnID0gInBhcmFtTmFtZTogIiArIGVudW1Ub1N0cmluZyh0ZXN0Q2FzZS5wbmFtZSk7
CiAgICAgZXJyb3IgPSB0ZXN0Q2FzZS5leHBlY3RlZEVycm9yOwogICAgIGdsLmdldFRleFBhcmFt
ZXRlcih0ZXN0Q2FzZS50YXJnZXQsIHRlc3RDYXNlLnBuYW1lKTsKLSAgICBzaG91bGRCZSgiZ2wu
Z2V0RXJyb3IoKSIsICJlcnJvciIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZXJyb3IsIG1z
Zyk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RDb3B5VGV4SW1hZ2UyRCh0ZXN0Q2FzZSkKQEAgLTYxLDEz
ICs3OCwxOSBAQCBmdW5jdGlvbiB0ZXN0Q29weVRleEltYWdlMkQodGVzdENhc2UpCiAgICAgdmFy
IHdpZHRoID0gMTY7CiAgICAgdmFyIGhlaWdodCA9IDE2OwogCisgICAgdmFyIG1zZyA9ICIiICsK
KyAgICAgICIgY29sb3JCdWZmZXJGb3JtYXQ6ICIgKyBlbnVtVG9TdHJpbmcodGVzdENhc2UuY29s
b3JCdWZmZXJGb3JtYXQpICsKKyAgICAgICIgaW50ZXJuYWxGb3JtYXQ6ICIgKyBlbnVtVG9TdHJp
bmcodGVzdENhc2UuaW50ZXJuYWxGb3JtYXQpICsKKyAgICAgICIgdGFyZ2V0OiAiICsgZW51bVRv
U3RyaW5nKHRlc3RDYXNlLnRhcmdldCkgKworICAgICAgIiBib3JkZXI6ICIgKyB0ZXN0Q2FzZS5i
b3JkZXI7CisKICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgdGVz
dENhc2UuY29sb3JCdWZmZXJGb3JtYXQsIHdpZHRoLCBoZWlnaHQpOwotICAgIHNob3VsZEJlKCJn
bC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUik7CiAgICAgc2hvdWxkQmUoImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wu
RlJBTUVCVUZGRVIpIiwgImdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFIik7CiAKLSAgICBnbC5jb3B5
VGV4SW1hZ2UyRCh0ZXN0Q2FzZS50YXJnZXQsIGxldmVsLCB0ZXN0Q2FzZS5pbnRlcm5hbGZvcm1h
dCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgdGVzdENhc2UuYm9yZGVyKTsKKyAgICBnbC5jb3B5VGV4
SW1hZ2UyRCh0ZXN0Q2FzZS50YXJnZXQsIGxldmVsLCB0ZXN0Q2FzZS5pbnRlcm5hbEZvcm1hdCwg
eCwgeSwgd2lkdGgsIGhlaWdodCwgdGVzdENhc2UuYm9yZGVyKTsKICAgICBlcnJvciA9IHRlc3RD
YXNlLmV4cGVjdGVkRXJyb3I7Ci0gICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZXJyb3Ii
KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGVycm9yLCBtc2cpOwogfQogCiBmdW5jdGlvbiB0
ZXN0Q29weVRleFN1YkltYWdlMkQodGVzdENhc2UpCkBAIC04MCwxOSArMTAzLDU3IEBAIGZ1bmN0
aW9uIHRlc3RDb3B5VGV4U3ViSW1hZ2UyRCh0ZXN0Q2FzZSkKICAgICB2YXIgeG9mZnNldCA9IDA7
CiAgICAgdmFyIHlvZmZzZXQgPSAwOwogICAgIHZhciBib3JkZXIgPSAwOworICAgIHZhciB0eXBl
ID0gZ2wuVU5TSUdORURfQllURTsKKyAgICB2YXIgbXNnID0gIiIgKworICAgICAgIiBjb2xvckJ1
ZmZlckZvcm1hdDogIiArIGVudW1Ub1N0cmluZyh0ZXN0Q2FzZS5jb2xvckJ1ZmZlckZvcm1hdCkg
KworICAgICAgIiBpbnRlcm5hbEZvcm1hdDogIiArIGVudW1Ub1N0cmluZyh0ZXN0Q2FzZS5pbnRl
cm5hbEZvcm1hdCkgKworICAgICAgIiB0YXJnZXQ6ICIgKyBlbnVtVG9TdHJpbmcodGVzdENhc2Uu
dGFyZ2V0KTsKIAogICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCB0
ZXN0Q2FzZS5jb2xvckJ1ZmZlckZvcm1hdCwgd2lkdGgsIGhlaWdodCk7Ci0gICAgc2hvdWxkQmUo
ImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SKTsKICAgICBzaG91bGRCZSgiZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhn
bC5GUkFNRUJVRkZFUikiLCAiZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUiKTsKIAotICAgIGlmICh0
ZXN0Q2FzZS5pbml0VGV4KSB7Ci0gICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKHRlc3RDYXNlLnRh
cmdldCwgbGV2ZWwsIHRlc3RDYXNlLmludGVybmFsZm9ybWF0LCB4LCB5LCB3aWR0aCwgaGVpZ2h0
LCBib3JkZXIpOwotICAgICAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJP
UiIpOwotICAgIH0KKyAgICBnbC50ZXhJbWFnZTJEKHRlc3RDYXNlLnRhcmdldCwgbGV2ZWwsIHRl
c3RDYXNlLmludGVybmFsRm9ybWF0LCB4b2Zmc2V0ICsgd2lkdGgsIHlvZmZzZXQgKyBoZWlnaHQs
IGJvcmRlciwgdGVzdENhc2UuaW50ZXJuYWxGb3JtYXQsIHR5cGUsIG51bGwpOworICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwogCiAgICAgZ2wuY29weVRleFN1YkltYWdlMkQo
dGVzdENhc2UudGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgeCwgeSwgd2lkdGgsIGhl
aWdodCk7CiAgICAgZXJyb3IgPSB0ZXN0Q2FzZS5leHBlY3RlZEVycm9yOwotICAgIHNob3VsZEJl
KCJnbC5nZXRFcnJvcigpIiwgImVycm9yIik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBlcnJv
ciwgbXNnKTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlGcm9tSW50ZXJuYWxGQk8odGVzdENhc2Up
Cit7CisgICAgdmFyIHRhcmdldCA9IGdsLlRFWFRVUkVfMkQ7CisgICAgdmFyIGxldmVsID0gMDsK
KyAgICB2YXIgeCA9IDA7CisgICAgdmFyIHkgPSAwOworICAgIHZhciB3aWR0aCA9IDE2OworICAg
IHZhciBoZWlnaHQgPSAxNjsKKyAgICB2YXIgeG9mZnNldCA9IDA7CisgICAgdmFyIHlvZmZzZXQg
PSAwOworICAgIHZhciBib3JkZXIgPSAwOworICAgIHZhciB0eXBlID0gZ2wuVU5TSUdORURfQllU
RTsKKyAgICB2YXIgbXNnID0gIiIgKworICAgICAgIiBjb2xvckJ1ZmZlckZvcm1hdDogIiArIGVu
dW1Ub1N0cmluZyh0ZXN0Q2FzZS5jb250ZXh0QWxwaGEgPyBnbC5SR0JBIDogZ2wuUkdCKSArCisg
ICAgICAiIGludGVybmFsRm9ybWF0OiAiICsgZW51bVRvU3RyaW5nKHRlc3RDYXNlLmludGVybmFs
Rm9ybWF0KTsKKworICAgIGlmICh0ZXN0Q2FzZS5jb250ZXh0QWxwaGEpCisgICAgICAgIGdsID0g
Y3JlYXRlM0RDb250ZXh0KG51bGwsIHsgYWxwaGE6IHRydWUgfSk7CisgICAgZWxzZQorICAgICAg
ICBnbCA9IGNyZWF0ZTNEQ29udGV4dChudWxsLCB7IGFscGhhOiBmYWxzZSB9KTsKKyAgICBzaG91
bGRCZU5vbk51bGwoImdsIik7CisgICAgc2hvdWxkQmVOb25OdWxsKCJ0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCkiKTsKKyAgICBnbC5iaW5kVGV4dHVyZSh0YXJnZXQsIHRleCk7CisgICAgaWYgKHRl
c3RDYXNlLnN1YkltYWdlKSB7CisgICAgICAgIGdsLnRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwg
dGVzdENhc2UuaW50ZXJuYWxGb3JtYXQsIHhvZmZzZXQgKyB3aWR0aCwgeW9mZnNldCArIGhlaWdo
dCwgYm9yZGVyLCB0ZXN0Q2FzZS5pbnRlcm5hbEZvcm1hdCwgdHlwZSwgbnVsbCk7CisgICAgICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICBnbC5jb3B5VGV4U3Vi
SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB4LCB5LCB3aWR0aCwgaGVp
Z2h0KTsKKyAgICB9IGVsc2UgeworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SKTsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdENhc2Uu
aW50ZXJuYWxGb3JtYXQsIHgsIHksIHdpZHRoLCBoZWlnaHQsIGJvcmRlcik7CisgICAgfQorICAg
IGVycm9yID0gdGVzdENhc2UuZXhwZWN0ZWRFcnJvcjsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGVycm9yLCBtc2cpOwogfQogCiBkZXNjcmlwdGlvbigiVmFsaWRhdGUgdGV4IGZ1bmN0aW9ucyBp
bnB1dCBwYXJhbWV0ZXJzIik7CkBAIC0xMDAsNDMgKzE2MSw0NCBAQCBkZXNjcmlwdGlvbigiVmFs
aWRhdGUgdGV4IGZ1bmN0aW9ucyBpbnB1CiBzaG91bGRCZU5vbk51bGwoImdsID0gY3JlYXRlM0RD
b250ZXh0KCkiKTsKIHNob3VsZEJlTm9uTnVsbCgidGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpIik7
CiBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOwotc2hvdWxkQmUoImdsLmdldEVy
cm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OwogCitkZWJ1ZygiIik7CiBkZWJ1ZygiQ2hlY2tpbmcgVGV4SW1hZ2UyRDogYSBzZXQgb2YgaW5w
dXRzIHRoYXQgYXJlIHZhbGlkIGluIEdMIGJ1dCBpbnZhbGlkIGluIEdMRVMyIik7CiAKIHZhciB0
ZXN0Q2FzZXMgPQogICBbIHt0YXJnZXQ6IDB4ODA2NCwgLy8gR0xfUFJPWFlfVEVYVFVSRV8yRAot
ICAgICBpbnRlcm5hbGZvcm1hdDogZ2wuUkdCQSwKKyAgICAgaW50ZXJuYWxGb3JtYXQ6IGdsLlJH
QkEsCiAgICAgIGJvcmRlcjogMCwKICAgICAgZm9ybWF0OiBnbC5SR0JBLAogICAgICB0eXBlOiBn
bC5VTlNJR05FRF9CWVRFLAogICAgICBleHBlY3RlZEVycm9yOiBnbC5JTlZBTElEX0VOVU19LAog
ICAgIHt0YXJnZXQ6IGdsLlRFWFRVUkVfMkQsCi0gICAgIGludGVybmFsZm9ybWF0OiAweDE5MDMs
IC8vIEdMX1JFRAorICAgICBpbnRlcm5hbEZvcm1hdDogMHgxOTAzLCAvLyBHTF9SRUQKICAgICAg
Ym9yZGVyOiAwLAogICAgICBmb3JtYXQ6IDB4MTkwMywgLy8gR0xfUkVECiAgICAgIHR5cGU6IGds
LlVOU0lHTkVEX0JZVEUsCiAgICAgIGV4cGVjdGVkRXJyb3I6IGdsLklOVkFMSURfRU5VTX0sCiAg
ICAge3RhcmdldDogZ2wuVEVYVFVSRV8yRCwKLSAgICAgaW50ZXJuYWxmb3JtYXQ6IGdsLlJHQkEs
CisgICAgIGludGVybmFsRm9ybWF0OiBnbC5SR0JBLAogICAgICBib3JkZXI6IDEsCiAgICAgIGZv
cm1hdDogZ2wuUkdCQSwKICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwKICAgICAgZXhwZWN0
ZWRFcnJvcjogZ2wuSU5WQUxJRF9WQUxVRX0sCiAgICAge3RhcmdldDogZ2wuVEVYVFVSRV8yRCwK
LSAgICAgaW50ZXJuYWxmb3JtYXQ6IGdsLlJHQkEsCisgICAgIGludGVybmFsRm9ybWF0OiBnbC5S
R0JBLAogICAgICBib3JkZXI6IDAsCiAgICAgIGZvcm1hdDogZ2wuUkdCLAogICAgICB0eXBlOiBn
bC5VTlNJR05FRF9CWVRFLAogICAgICBleHBlY3RlZEVycm9yOiBnbC5JTlZBTElEX09QRVJBVElP
Tn0sCiAgICAge3RhcmdldDogZ2wuVEVYVFVSRV8yRCwKLSAgICAgaW50ZXJuYWxmb3JtYXQ6IGds
LlJHQkEsCisgICAgIGludGVybmFsRm9ybWF0OiBnbC5SR0JBLAogICAgICBib3JkZXI6IDAsCiAg
ICAgIGZvcm1hdDogZ2wuUkdCQSwKICAgICAgdHlwZTogZ2wuQllURSwKICAgICAgZXhwZWN0ZWRF
cnJvcjogZ2wuSU5WQUxJRF9FTlVNfSwKICAgICB7dGFyZ2V0OiBnbC5URVhUVVJFXzJELAotICAg
ICBpbnRlcm5hbGZvcm1hdDogZ2wuUkdCQSwKKyAgICAgaW50ZXJuYWxGb3JtYXQ6IGdsLlJHQkEs
CiAgICAgIGJvcmRlcjogMCwKICAgICAgZm9ybWF0OiBnbC5SR0JBLAogICAgICB0eXBlOiBnbC5V
TlNJR05FRF9CWVRFLApAQCAtMTQ1LDYgKzIwNyw3IEBAIHZhciB0ZXN0Q2FzZXMgPQogZm9yICh2
YXIgaWkgPSAwOyBpaSA8IHRlc3RDYXNlcy5sZW5ndGg7ICsraWkpCiAgICAgdGVzdFRleEltYWdl
MkQodGVzdENhc2VzW2lpXSk7CiAKK2RlYnVnKCIiKTsKIGRlYnVnKCJDaGVja2luZyBUZXhTdWJJ
bWFnZTJEOiBhIHNldCBvZiBpbnB1dHMgdGhhdCBhcmUgdmFsaWQgaW4gR0wgYnV0IGludmFsaWQg
aW4gR0xFUzIiKTsKIAogdGVzdENhc2VzID0KQEAgLTE2NCw2ICsyMjcsNyBAQCB0ZXN0Q2FzZXMg
PQogZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3RDYXNlcy5sZW5ndGg7ICsraWkpCiAgICAgdGVz
dFRleFN1YkltYWdlMkQodGVzdENhc2VzW2lpXSk7CiAKK2RlYnVnKCIiKTsKIGRlYnVnKCJDaGVj
a2luZyBUZXhQYXJhbWV0ZXI6IGEgc2V0IG9mIGlucHV0cyB0aGF0IGFyZSB2YWxpZCBpbiBHTCBi
dXQgaW52YWxpZCBpbiBHTEVTMiIpOwogCiB0ZXN0Q2FzZXMgPQpAQCAtMTg3LDYgKzI1MSw3IEBA
IHRlc3RDYXNlcyA9CiBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdENhc2VzLmxlbmd0aDsgKytp
aSkKICAgICB0ZXN0VGV4UGFyYW1ldGVyKHRlc3RDYXNlc1tpaV0pOwogCitkZWJ1ZygiIik7CiBk
ZWJ1ZygiQ2hlY2tpbmcgR2V0VGV4UGFyYW1ldGVyOiBhIHNldCBvZiBpbnB1dHMgdGhhdCBhcmUg
dmFsaWQgaW4gR0wgYnV0IGludmFsaWQgaW4gR0xFUzIiKTsKIAogdGVzdENhc2VzID0KQEAgLTIw
Myw2ICsyNjgsNyBAQCB0ZXN0Q2FzZXMgPQogZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3RDYXNl
cy5sZW5ndGg7ICsraWkpCiAgICAgdGVzdEdldFRleFBhcmFtZXRlcih0ZXN0Q2FzZXNbaWldKTsK
IAorZGVidWcoIiIpOwogZGVidWcoIkNoZWNraW5nIENvcHlUZXhJbWFnZTJEOiBhIHNldCBvZiBp
bnB1dHMgdGhhdCBhcmUgdmFsaWQgaW4gR0wgYnV0IGludmFsaWQgaW4gR0xFUzIiKTsKIAogdmFy
IGNvbG9yQnVmZmVyID0gbnVsbDsKQEAgLTIxMyw1MCArMjc5LDczIEBAIGdsLmJpbmRGcmFtZWJ1
ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIg
PSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOwogZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5E
RVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZS
QU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1
ZmZlcik7Ci1zaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CiAKIHRlc3RDYXNlcyA9CiAgIFsge3RhcmdldDog
Z2wuVEVYVFVSRV8yRCwKICAgICAgY29sb3JCdWZmZXJGb3JtYXQ6IGdsLlJHQjU2NSwKLSAgICAg
aW50ZXJuYWxmb3JtYXQ6IDB4ODA1NCwgLy8gR0xfUkdCMTYKKyAgICAgaW50ZXJuYWxGb3JtYXQ6
IDB4ODA1NCwgLy8gR0xfUkdCMTYKICAgICAgYm9yZGVyOiAwLAogICAgICBleHBlY3RlZEVycm9y
OiBnbC5JTlZBTElEX0VOVU19LAogICAgIHt0YXJnZXQ6IGdsLlRFWFRVUkVfMkQsCiAgICAgIGNv
bG9yQnVmZmVyRm9ybWF0OiBnbC5SR0I1NjUsCi0gICAgIGludGVybmFsZm9ybWF0OiBnbC5SR0JB
LAorICAgICBpbnRlcm5hbEZvcm1hdDogZ2wuUkdCQSwKICAgICAgYm9yZGVyOiAxLAogICAgICBl
eHBlY3RlZEVycm9yOiBnbC5JTlZBTElEX1ZBTFVFfSwKICAgICB7dGFyZ2V0OiBnbC5URVhUVVJF
XzJELAogICAgICBjb2xvckJ1ZmZlckZvcm1hdDogZ2wuUkdCNTY1LAotICAgICBpbnRlcm5hbGZv
cm1hdDogZ2wuUkdCQSwKKyAgICAgaW50ZXJuYWxGb3JtYXQ6IGdsLlJHQkEsCiAgICAgIGJvcmRl
cjogMCwKICAgICAgZXhwZWN0ZWRFcnJvcjogZ2wuSU5WQUxJRF9PUEVSQVRJT059LAogICAgIHt0
YXJnZXQ6IGdsLlRFWFRVUkVfMkQsCiAgICAgIGNvbG9yQnVmZmVyRm9ybWF0OiBnbC5SR0I1NjUs
Ci0gICAgIGludGVybmFsZm9ybWF0OiBnbC5SR0IsCisgICAgIGludGVybmFsRm9ybWF0OiBnbC5S
R0IsCiAgICAgIGJvcmRlcjogMCwKICAgICAgZXhwZWN0ZWRFcnJvcjogZ2wuTk9fRVJST1J9IF07
CiAKIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0Q2FzZXMubGVuZ3RoOyArK2lpKQogICAgIHRl
c3RDb3B5VGV4SW1hZ2UyRCh0ZXN0Q2FzZXNbaWldKTsKIAorZGVidWcoIiIpOwogZGVidWcoIkNo
ZWNraW5nIENvcHlUZXhTdWJJbWFnZTJEOiBhIHNldCBvZiBpbnB1dHMgdGhhdCBhcmUgdmFsaWQg
aW4gR0wgYnV0IGludmFsaWQgaW4gR0xFUzIiKTsKIAogdGVzdENhc2VzID0KICAgWyB7dGFyZ2V0
OiBnbC5URVhUVVJFXzJELAogICAgICBjb2xvckJ1ZmZlckZvcm1hdDogZ2wuUkdCNV9BMSwKLSAg
ICAgaW50ZXJuYWxmb3JtYXQ6IGdsLlJHQkEsCi0gICAgIGluaXRUZXg6IHRydWUsCisgICAgIGlu
dGVybmFsRm9ybWF0OiBnbC5SR0JBLAogICAgICBleHBlY3RlZEVycm9yOiBnbC5OT19FUlJPUn0s
CiAgICAge3RhcmdldDogZ2wuVEVYVFVSRV8yRCwKICAgICAgY29sb3JCdWZmZXJGb3JtYXQ6IGds
LlJHQjU2NSwKLSAgICAgaW50ZXJuYWxmb3JtYXQ6IGdsLlJHQkEsCi0gICAgIGluaXRUZXg6IGZh
bHNlLAorICAgICBpbnRlcm5hbEZvcm1hdDogZ2wuUkdCQSwKICAgICAgZXhwZWN0ZWRFcnJvcjog
Z2wuSU5WQUxJRF9PUEVSQVRJT059IF07CiAKIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0Q2Fz
ZXMubGVuZ3RoOyArK2lpKQogICAgIHRlc3RDb3B5VGV4U3ViSW1hZ2UyRCh0ZXN0Q2FzZXNbaWld
KTsKIAorZGVidWcoIiIpOworZGVidWcoIkNoZWNraW5nIENvcHlUZXh7U3VifUltYWdlMkQ6IGNv
cHkgZnJvbSBXZWJHTCBpbnRlcm5hbCBmcmFtZWJ1ZmZlciIpOworCit0ZXN0Q2FzZXMgPQorICBb
IHtjb250ZXh0QWxwaGE6IHRydWUsCisgICAgIGludGVybmFsRm9ybWF0OiBnbC5SR0JBLAorICAg
ICBzdWJJbWFnZTogZmFsc2UsCisgICAgIGV4cGVjdGVkRXJyb3I6IGdsLk5PX0VSUk9SfSwKKyAg
ICB7Y29udGV4dEFscGhhOiBmYWxzZSwKKyAgICAgaW50ZXJuYWxGb3JtYXQ6IGdsLlJHQkEsCisg
ICAgIHN1YkltYWdlOiBmYWxzZSwKKyAgICAgZXhwZWN0ZWRFcnJvcjogZ2wuSU5WQUxJRF9PUEVS
QVRJT059LAorICAgIHtjb250ZXh0QWxwaGE6IHRydWUsCisgICAgIGludGVybmFsRm9ybWF0OiBn
bC5SR0JBLAorICAgICBzdWJJbWFnZTogdHJ1ZSwKKyAgICAgZXhwZWN0ZWRFcnJvcjogZ2wuTk9f
RVJST1J9LAorICAgIHtjb250ZXh0QWxwaGE6IGZhbHNlLAorICAgICBpbnRlcm5hbEZvcm1hdDog
Z2wuUkdCQSwKKyAgICAgc3ViSW1hZ2U6IHRydWUsCisgICAgIGV4cGVjdGVkRXJyb3I6IGdsLklO
VkFMSURfT1BFUkFUSU9OfSBdOworCitmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdENhc2VzLmxl
bmd0aDsgKytpaSkKKyAgICB0ZXN0Q29weUZyb21JbnRlcm5hbEZCTyh0ZXN0Q2FzZXNbaWldKTsK
Kwogc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIDwvc2NyaXB0PgogCg==
</data>
<flag name="review"
          id="68299"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>