<?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>149163</bug_id>
          
          <creation_ts>2015-09-15 08:54:58 -0700</creation_ts>
          <short_desc>Switch AppleWin build to use CMake</short_desc>
          <delta_ts>2015-09-17 14:27:22 -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>WebKit 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>
          <dependson>149235</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125971</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-15 08:54:58 -0700</bug_when>
    <thetext>Switch AppleWin build to use CMake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126007</commentid>
    <comment_count>1</comment_count>
      <attachid>261202</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-15 10:19:27 -0700</bug_when>
    <thetext>Created attachment 261202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126010</commentid>
    <comment_count>2</comment_count>
      <attachid>261202</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-15 10:21:48 -0700</bug_when>
    <thetext>Comment on attachment 261202
Patch

Very nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126091</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-15 12:34:51 -0700</bug_when>
    <thetext>Landing this will break API tests because there are TestWTF, TestWebCore, and TestWebKit.  What should we do about this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126112</commentid>
    <comment_count>4</comment_count>
      <attachid>261229</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-15 13:52:10 -0700</bug_when>
    <thetext>Created attachment 261229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126121</commentid>
    <comment_count>5</comment_count>
      <attachid>261229</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-15 14:15:08 -0700</bug_when>
    <thetext>Comment on attachment 261229
Patch

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126817</commentid>
    <comment_count>6</comment_count>
      <attachid>261416</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-17 13:37:06 -0700</bug_when>
    <thetext>Created attachment 261416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126818</commentid>
    <comment_count>7</comment_count>
      <attachid>261416</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-17 13:38:56 -0700</bug_when>
    <thetext>Comment on attachment 261416
Patch

Latest patch has a few cygwin fixes that were not committed before.  Let&apos;s try this again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126845</commentid>
    <comment_count>8</comment_count>
      <attachid>261416</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-17 14:27:19 -0700</bug_when>
    <thetext>Comment on attachment 261416
Patch

Clearing flags on attachment: 261416

Committed r189934: &lt;http://trac.webkit.org/changeset/189934&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126846</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-17 14:27:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261202</attachid>
            <date>2015-09-15 10:19:27 -0700</date>
            <delta_ts>2015-09-15 13:52:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149163-20150915101919.patch</filename>
            <type>text/plain</type>
            <size>2194</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4OTgwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDE1LTA5LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgU3dpdGNoIEFwcGxlV2luIGJ1aWxkIHRvIHVzZSBDTWFrZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTYzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L2J1aWxkLXdlYmtpdDoKKwogMjAxNS0wOS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgZGVjbGFyYXRpdmUgbGFu
Z3VhZ2Ugc2V0dGluZyBpcyBicm9rZW4gZm9yIGlPUwpJbmRleDogVG9vbHMvU2NyaXB0cy9idWls
ZC13ZWJraXQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQJKHJldmlz
aW9uIDE4OTc2MCkKKysrIFRvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CSh3b3JraW5nIGNvcHkp
CkBAIC0yNTYsMTkgKzI1NiwxNCBAQCBmb3IgbXkgJGRpciAoQHByb2plY3RzKSB7CiAgICAgICAg
ICRyZXN1bHQgPSBidWlsZFhDb2RlUHJvamVjdCgkcHJvamVjdFBhdGgsICRjbGVhbiwgQGxvY2Fs
X29wdGlvbnMsIEBBUkdWKTsKICAgICB9IGVsc2lmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNX
aW5DYWlybygpKSB7CiAgICAgICAgIGNoZGlyV2ViS2l0KCk7Ci0gICAgICAgIGlmIChpc1dpbkNh
aXJvKCkpIHsKLSAgICAgICAgICAgIGlmIChleGl0U3RhdHVzKGdlbmVyYXRlQnVpbGRTeXN0ZW1G
cm9tQ01ha2VQcm9qZWN0KCJXaW5DYWlybyIpKSkgewotICAgICAgICAgICAgICAgIGRpZSAiUnVu
IFwiQzovUHJvZ3JhbSBGaWxlcyAoeDg2KS9NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxMi4wL1ZD
L3ZjdmFyc2FsbC5iYXRcIiBiZWZvcmUgYnVpbGQtd2Via2l0IHdoZW4gdXNpbmcgbmluamEiOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGNhblVzZU5pbmphKCkpIHsKLSAgICAgICAg
ICAgICAgICBjaGRpciAiV2ViS2l0QnVpbGQvIiAuIGNvbmZpZ3VyYXRpb24oKTsKLSAgICAgICAg
ICAgICAgICAkcmVzdWx0ID0gc3lzdGVtKCJuaW5qYSIpOwotICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAkcmVzdWx0ID0gYnVpbGRWaXN1YWxTdHVkaW9Qcm9qZWN0KCJXZWJL
aXRCdWlsZC8iIC4gY29uZmlndXJhdGlvbigpIC4gIi9XZWJLaXQuc2xuIiwgJGNsZWFuKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgaWYgKGV4aXRTdGF0dXMoZ2VuZXJhdGVCdWlsZFN5c3RlbUZy
b21DTWFrZVByb2plY3QoIldpbkNhaXJvIikpKSB7CisgICAgICAgICAgICBkaWUgIlJ1biBcIkM6
L1Byb2dyYW0gRmlsZXMgKHg4NikvTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTIuMC9WQy92Y3Zh
cnNhbGwuYmF0XCIgYmVmb3JlIGJ1aWxkLXdlYmtpdCB3aGVuIHVzaW5nIG5pbmphIjsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoY2FuVXNlTmluamEoKSkgeworICAgICAgICAgICAgY2hkaXIgIldl
YktpdEJ1aWxkLyIgLiBjb25maWd1cmF0aW9uKCk7CisgICAgICAgICAgICAkcmVzdWx0ID0gc3lz
dGVtKCJuaW5qYSIpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbXkgJHdlYmtpdFNv
bHV0aW9uUGF0aCA9ICJTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC5zbG4iOwot
ICAgICAgICAgICAgJHJlc3VsdCA9IGJ1aWxkVmlzdWFsU3R1ZGlvUHJvamVjdCgkd2Via2l0U29s
dXRpb25QYXRoLCAkY2xlYW4pOworICAgICAgICAgICAgJHJlc3VsdCA9IGJ1aWxkVmlzdWFsU3R1
ZGlvUHJvamVjdCgiV2ViS2l0QnVpbGQvIiAuIGNvbmZpZ3VyYXRpb24oKSAuICIvV2ViS2l0LnNs
biIsICRjbGVhbik7CiAgICAgICAgIH0KICAgICB9CiAgICAgIyBWYXJpb3VzIGJ1aWxkKiBjYWxs
cyBhYm92ZSBtYXkgY2hhbmdlIHRoZSBDV0QuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261229</attachid>
            <date>2015-09-15 13:52:10 -0700</date>
            <delta_ts>2015-09-17 13:37:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149163-20150915135202.patch</filename>
            <type>text/plain</type>
            <size>10354</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4OTgyMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE1LTA5LTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgU3dpdGNoIEFwcGxlV2luIGJ1aWxkIHRvIHVzZSBDTWFrZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTYzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L2J1aWxkLXdlYmtpdDoKKyAgICAgICAgQnVpbGQgd2l0aCBDTWFrZS4KKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1hcGktdGVzdHM6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKGxpc3RBbGxU
ZXN0cyk6CisgICAgICAgIChwcmVwYXJlRW52aXJvbm1lbnRGb3JSdW5uaW5nVGVzdFRvb2wpOgor
ICAgICAgICAodGVzdFRvb2xQYXRocyk6CisgICAgICAgICh0ZXN0VG9vbFBhdGgpOiBEZWxldGVk
LgorICAgICAgICBSdW4gdGhlIEFQSSB0ZXN0cyBhcyBzZXBhcmF0ZSBleGVjdXRhYmxlcyBvbiBX
aW5kb3dzLgorICAgICAgICBJdCB1c2VkIHRvIGJlIFRlc3RXZWJLaXRBUEkuZXhlLCBhbmQgaXQg
aXMgbm93IFRlc3RXVEYuZXhlLCBUZXN0V2ViQ29yZS5leGUsIGFuZCBUZXN0V2ViS2l0LmV4ZS4K
KwogMjAxNS0wOS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgZGVjbGFyYXRpdmUgbGFuZ3VhZ2Ugc2V0dGluZyBp
cyBicm9rZW4gZm9yIGlPUwpJbmRleDogVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQJKHJldmlzaW9uIDE4OTc2MCkKKysr
IFRvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CSh3b3JraW5nIGNvcHkpCkBAIC0yNTYsMTkgKzI1
NiwxNCBAQCBmb3IgbXkgJGRpciAoQHByb2plY3RzKSB7CiAgICAgICAgICRyZXN1bHQgPSBidWls
ZFhDb2RlUHJvamVjdCgkcHJvamVjdFBhdGgsICRjbGVhbiwgQGxvY2FsX29wdGlvbnMsIEBBUkdW
KTsKICAgICB9IGVsc2lmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNXaW5DYWlybygpKSB7CiAg
ICAgICAgIGNoZGlyV2ViS2l0KCk7Ci0gICAgICAgIGlmIChpc1dpbkNhaXJvKCkpIHsKLSAgICAg
ICAgICAgIGlmIChleGl0U3RhdHVzKGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9tQ01ha2VQcm9qZWN0
KCJXaW5DYWlybyIpKSkgewotICAgICAgICAgICAgICAgIGRpZSAiUnVuIFwiQzovUHJvZ3JhbSBG
aWxlcyAoeDg2KS9NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxMi4wL1ZDL3ZjdmFyc2FsbC5iYXRc
IiBiZWZvcmUgYnVpbGQtd2Via2l0IHdoZW4gdXNpbmcgbmluamEiOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaWYgKGNhblVzZU5pbmphKCkpIHsKLSAgICAgICAgICAgICAgICBjaGRpciAi
V2ViS2l0QnVpbGQvIiAuIGNvbmZpZ3VyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAkcmVzdWx0
ID0gc3lzdGVtKCJuaW5qYSIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAkcmVzdWx0ID0gYnVpbGRWaXN1YWxTdHVkaW9Qcm9qZWN0KCJXZWJLaXRCdWlsZC8iIC4gY29u
ZmlndXJhdGlvbigpIC4gIi9XZWJLaXQuc2xuIiwgJGNsZWFuKTsKLSAgICAgICAgICAgIH0KKyAg
ICAgICAgaWYgKGV4aXRTdGF0dXMoZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3Qo
IldpbkNhaXJvIikpKSB7CisgICAgICAgICAgICBkaWUgIlJ1biBcIkM6L1Byb2dyYW0gRmlsZXMg
KHg4NikvTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTIuMC9WQy92Y3ZhcnNhbGwuYmF0XCIgYmVm
b3JlIGJ1aWxkLXdlYmtpdCB3aGVuIHVzaW5nIG5pbmphIjsKKyAgICAgICAgfQorICAgICAgICBp
ZiAoY2FuVXNlTmluamEoKSkgeworICAgICAgICAgICAgY2hkaXIgIldlYktpdEJ1aWxkLyIgLiBj
b25maWd1cmF0aW9uKCk7CisgICAgICAgICAgICAkcmVzdWx0ID0gc3lzdGVtKCJuaW5qYSIpOwog
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbXkgJHdlYmtpdFNvbHV0aW9uUGF0aCA9ICJT
b3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC5zbG4iOwotICAgICAgICAgICAgJHJl
c3VsdCA9IGJ1aWxkVmlzdWFsU3R1ZGlvUHJvamVjdCgkd2Via2l0U29sdXRpb25QYXRoLCAkY2xl
YW4pOworICAgICAgICAgICAgJHJlc3VsdCA9IGJ1aWxkVmlzdWFsU3R1ZGlvUHJvamVjdCgiV2Vi
S2l0QnVpbGQvIiAuIGNvbmZpZ3VyYXRpb24oKSAuICIvV2ViS2l0LnNsbiIsICRjbGVhbik7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgIyBWYXJpb3VzIGJ1aWxkKiBjYWxscyBhYm92ZSBtYXkgY2hh
bmdlIHRoZSBDV0QuCkluZGV4OiBUb29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCShyZXZpc2lvbiAxODk3NjApCisrKyBU
b29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcg
QEAgc3ViIGxpc3RBbGxUZXN0cygpOwogc3ViIHJ1blRlc3QoJCQpOwogc3ViIHJ1blRlc3RzQnlT
dWl0ZShcQCk7CiBzdWIgcHJlcGFyZUVudmlyb25tZW50Rm9yUnVubmluZ1Rlc3RUb29sKCk7Ci1z
dWIgdGVzdFRvb2xQYXRoKCk7CitzdWIgdGVzdFRvb2xQYXRocygpOwogCiAjIERlZmluZWQgaW4g
VkNTVXRpbHMuCiBzdWIgcG9zc2libHlDb2xvcmVkKCQkKTsKQEAgLTE5MCw1MCArMTkwLDUzIEBA
IHN1YiBydW5UZXN0KCQkKQogICAgICAgICAkY2hpbGRFcnIgPSAiPiZERVZOVUxMIjsKICAgICB9
CiAKKyAgICBmb3JlYWNoKHRlc3RUb29sUGF0aHMoKSkgeworICAgICAgICBteSAkcGlkOworICAg
ICAgICBteSBAY29tbW9uQXJndW1lbnRzID0gKCRfLCAkZ3Rlc3RBcmcsIEBBUkdWKTsKKyAgICAg
ICAgaWYgKGlzSU9TV2ViS2l0KCkpIHsKKyAgICAgICAgICAgICRwaWQgPSBvcGVuMygkY2hpbGRJ
biwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsIHF3KHhjcnVuIC1zZGsgaXBob25lc2ltdWxhdG9yIHNp
bSAtLWVudmlyb25tZW50PW1lcmdlKSwgQGNvbW1vbkFyZ3VtZW50cykgb3IgZGllICJGYWlsZWQg
dG8gcnVuIHRlc3Q6ICR0ZXN0LiI7CisgICAgICAgIH0gZWxzaWYgKGlzQXBwbGVNYWNXZWJLaXQo
KSAmJiBhcmNoaXRlY3R1cmUoKSkgeworICAgICAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZElu
LCAkY2hpbGRPdXQsICRjaGlsZEVyciwgImFyY2giLCAiLSIgLiBhcmNoaXRlY3R1cmUoKSwgQGNv
bW1vbkFyZ3VtZW50cykgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3Q6ICR0ZXN0LiI7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91
dCwgJGNoaWxkRXJyLCBAY29tbW9uQXJndW1lbnRzKSBvciBkaWUgIkZhaWxlZCB0byBydW4gdGVz
dDogJHRlc3QuIjsKKyAgICAgICAgfQogCi0gICAgbXkgJHBpZDsKLSAgICBteSBAY29tbW9uQXJn
dW1lbnRzID0gKHRlc3RUb29sUGF0aCgpLCAkZ3Rlc3RBcmcsIEBBUkdWKTsKLSAgICBpZiAoaXNJ
T1NXZWJLaXQoKSkgewotICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwg
JGNoaWxkRXJyLCBxdyh4Y3J1biAtc2RrIGlwaG9uZXNpbXVsYXRvciBzaW0gLS1lbnZpcm9ubWVu
dD1tZXJnZSksIEBjb21tb25Bcmd1bWVudHMpIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biB0ZXN0OiAk
dGVzdC4iOwotICAgIH0gZWxzaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSAmJiBhcmNoaXRlY3R1cmUo
KSkgewotICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJy
LCAiYXJjaCIsICItIiAuIGFyY2hpdGVjdHVyZSgpLCBAY29tbW9uQXJndW1lbnRzKSBvciBkaWUg
IkZhaWxlZCB0byBydW4gdGVzdDogJHRlc3QuIjsKLSAgICB9IGVsc2UgewotICAgICAgICAkcGlk
ID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCBAY29tbW9uQXJndW1lbnRz
KSBvciBkaWUgIkZhaWxlZCB0byBydW4gdGVzdDogJHRlc3QuIjsKLSAgICB9Ci0KLSAgICBldmFs
IHsKLSAgICAgICAgbG9jYWwgJFNJR3tBTFJNfSA9IHN1YiB7IGRpZSAiYWxhcm1cbiIgfTsKLSAg
ICAgICAgYWxhcm0gJHRpbWVvdXQ7Ci0gICAgICAgIHdhaXRwaWQoJHBpZCwgMCk7Ci0gICAgICAg
IGFsYXJtIDA7Ci0gICAgICAgICRyZXN1bHQgPSAkPzsKLSAgICB9OwotICAgIGlmICgkQCkgewot
ICAgICAgICBkaWUgdW5sZXNzICRAIGVxICJhbGFybVxuIjsKLSAgICAgICAga2lsbCBTSUdURVJN
LCAkcGlkIG9yIGtpbGwgU0lHS0lMTCwgJHBpZDsKLSAgICAgICAgJHRpbWVkT3V0ID0gMTsKLSAg
ICB9CisgICAgICAgIGV2YWwgeworICAgICAgICAgICAgbG9jYWwgJFNJR3tBTFJNfSA9IHN1YiB7
IGRpZSAiYWxhcm1cbiIgfTsKKyAgICAgICAgICAgIGFsYXJtICR0aW1lb3V0OworICAgICAgICAg
ICAgd2FpdHBpZCgkcGlkLCAwKTsKKyAgICAgICAgICAgIGFsYXJtIDA7CisgICAgICAgICAgICAk
cmVzdWx0ID0gJD87CisgICAgICAgIH07CisgICAgICAgIGlmICgkQCkgeworICAgICAgICAgICAg
ZGllIHVubGVzcyAkQCBlcSAiYWxhcm1cbiI7CisgICAgICAgICAgICBraWxsIFNJR1RFUk0sICRw
aWQgb3Iga2lsbCBTSUdLSUxMLCAkcGlkOworICAgICAgICAgICAgJHRpbWVkT3V0ID0gMTsKKyAg
ICAgICAgfQogCi0gICAgbXkgQHRlc3RPdXRwdXQgPSA8JGNoaWxkT3V0PjsKLSAgICBAdGVzdE91
dHB1dCA9IGdyZXAgeyAhL15MRUFLOi8gfSBAdGVzdE91dHB1dCB1bmxlc3MgJHNob3dMZWFrczsK
LSAgICBtYXAgeyBzL1wqXCpQQVNTXCpcKi9wb3NzaWJseUNvbG9yZWQoImJvbGQgZ3JlZW4iLCAi
UEFTUyIpL2VnIH0gQHRlc3RPdXRwdXQ7Ci0gICAgbWFwIHsgcy9cKlwqRkFJTFwqXCovcG9zc2li
bHlDb2xvcmVkKCJib2xkIHJlZCIsICJGQUlMIikvZWcgfSBAdGVzdE91dHB1dDsKLSAgICBwcmlu
dCBTVERPVVQgQHRlc3RPdXRwdXQ7CisgICAgICAgIG15IEB0ZXN0T3V0cHV0ID0gPCRjaGlsZE91
dD47CisgICAgICAgIEB0ZXN0T3V0cHV0ID0gZ3JlcCB7ICEvXkxFQUs6LyB9IEB0ZXN0T3V0cHV0
IHVubGVzcyAkc2hvd0xlYWtzOworICAgICAgICBtYXAgeyBzL1wqXCpQQVNTXCpcKi9wb3NzaWJs
eUNvbG9yZWQoImJvbGQgZ3JlZW4iLCAiUEFTUyIpL2VnIH0gQHRlc3RPdXRwdXQ7CisgICAgICAg
IG1hcCB7IHMvXCpcKkZBSUxcKlwqL3Bvc3NpYmx5Q29sb3JlZCgiYm9sZCByZWQiLCAiRkFJTCIp
L2VnIH0gQHRlc3RPdXRwdXQ7CisgICAgICAgIHByaW50IFNURE9VVCBAdGVzdE91dHB1dDsKKwor
ICAgICAgICBjbG9zZSgkY2hpbGRJbik7CisgICAgICAgIGNsb3NlKCRjaGlsZE91dCk7CisgICAg
ICAgIGNsb3NlKCRjaGlsZEVycikgdW5sZXNzICgkdmVyYm9zZSB8fCAkc2hvd0xlYWtzKTsKKyAg
ICAgICAgY2xvc2UoREVWTlVMTCkgdW5sZXNzICgkdmVyYm9zZSB8fCAkc2hvd0xlYWtzKTsKIAot
ICAgIGNsb3NlKCRjaGlsZEluKTsKLSAgICBjbG9zZSgkY2hpbGRPdXQpOwotICAgIGNsb3NlKCRj
aGlsZEVycikgdW5sZXNzICgkdmVyYm9zZSB8fCAkc2hvd0xlYWtzKTsKLSAgICBjbG9zZShERVZO
VUxMKSB1bmxlc3MgKCR2ZXJib3NlIHx8ICRzaG93TGVha3MpOwotCi0gICAgaWYgKCRyZXN1bHQp
IHsKLSAgICAgICAgcHVzaCBAdGVzdHNGYWlsZWQsICR0ZXN0OwotICAgIH0KLSAgICBpZiAoJHRp
bWVkT3V0KSB7Ci0gICAgICAgIHB1c2ggQHRlc3RzVGltZWRPdXQsICR0ZXN0OwotICAgICAgICBw
cmludCBwb3NzaWJseUNvbG9yZWQoImJvbGQgeWVsbG93IiwgIlRJTUVPVVQiKSwgIiAkdGVzdFxu
IjsKKyAgICAgICAgaWYgKCRyZXN1bHQpIHsKKyAgICAgICAgICAgIHB1c2ggQHRlc3RzRmFpbGVk
LCAkdGVzdDsKKyAgICAgICAgfQorICAgICAgICBpZiAoJHRpbWVkT3V0KSB7CisgICAgICAgICAg
ICBwdXNoIEB0ZXN0c1RpbWVkT3V0LCAkdGVzdDsKKyAgICAgICAgICAgIHByaW50IHBvc3NpYmx5
Q29sb3JlZCgiYm9sZCB5ZWxsb3ciLCAiVElNRU9VVCIpLCAiICR0ZXN0XG4iOworICAgICAgICB9
CisgICAgICAgIGlmICgkdGltZWRPdXQgfHwgJHJlc3VsdCkgeworICAgICAgICAgICAgcmV0dXJu
ICR0aW1lZE91dCB8fCAkcmVzdWx0OworICAgICAgICB9CiAgICAgfQotCi0gICAgcmV0dXJuICR0
aW1lZE91dCB8fCAkcmVzdWx0OworICAgIHJldHVybiAwOwogfQogCiBzdWIgbGlzdEFsbFRlc3Rz
KCkKQEAgLTI1NCw0NCArMjU3LDQ1IEBAIHN1YiBsaXN0QWxsVGVzdHMoKQogICAgICAgICAkY2hp
bGRFcnIgPSAiPiZERVZOVUxMIjsKICAgICB9CiAKLSAgICBteSAkcGlkOwotICAgIG15IEBjb21t
b25Bcmd1bWVudHMgPSAodGVzdFRvb2xQYXRoKCksICItLWd0ZXN0X2xpc3RfdGVzdHMiKTsKLSAg
ICBpZiAoaXNJT1NXZWJLaXQoKSkgewotICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRj
aGlsZE91dCwgJGNoaWxkRXJyLCBxdyh4Y3J1biAtc2RrIGlwaG9uZXNpbXVsYXRvciBzaW0gLS1l
bnZpcm9ubWVudD1tZXJnZSksIEBjb21tb25Bcmd1bWVudHMpIG9yIGRpZSAiRmFpbGVkIHRvIGJ1
aWxkIGxpc3Qgb2YgdGVzdHMhIjsKLSAgICB9IGVsc2lmIChpc0FwcGxlTWFjV2ViS2l0KCkgJiYg
YXJjaGl0ZWN0dXJlKCkpIHsKLSAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRP
dXQsICRjaGlsZEVyciwgImFyY2giLCAiLSIgLiBhcmNoaXRlY3R1cmUoKSwgQGNvbW1vbkFyZ3Vt
ZW50cykgb3IgZGllICJGYWlsZWQgdG8gYnVpbGQgbGlzdCBvZiB0ZXN0cyEiOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAgICRwaWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIs
IEBjb21tb25Bcmd1bWVudHMpIG9yIGRpZSAiRmFpbGVkIHRvIGJ1aWxkIGxpc3Qgb2YgdGVzdHMh
IjsKLSAgICB9CisgICAgbXkgQHRlc3RzID0gKCk7CisgICAgZm9yZWFjaCh0ZXN0VG9vbFBhdGhz
KCkpIHsKKyAgICAgICAgbXkgJHBpZDsKKyAgICAgICAgbXkgQGNvbW1vbkFyZ3VtZW50cyA9ICgk
XywgIi0tZ3Rlc3RfbGlzdF90ZXN0cyIpOworICAgICAgICBpZiAoaXNJT1NXZWJLaXQoKSkgewor
ICAgICAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwg
cXcoeGNydW4gLXNkayBpcGhvbmVzaW11bGF0b3Igc2ltIC0tZW52aXJvbm1lbnQ9bWVyZ2UpLCBA
Y29tbW9uQXJndW1lbnRzKSBvciBkaWUgIkZhaWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzISI7
CisgICAgICAgIH0gZWxzaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSAmJiBhcmNoaXRlY3R1cmUoKSkg
eworICAgICAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVy
ciwgImFyY2giLCAiLSIgLiBhcmNoaXRlY3R1cmUoKSwgQGNvbW1vbkFyZ3VtZW50cykgb3IgZGll
ICJGYWlsZWQgdG8gYnVpbGQgbGlzdCBvZiB0ZXN0cyEiOworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgQGNv
bW1vbkFyZ3VtZW50cykgb3IgZGllICJGYWlsZWQgdG8gYnVpbGQgbGlzdCBvZiB0ZXN0cyEiOwor
ICAgICAgICB9CiAKLSAgICBjbG9zZSgkY2hpbGRJbik7Ci0gICAgQHRvb2xPdXRwdXQgPSA8JGNo
aWxkT3V0PjsKLSAgICBjbG9zZSgkY2hpbGRPdXQpOwotICAgIGNsb3NlKCRjaGlsZEVycik7Ci0g
ICAgY2xvc2UoREVWTlVMTCkgdW5sZXNzICgkdmVyYm9zZSk7CisgICAgICAgIGNsb3NlKCRjaGls
ZEluKTsKKyAgICAgICAgQHRvb2xPdXRwdXQgPSA8JGNoaWxkT3V0PjsKKyAgICAgICAgY2xvc2Uo
JGNoaWxkT3V0KTsKKyAgICAgICAgY2xvc2UoJGNoaWxkRXJyKTsKKyAgICAgICAgY2xvc2UoREVW
TlVMTCkgdW5sZXNzICgkdmVyYm9zZSk7CiAKLSAgICB3YWl0cGlkKCRwaWQsIDApOwotICAgIG15
ICRyZXN1bHQgPSAkPzsKKyAgICAgICAgd2FpdHBpZCgkcGlkLCAwKTsKKyAgICAgICAgbXkgJHJl
c3VsdCA9ICQ/OwogCi0gICAgaWYgKCRyZXN1bHQpIHsKLSAgICAgICAgcHJpbnQgU1RERVJSICJG
YWlsZWQgdG8gYnVpbGQgbGlzdCBvZiB0ZXN0cyFcbiI7Ci0gICAgICAgIGV4aXQgZXhpdFN0YXR1
cygkcmVzdWx0KTsKLSAgICB9CisgICAgICAgIGlmICgkcmVzdWx0KSB7CisgICAgICAgICAgICBw
cmludCBTVERFUlIgIkZhaWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzIS0tXG4iOworICAgICAg
ICAgICAgZXhpdCBleGl0U3RhdHVzKCRyZXN1bHQpOworICAgICAgICB9CiAKLSAgICBteSBAdGVz
dHMgPSAoKTsKLSAgICBteSAkc3VpdGU7Ci0gICAgZm9yIG15ICRsaW5lIChAdG9vbE91dHB1dCkg
ewotICAgICAgICRsaW5lID1+IHMvW1xyXG5dKiQvLzsKLSAgICAgICBpZiAoJGxpbmUgPX4gbS9c
LiQvKSB7Ci0gICAgICAgICAgJHN1aXRlID0gJGxpbmU7ICMgIlN1aXRlTmFtZS4iCi0gICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAjIERpc2FibGluZyBXZWJLaXQyIEFQSSB0ZXN0IG9uIFdpbmRv
d3Mgc2luY2Ugd2Ugd2lsbCBiZSBkaXNhYmxpbmcgV2ViS2l0MiBvbiBXaW5kb3dzLgotICAgICAg
ICAgIG5leHQgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSAmJiAkc3VpdGUgPX4gbS9XZWJLaXQyKi8p
OyAgICAgICAKLSAgICAgICAgICAkbGluZSA9fiBzL15ccyovLzsgIyAiVGVzdE5hbWUiCi0gICAg
ICAgICAgcHVzaCBAdGVzdHMsICRzdWl0ZSAuICRsaW5lOyAjICJTdWl0ZU5hbWUuVGVzdE5hbWUi
CisgICAgICAgIG15ICRzdWl0ZTsKKyAgICAgICAgZm9yIG15ICRsaW5lIChAdG9vbE91dHB1dCkg
eworICAgICAgICAgICAkbGluZSA9fiBzL1tcclxuXSokLy87CisgICAgICAgICAgIGlmICgkbGlu
ZSA9fiBtL1wuJC8pIHsKKyAgICAgICAgICAgICAgJHN1aXRlID0gJGxpbmU7ICMgIlN1aXRlTmFt
ZS4iCisgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICMgRGlzYWJsaW5nIFdlYktp
dDIgQVBJIHRlc3Qgb24gV2luZG93cyBzaW5jZSB3ZSB3aWxsIGJlIGRpc2FibGluZyBXZWJLaXQy
IG9uIFdpbmRvd3MuCisgICAgICAgICAgICAgIG5leHQgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSAm
JiAkc3VpdGUgPX4gbS9XZWJLaXQyKi8pOyAgICAgICAKKyAgICAgICAgICAgICAgJGxpbmUgPX4g
cy9eXHMqLy87ICMgIlRlc3ROYW1lIgorICAgICAgICAgICAgICBwdXNoIEB0ZXN0cywgJHN1aXRl
IC4gJGxpbmU7ICMgIlN1aXRlTmFtZS5UZXN0TmFtZSIKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KLQogICAgIHJldHVybiBAdGVzdHM7CiB9CiAKQEAgLTM0MywxMCArMzQ3LDE0IEBA
IHN1YiBwcmVwYXJlRW52aXJvbm1lbnRGb3JSdW5uaW5nVGVzdFRvb2wKICAgICBzZXR1cE1hY1dl
YktpdEVudmlyb25tZW50KHByb2R1Y3REaXIoKSk7CiB9CiAKLXN1YiB0ZXN0VG9vbFBhdGgoKQor
c3ViIHRlc3RUb29sUGF0aHMoKQogewogICAgIG15ICRwYXRoID0gRmlsZTo6U3BlYy0+Y2F0Zmls
ZShwcm9kdWN0RGlyKCksICJUZXN0V2ViS2l0QVBJIik7Ci0gICAgcmV0dXJuICRwYXRoIHVubGVz
cyBpc0FwcGxlV2luV2ViS2l0KCk7CisgICAgcmV0dXJuICgkcGF0aCkgdW5sZXNzIGlzQXBwbGVX
aW5XZWJLaXQoKTsKKworICAgIG15ICRwYXRoV1RGID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShwcm9k
dWN0RGlyKCksICJUZXN0V1RGIik7CisgICAgbXkgJHBhdGhXZWJDb3JlID0gRmlsZTo6U3BlYy0+
Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJUZXN0V2ViQ29yZSIpOworICAgIG15ICRwYXRoV2ViS2l0
ID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJUZXN0V2ViS2l0Iik7CiAKICAg
ICBteSAkc3VmZml4OwogICAgIGlmIChjb25maWd1cmF0aW9uKCkgZXEgIkRlYnVnX0FsbCIpIHsK
QEAgLTM1NCw1ICszNjIsNSBAQCBzdWIgdGVzdFRvb2xQYXRoKCkKICAgICB9IGVsc2UgewogICAg
ICAgICAkc3VmZml4ID0gIiI7CiAgICAgfQotICAgIHJldHVybiAiJHBhdGgkc3VmZml4LmV4ZSI7
CisgICAgcmV0dXJuICgiJHBhdGhXVEYkc3VmZml4LmV4ZSIsICIkcGF0aFdlYkNvcmUkc3VmZml4
LmV4ZSIsICIkcGF0aFdlYktpdCRzdWZmaXguZXhlIik7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261416</attachid>
            <date>2015-09-17 13:37:06 -0700</date>
            <delta_ts>2015-09-17 14:27:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149163-20150917133653.patch</filename>
            <type>text/plain</type>
            <size>16031</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTkyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA5LTE3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3dpdGNoIEFw
cGxlV2luIGJ1aWxkIHRvIHVzZSBDTWFrZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVs
Z2hhbS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1pZGxzLnBsOgor
ICAgICAgICAoQ3lnd2luUGF0aElmTmVlZGVkKToKKyAgICAgICAgKFdyaXRlRmlsZUlmQ2hhbmdl
ZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG06CisgICAgICAg
IChhcHBseVByZXByb2Nlc3Nvcik6CisgICAgICAgIEZpeCBuZXcgY3lnd2luIHF1aXJrcy4gIEN5
Z3dpbiBpcyBub3cgdXNpbmcgc29tZSBwYXRocyBmcm9tIENNYWtlLgorCiAyMDE1LTA5LTE3ICBQ
ZXIgQXJuZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9d
IENvbXBpbGUgZXJyb3IsIGluY2x1ZGUgZmlsZSBub3QgZm91bmQuCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbAkocmV2aXNp
b24gMTg5OTI4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNz
LWlkbHMucGwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAgdXNlIHN0cmljdDsKIHVz
ZSBGaWxlOjpCYXNlbmFtZTsKIHVzZSBHZXRvcHQ6Okxvbmc7CiB1c2UgQ3dkOwordXNlIENvbmZp
ZzsKIAogbXkgJGRlZmluZXM7CiBteSAkcHJlcHJvY2Vzc29yOwpAQCAtNDksOSArNTAsMTkgQEAg
ZGllKCdNdXN0IHNwZWNpZnkgYW4gb3V0cHV0IGZpbGUgdXNpbmcgLQogZGllKCdNdXN0IHNwZWNp
ZnkgYW4gb3V0cHV0IGZpbGUgdXNpbmcgLS1kZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0
cnVjdG9yc0ZpbGUuJykgdW5sZXNzIGRlZmluZWQoJGRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
Q29uc3RydWN0b3JzRmlsZSk7CiBkaWUoJ011c3Qgc3BlY2lmeSB0aGUgZmlsZSBsaXN0aW5nIGFs
bCBJRExzIHVzaW5nIC0taWRsRmlsZXNMaXN0LicpIHVubGVzcyBkZWZpbmVkKCRpZGxGaWxlc0xp
c3QpOwogCiskc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgPSBDeWd3aW5QYXRoSWZOZWVkZWQo
JHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlKTsKKyR3aW5kb3dDb25zdHJ1Y3RvcnNGaWxlID0g
Q3lnd2luUGF0aElmTmVlZGVkKCR3aW5kb3dDb25zdHJ1Y3RvcnNGaWxlKTsKKyR3b3JrZXJHbG9i
YWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgPSBDeWd3aW5QYXRoSWZOZWVkZWQoJHdvcmtlckdsb2Jh
bFNjb3BlQ29uc3RydWN0b3JzRmlsZSk7CiskZGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25z
dHJ1Y3RvcnNGaWxlID0gQ3lnd2luUGF0aElmTmVlZGVkKCRkZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZUNvbnN0cnVjdG9yc0ZpbGUpOworJHN1cHBsZW1lbnRhbE1ha2VmaWxlRGVwcyA9IEN5Z3dp
blBhdGhJZk5lZWRlZCgkc3VwcGxlbWVudGFsTWFrZWZpbGVEZXBzKTsKKwogb3BlbiBGSCwgIjwg
JGlkbEZpbGVzTGlzdCIgb3IgZGllICJDYW5ub3Qgb3BlbiAkaWRsRmlsZXNMaXN0XG4iOwotbXkg
QGlkbEZpbGVzID0gPEZIPjsKLWNob21wKEBpZGxGaWxlcyk7CitteSBAaWRsRmlsZXNJbiA9IDxG
SD47CitjaG9tcChAaWRsRmlsZXNJbik7CitteSBAaWRsRmlsZXMgPSAoKTsKK2ZvcmVhY2ggKEBp
ZGxGaWxlc0luKSB7CisgICAgcHVzaCBAaWRsRmlsZXMsIEN5Z3dpblBhdGhJZk5lZWRlZCgkXyk7
Cit9CiBjbG9zZSBGSDsKIAogbXkgJWludGVyZmFjZU5hbWVUb0lkbEZpbGU7CkBAIC0xNjQsNiAr
MTc1LDE2IEBAIGlmICgkc3VwcGxlbWVudGFsTWFrZWZpbGVEZXBzKSB7CiAgICAgV3JpdGVGaWxl
SWZDaGFuZ2VkKCRzdXBwbGVtZW50YWxNYWtlZmlsZURlcHMsICRtYWtlZmlsZURlcHMpOwogfQog
CitzdWIgQ3lnd2luUGF0aElmTmVlZGVkCit7CisgICAgbXkgJHBhdGggPSBzaGlmdDsKKyAgICBp
ZiAoJHBhdGggJiYgJENvbmZpZ3tvc25hbWV9IGVxICJjeWd3aW4iKSB7CisgICAgICAgIGNob21w
KCRwYXRoID0gYGN5Z3BhdGggLXUgJyRwYXRoJ2ApOworICAgICAgICAkcGF0aCA9fiBzL1tcclxu
XS8vOworICAgIH0KKyAgICByZXR1cm4gJHBhdGg7Cit9CisKIHN1YiBXcml0ZUZpbGVJZkNoYW5n
ZWQKIHsKICAgICBteSAkZmlsZU5hbWUgPSBzaGlmdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzc29yLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzc29yLnBtCShyZXZpc2lvbiAxODk5MjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbQkod29ya2lu
ZyBjb3B5KQpAQCAtNzYsMTMgKzc2LDE3IEBAIHN1YiBhcHBseVByZXByb2Nlc3NvcgogCiAgICAg
bXkgJHBpZCA9IDA7CiAgICAgaWYgKCRDb25maWd7b3NuYW1lfSBlcSAiY3lnd2luIikgeworICAg
ICAgICAkcHJlcHJvY2Vzc29yID1+IC8iKC4qKSIvOworICAgICAgICBjaG9tcChteSAkcHJlcHJv
Y2Vzc29yRXhlY3V0YWJsZSA9IGBjeWdwYXRoIC11ICckMSdgKTsKKyAgICAgICAgY2hvbXAoJGZp
bGVOYW1lID0gYGN5Z3BhdGggLXcgJyRmaWxlTmFtZSdgKTsKKyAgICAgICAgICAgIAogICAgICAg
ICAjIFRoaXMgY2FsbCBjYW4gZmFpbCBpZiBXaW5kb3dzIHJlYmFzZXMgY3lnd2luLCBzbyByZXRy
eSBhIGZldyB0aW1lcyB1bnRpbCBpdCBzdWNjZWVkcy4KICAgICAgICAgZm9yIChteSAkdHJpZXMg
PSAwOyAhJHBpZCAmJiAoJHRyaWVzIDwgMjApOyAkdHJpZXMrKykgewogICAgICAgICAgICAgZXZh
bCB7CiAgICAgICAgICAgICAgICAgIyBTdXBwcmVzcyBTVERFUlIgc28gdGhhdCBpZiB3ZSdyZSB1
c2luZyBjbC5leGUsIHRoZSBvdXRwdXQKICAgICAgICAgICAgICAgICAjIG5hbWUgaXNuJ3QgbmVl
ZGxlc3NseSBlY2hvZWQuCiAgICAgICAgICAgICAgICAgdXNlIFN5bWJvbCAnZ2Vuc3ltJzsgbXkg
JGVyciA9IGdlbnN5bTsKLSAgICAgICAgICAgICAgICAkcGlkID0gb3BlbjMoXCpQUF9JTiwgXCpQ
UF9PVVQsICRlcnIsIHNwbGl0KCcgJywgJHByZXByb2Nlc3NvciksIEBhcmdzLCBAbWFjcm9zLCAk
ZmlsZU5hbWUpOworICAgICAgICAgICAgICAgICRwaWQgPSBvcGVuMyhcKlBQX0lOLCBcKlBQX09V
VCwgJGVyciwgJHByZXByb2Nlc3NvckV4ZWN1dGFibGUsICIvbm9sb2dvIiwgIi9FUCIsIEBhcmdz
LCBAbWFjcm9zLCAkZmlsZU5hbWUpOwogICAgICAgICAgICAgICAgIDE7CiAgICAgICAgICAgICB9
IG9yIGRvIHsKICAgICAgICAgICAgICAgICBzbGVlcCAxOwpJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMTg5OTI4KQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTUtMDktMTcg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBT
d2l0Y2ggQXBwbGVXaW4gYnVpbGQgdG8gdXNlIENNYWtlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkxNjMKKworICAgICAgICBSZXZpZXdlZCBieSBC
cmVudCBGdWxnaGFtLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAg
ICogU2NyaXB0cy9ydW4tYXBpLXRlc3RzOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgIChs
aXN0QWxsVGVzdHMpOgorICAgICAgICAocHJlcGFyZUVudmlyb25tZW50Rm9yUnVubmluZ1Rlc3RU
b29sKToKKyAgICAgICAgKHRlc3RUb29sUGF0aHMpOgorICAgICAgICAodGVzdFRvb2xQYXRoKTog
RGVsZXRlZC4KKyAgICAgICAgUnVuIHRoZSBBUEkgdGVzdHMgYXMgc2VwYXJhdGUgZXhlY3V0YWJs
ZXMgb24gV2luZG93cy4KKyAgICAgICAgSXQgdXNlZCB0byBiZSBUZXN0V2ViS2l0QVBJLmV4ZSwg
YW5kIGl0IGlzIG5vdyBUZXN0V1RGLmV4ZSwgVGVzdFdlYkNvcmUuZXhlLCBhbmQgVGVzdFdlYktp
dC5leGUuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoY2hlY2tS
ZXF1aXJlZFN5c3RlbUNvbmZpZyk6CisgICAgICAgIChqaGJ1aWxkV3JhcHBlclByZWZpeElmTmVl
ZGVkKToKKyAgICAgICAgKGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9tQ01ha2VQcm9qZWN0KToKKyAg
ICAgICAgRml4IGNvbmZpZ3VyYXRpb24gcXVpcmtzLgorCiAyMDE1LTA5LTE3ICBEZWFuIEpvaG5z
b24gIDxkZWFuX2pvaG5zb25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZGVkIHRvZ2dsZSBvcHRp
b25zIGZvciBoaWRpbmcgYW5kIHNob3dpbmcgY2VydGFpbiBwbGF0Zm9ybSBmYW1pbGllcyBvbiB0
aGUgZGFzaGJvYXJkLgpJbmRleDogVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQJKHJldmlzaW9uIDE4OTkyOCkKKysrIFRv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CSh3b3JraW5nIGNvcHkpCkBAIC0yNTYsMTkgKzI1Niwx
NCBAQCBmb3IgbXkgJGRpciAoQHByb2plY3RzKSB7CiAgICAgICAgICRyZXN1bHQgPSBidWlsZFhD
b2RlUHJvamVjdCgkcHJvamVjdFBhdGgsICRjbGVhbiwgQGxvY2FsX29wdGlvbnMsIEBBUkdWKTsK
ICAgICB9IGVsc2lmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNXaW5DYWlybygpKSB7CiAgICAg
ICAgIGNoZGlyV2ViS2l0KCk7Ci0gICAgICAgIGlmIChpc1dpbkNhaXJvKCkpIHsKLSAgICAgICAg
ICAgIGlmIChleGl0U3RhdHVzKGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9tQ01ha2VQcm9qZWN0KCJX
aW5DYWlybyIpKSkgewotICAgICAgICAgICAgICAgIGRpZSAiUnVuIFwiQzovUHJvZ3JhbSBGaWxl
cyAoeDg2KS9NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxMi4wL1ZDL3ZjdmFyc2FsbC5iYXRcIiBi
ZWZvcmUgYnVpbGQtd2Via2l0IHdoZW4gdXNpbmcgbmluamEiOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaWYgKGNhblVzZU5pbmphKCkpIHsKLSAgICAgICAgICAgICAgICBjaGRpciAiV2Vi
S2l0QnVpbGQvIiAuIGNvbmZpZ3VyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAkcmVzdWx0ID0g
c3lzdGVtKCJuaW5qYSIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAk
cmVzdWx0ID0gYnVpbGRWaXN1YWxTdHVkaW9Qcm9qZWN0KCJXZWJLaXRCdWlsZC8iIC4gY29uZmln
dXJhdGlvbigpIC4gIi9XZWJLaXQuc2xuIiwgJGNsZWFuKTsKLSAgICAgICAgICAgIH0KKyAgICAg
ICAgaWYgKGV4aXRTdGF0dXMoZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QoaXNX
aW5DYWlybygpID8gIldpbkNhaXJvIiA6ICJBcHBsZVdpbiIpKSkgeworICAgICAgICAgICAgZGll
ICJSdW4gXCJDOi9Qcm9ncmFtIEZpbGVzICh4ODYpL01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDEy
LjAvVkMvdmN2YXJzYWxsLmJhdFwiIGJlZm9yZSBidWlsZC13ZWJraXQgd2hlbiB1c2luZyBuaW5q
YSI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNhblVzZU5pbmphKCkpIHsKKyAgICAgICAgICAg
IGNoZGlyICJXZWJLaXRCdWlsZC8iIC4gY29uZmlndXJhdGlvbigpOworICAgICAgICAgICAgJHJl
c3VsdCA9IHN5c3RlbSgibmluamEiKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG15
ICR3ZWJraXRTb2x1dGlvblBhdGggPSAiU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJL
aXQuc2xuIjsKLSAgICAgICAgICAgICRyZXN1bHQgPSBidWlsZFZpc3VhbFN0dWRpb1Byb2plY3Qo
JHdlYmtpdFNvbHV0aW9uUGF0aCwgJGNsZWFuKTsKKyAgICAgICAgICAgICRyZXN1bHQgPSBidWls
ZFZpc3VhbFN0dWRpb1Byb2plY3QoIldlYktpdEJ1aWxkLyIgLiBjb25maWd1cmF0aW9uKCkgLiAi
L1dlYktpdC5zbG4iLCAkY2xlYW4pOwogICAgICAgICB9CiAgICAgfQogICAgICMgVmFyaW91cyBi
dWlsZCogY2FsbHMgYWJvdmUgbWF5IGNoYW5nZSB0aGUgQ1dELgpJbmRleDogVG9vbHMvU2NyaXB0
cy9ydW4tYXBpLXRlc3RzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0
cwkocmV2aXNpb24gMTg5OTI4KQorKysgVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIHN1YiBsaXN0QWxsVGVzdHMoKTsKIHN1YiBydW5U
ZXN0KCQkKTsKIHN1YiBydW5UZXN0c0J5U3VpdGUoXEApOwogc3ViIHByZXBhcmVFbnZpcm9ubWVu
dEZvclJ1bm5pbmdUZXN0VG9vbCgpOwotc3ViIHRlc3RUb29sUGF0aCgpOworc3ViIHRlc3RUb29s
UGF0aHMoKTsKIAogIyBEZWZpbmVkIGluIFZDU1V0aWxzLgogc3ViIHBvc3NpYmx5Q29sb3JlZCgk
JCk7CkBAIC0xOTAsNTAgKzE5MCw1MyBAQCBzdWIgcnVuVGVzdCgkJCkKICAgICAgICAgJGNoaWxk
RXJyID0gIj4mREVWTlVMTCI7CiAgICAgfQogCisgICAgZm9yZWFjaCh0ZXN0VG9vbFBhdGhzKCkp
IHsKKyAgICAgICAgbXkgJHBpZDsKKyAgICAgICAgbXkgQGNvbW1vbkFyZ3VtZW50cyA9ICgkXywg
JGd0ZXN0QXJnLCBAQVJHVik7CisgICAgICAgIGlmIChpc0lPU1dlYktpdCgpKSB7CisgICAgICAg
ICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCBxdyh4Y3J1
biAtc2RrIGlwaG9uZXNpbXVsYXRvciBzaW0gLS1lbnZpcm9ubWVudD1tZXJnZSksIEBjb21tb25B
cmd1bWVudHMpIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biB0ZXN0OiAkdGVzdC4iOworICAgICAgICB9
IGVsc2lmIChpc0FwcGxlTWFjV2ViS2l0KCkgJiYgYXJjaGl0ZWN0dXJlKCkpIHsKKyAgICAgICAg
ICAgICRwaWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICJhcmNoIiwg
Ii0iIC4gYXJjaGl0ZWN0dXJlKCksIEBjb21tb25Bcmd1bWVudHMpIG9yIGRpZSAiRmFpbGVkIHRv
IHJ1biB0ZXN0OiAkdGVzdC4iOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgJHBpZCA9
IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgQGNvbW1vbkFyZ3VtZW50cykg
b3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3Q6ICR0ZXN0LiI7CisgICAgICAgIH0KIAotICAgIG15
ICRwaWQ7Ci0gICAgbXkgQGNvbW1vbkFyZ3VtZW50cyA9ICh0ZXN0VG9vbFBhdGgoKSwgJGd0ZXN0
QXJnLCBAQVJHVik7Ci0gICAgaWYgKGlzSU9TV2ViS2l0KCkpIHsKLSAgICAgICAgJHBpZCA9IG9w
ZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgcXcoeGNydW4gLXNkayBpcGhvbmVz
aW11bGF0b3Igc2ltIC0tZW52aXJvbm1lbnQ9bWVyZ2UpLCBAY29tbW9uQXJndW1lbnRzKSBvciBk
aWUgIkZhaWxlZCB0byBydW4gdGVzdDogJHRlc3QuIjsKLSAgICB9IGVsc2lmIChpc0FwcGxlTWFj
V2ViS2l0KCkgJiYgYXJjaGl0ZWN0dXJlKCkpIHsKLSAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGls
ZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgImFyY2giLCAiLSIgLiBhcmNoaXRlY3R1cmUoKSwg
QGNvbW1vbkFyZ3VtZW50cykgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3Q6ICR0ZXN0LiI7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRj
aGlsZEVyciwgQGNvbW1vbkFyZ3VtZW50cykgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3Q6ICR0
ZXN0LiI7Ci0gICAgfQotCi0gICAgZXZhbCB7Ci0gICAgICAgIGxvY2FsICRTSUd7QUxSTX0gPSBz
dWIgeyBkaWUgImFsYXJtXG4iIH07Ci0gICAgICAgIGFsYXJtICR0aW1lb3V0OwotICAgICAgICB3
YWl0cGlkKCRwaWQsIDApOwotICAgICAgICBhbGFybSAwOwotICAgICAgICAkcmVzdWx0ID0gJD87
Ci0gICAgfTsKLSAgICBpZiAoJEApIHsKLSAgICAgICAgZGllIHVubGVzcyAkQCBlcSAiYWxhcm1c
biI7Ci0gICAgICAgIGtpbGwgU0lHVEVSTSwgJHBpZCBvciBraWxsIFNJR0tJTEwsICRwaWQ7Ci0g
ICAgICAgICR0aW1lZE91dCA9IDE7Ci0gICAgfQorICAgICAgICBldmFsIHsKKyAgICAgICAgICAg
IGxvY2FsICRTSUd7QUxSTX0gPSBzdWIgeyBkaWUgImFsYXJtXG4iIH07CisgICAgICAgICAgICBh
bGFybSAkdGltZW91dDsKKyAgICAgICAgICAgIHdhaXRwaWQoJHBpZCwgMCk7CisgICAgICAgICAg
ICBhbGFybSAwOworICAgICAgICAgICAgJHJlc3VsdCA9ICQ/OworICAgICAgICB9OworICAgICAg
ICBpZiAoJEApIHsKKyAgICAgICAgICAgIGRpZSB1bmxlc3MgJEAgZXEgImFsYXJtXG4iOworICAg
ICAgICAgICAga2lsbCBTSUdURVJNLCAkcGlkIG9yIGtpbGwgU0lHS0lMTCwgJHBpZDsKKyAgICAg
ICAgICAgICR0aW1lZE91dCA9IDE7CisgICAgICAgIH0KIAotICAgIG15IEB0ZXN0T3V0cHV0ID0g
PCRjaGlsZE91dD47Ci0gICAgQHRlc3RPdXRwdXQgPSBncmVwIHsgIS9eTEVBSzovIH0gQHRlc3RP
dXRwdXQgdW5sZXNzICRzaG93TGVha3M7Ci0gICAgbWFwIHsgcy9cKlwqUEFTU1wqXCovcG9zc2li
bHlDb2xvcmVkKCJib2xkIGdyZWVuIiwgIlBBU1MiKS9lZyB9IEB0ZXN0T3V0cHV0OwotICAgIG1h
cCB7IHMvXCpcKkZBSUxcKlwqL3Bvc3NpYmx5Q29sb3JlZCgiYm9sZCByZWQiLCAiRkFJTCIpL2Vn
IH0gQHRlc3RPdXRwdXQ7Ci0gICAgcHJpbnQgU1RET1VUIEB0ZXN0T3V0cHV0OworICAgICAgICBt
eSBAdGVzdE91dHB1dCA9IDwkY2hpbGRPdXQ+OworICAgICAgICBAdGVzdE91dHB1dCA9IGdyZXAg
eyAhL15MRUFLOi8gfSBAdGVzdE91dHB1dCB1bmxlc3MgJHNob3dMZWFrczsKKyAgICAgICAgbWFw
IHsgcy9cKlwqUEFTU1wqXCovcG9zc2libHlDb2xvcmVkKCJib2xkIGdyZWVuIiwgIlBBU1MiKS9l
ZyB9IEB0ZXN0T3V0cHV0OworICAgICAgICBtYXAgeyBzL1wqXCpGQUlMXCpcKi9wb3NzaWJseUNv
bG9yZWQoImJvbGQgcmVkIiwgIkZBSUwiKS9lZyB9IEB0ZXN0T3V0cHV0OworICAgICAgICBwcmlu
dCBTVERPVVQgQHRlc3RPdXRwdXQ7CisKKyAgICAgICAgY2xvc2UoJGNoaWxkSW4pOworICAgICAg
ICBjbG9zZSgkY2hpbGRPdXQpOworICAgICAgICBjbG9zZSgkY2hpbGRFcnIpIHVubGVzcyAoJHZl
cmJvc2UgfHwgJHNob3dMZWFrcyk7CisgICAgICAgIGNsb3NlKERFVk5VTEwpIHVubGVzcyAoJHZl
cmJvc2UgfHwgJHNob3dMZWFrcyk7CiAKLSAgICBjbG9zZSgkY2hpbGRJbik7Ci0gICAgY2xvc2Uo
JGNoaWxkT3V0KTsKLSAgICBjbG9zZSgkY2hpbGRFcnIpIHVubGVzcyAoJHZlcmJvc2UgfHwgJHNo
b3dMZWFrcyk7Ci0gICAgY2xvc2UoREVWTlVMTCkgdW5sZXNzICgkdmVyYm9zZSB8fCAkc2hvd0xl
YWtzKTsKLQotICAgIGlmICgkcmVzdWx0KSB7Ci0gICAgICAgIHB1c2ggQHRlc3RzRmFpbGVkLCAk
dGVzdDsKLSAgICB9Ci0gICAgaWYgKCR0aW1lZE91dCkgewotICAgICAgICBwdXNoIEB0ZXN0c1Rp
bWVkT3V0LCAkdGVzdDsKLSAgICAgICAgcHJpbnQgcG9zc2libHlDb2xvcmVkKCJib2xkIHllbGxv
dyIsICJUSU1FT1VUIiksICIgJHRlc3RcbiI7CisgICAgICAgIGlmICgkcmVzdWx0KSB7CisgICAg
ICAgICAgICBwdXNoIEB0ZXN0c0ZhaWxlZCwgJHRlc3Q7CisgICAgICAgIH0KKyAgICAgICAgaWYg
KCR0aW1lZE91dCkgeworICAgICAgICAgICAgcHVzaCBAdGVzdHNUaW1lZE91dCwgJHRlc3Q7Cisg
ICAgICAgICAgICBwcmludCBwb3NzaWJseUNvbG9yZWQoImJvbGQgeWVsbG93IiwgIlRJTUVPVVQi
KSwgIiAkdGVzdFxuIjsKKyAgICAgICAgfQorICAgICAgICBpZiAoJHRpbWVkT3V0IHx8ICRyZXN1
bHQpIHsKKyAgICAgICAgICAgIHJldHVybiAkdGltZWRPdXQgfHwgJHJlc3VsdDsKKyAgICAgICAg
fQogICAgIH0KLQotICAgIHJldHVybiAkdGltZWRPdXQgfHwgJHJlc3VsdDsKKyAgICByZXR1cm4g
MDsKIH0KIAogc3ViIGxpc3RBbGxUZXN0cygpCkBAIC0yNTQsNDQgKzI1Nyw0NSBAQCBzdWIgbGlz
dEFsbFRlc3RzKCkKICAgICAgICAgJGNoaWxkRXJyID0gIj4mREVWTlVMTCI7CiAgICAgfQogCi0g
ICAgbXkgJHBpZDsKLSAgICBteSBAY29tbW9uQXJndW1lbnRzID0gKHRlc3RUb29sUGF0aCgpLCAi
LS1ndGVzdF9saXN0X3Rlc3RzIik7Ci0gICAgaWYgKGlzSU9TV2ViS2l0KCkpIHsKLSAgICAgICAg
JHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgcXcoeGNydW4gLXNk
ayBpcGhvbmVzaW11bGF0b3Igc2ltIC0tZW52aXJvbm1lbnQ9bWVyZ2UpLCBAY29tbW9uQXJndW1l
bnRzKSBvciBkaWUgIkZhaWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzISI7Ci0gICAgfSBlbHNp
ZiAoaXNBcHBsZU1hY1dlYktpdCgpICYmIGFyY2hpdGVjdHVyZSgpKSB7Ci0gICAgICAgICRwaWQg
PSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICJhcmNoIiwgIi0iIC4gYXJj
aGl0ZWN0dXJlKCksIEBjb21tb25Bcmd1bWVudHMpIG9yIGRpZSAiRmFpbGVkIHRvIGJ1aWxkIGxp
c3Qgb2YgdGVzdHMhIjsKLSAgICB9IGVsc2UgewotICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxk
SW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCBAY29tbW9uQXJndW1lbnRzKSBvciBkaWUgIkZhaWxl
ZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzISI7Ci0gICAgfQorICAgIG15IEB0ZXN0cyA9ICgpOwor
ICAgIGZvcmVhY2godGVzdFRvb2xQYXRocygpKSB7CisgICAgICAgIG15ICRwaWQ7CisgICAgICAg
IG15IEBjb21tb25Bcmd1bWVudHMgPSAoJF8sICItLWd0ZXN0X2xpc3RfdGVzdHMiKTsKKyAgICAg
ICAgaWYgKGlzSU9TV2ViS2l0KCkpIHsKKyAgICAgICAgICAgICRwaWQgPSBvcGVuMygkY2hpbGRJ
biwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsIHF3KHhjcnVuIC1zZGsgaXBob25lc2ltdWxhdG9yIHNp
bSAtLWVudmlyb25tZW50PW1lcmdlKSwgQGNvbW1vbkFyZ3VtZW50cykgb3IgZGllICJGYWlsZWQg
dG8gYnVpbGQgbGlzdCBvZiB0ZXN0cyEiOworICAgICAgICB9IGVsc2lmIChpc0FwcGxlTWFjV2Vi
S2l0KCkgJiYgYXJjaGl0ZWN0dXJlKCkpIHsKKyAgICAgICAgICAgICRwaWQgPSBvcGVuMygkY2hp
bGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICJhcmNoIiwgIi0iIC4gYXJjaGl0ZWN0dXJlKCks
IEBjb21tb25Bcmd1bWVudHMpIG9yIGRpZSAiRmFpbGVkIHRvIGJ1aWxkIGxpc3Qgb2YgdGVzdHMh
IjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICRwaWQgPSBvcGVuMygkY2hpbGRJbiwg
JGNoaWxkT3V0LCAkY2hpbGRFcnIsIEBjb21tb25Bcmd1bWVudHMpIG9yIGRpZSAiRmFpbGVkIHRv
IGJ1aWxkIGxpc3Qgb2YgdGVzdHMhIjsKKyAgICAgICAgfQogCi0gICAgY2xvc2UoJGNoaWxkSW4p
OwotICAgIEB0b29sT3V0cHV0ID0gPCRjaGlsZE91dD47Ci0gICAgY2xvc2UoJGNoaWxkT3V0KTsK
LSAgICBjbG9zZSgkY2hpbGRFcnIpOwotICAgIGNsb3NlKERFVk5VTEwpIHVubGVzcyAoJHZlcmJv
c2UpOworICAgICAgICBjbG9zZSgkY2hpbGRJbik7CisgICAgICAgIEB0b29sT3V0cHV0ID0gPCRj
aGlsZE91dD47CisgICAgICAgIGNsb3NlKCRjaGlsZE91dCk7CisgICAgICAgIGNsb3NlKCRjaGls
ZEVycik7CisgICAgICAgIGNsb3NlKERFVk5VTEwpIHVubGVzcyAoJHZlcmJvc2UpOwogCi0gICAg
d2FpdHBpZCgkcGlkLCAwKTsKLSAgICBteSAkcmVzdWx0ID0gJD87CisgICAgICAgIHdhaXRwaWQo
JHBpZCwgMCk7CisgICAgICAgIG15ICRyZXN1bHQgPSAkPzsKIAotICAgIGlmICgkcmVzdWx0KSB7
Ci0gICAgICAgIHByaW50IFNUREVSUiAiRmFpbGVkIHRvIGJ1aWxkIGxpc3Qgb2YgdGVzdHMhXG4i
OwotICAgICAgICBleGl0IGV4aXRTdGF0dXMoJHJlc3VsdCk7Ci0gICAgfQorICAgICAgICBpZiAo
JHJlc3VsdCkgeworICAgICAgICAgICAgcHJpbnQgU1RERVJSICJGYWlsZWQgdG8gYnVpbGQgbGlz
dCBvZiB0ZXN0cyEtLVxuIjsKKyAgICAgICAgICAgIGV4aXQgZXhpdFN0YXR1cygkcmVzdWx0KTsK
KyAgICAgICAgfQogCi0gICAgbXkgQHRlc3RzID0gKCk7Ci0gICAgbXkgJHN1aXRlOwotICAgIGZv
ciBteSAkbGluZSAoQHRvb2xPdXRwdXQpIHsKLSAgICAgICAkbGluZSA9fiBzL1tcclxuXSokLy87
Ci0gICAgICAgaWYgKCRsaW5lID1+IG0vXC4kLykgewotICAgICAgICAgICRzdWl0ZSA9ICRsaW5l
OyAjICJTdWl0ZU5hbWUuIgotICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgIyBEaXNhYmxpbmcg
V2ViS2l0MiBBUEkgdGVzdCBvbiBXaW5kb3dzIHNpbmNlIHdlIHdpbGwgYmUgZGlzYWJsaW5nIFdl
YktpdDIgb24gV2luZG93cy4KLSAgICAgICAgICBuZXh0IGlmIChpc0FwcGxlV2luV2ViS2l0KCkg
JiYgJHN1aXRlID1+IG0vV2ViS2l0MiovKTsgICAgICAgCi0gICAgICAgICAgJGxpbmUgPX4gcy9e
XHMqLy87ICMgIlRlc3ROYW1lIgotICAgICAgICAgIHB1c2ggQHRlc3RzLCAkc3VpdGUgLiAkbGlu
ZTsgIyAiU3VpdGVOYW1lLlRlc3ROYW1lIgorICAgICAgICBteSAkc3VpdGU7CisgICAgICAgIGZv
ciBteSAkbGluZSAoQHRvb2xPdXRwdXQpIHsKKyAgICAgICAgICAgJGxpbmUgPX4gcy9bXHJcbl0q
JC8vOworICAgICAgICAgICBpZiAoJGxpbmUgPX4gbS9cLiQvKSB7CisgICAgICAgICAgICAgICRz
dWl0ZSA9ICRsaW5lOyAjICJTdWl0ZU5hbWUuIgorICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAjIERpc2FibGluZyBXZWJLaXQyIEFQSSB0ZXN0IG9uIFdpbmRvd3Mgc2luY2Ugd2Ug
d2lsbCBiZSBkaXNhYmxpbmcgV2ViS2l0MiBvbiBXaW5kb3dzLgorICAgICAgICAgICAgICBuZXh0
IGlmIChpc0FwcGxlV2luV2ViS2l0KCkgJiYgJHN1aXRlID1+IG0vV2ViS2l0MiovKTsgICAgICAg
CisgICAgICAgICAgICAgICRsaW5lID1+IHMvXlxzKi8vOyAjICJUZXN0TmFtZSIKKyAgICAgICAg
ICAgICAgcHVzaCBAdGVzdHMsICRzdWl0ZSAuICRsaW5lOyAjICJTdWl0ZU5hbWUuVGVzdE5hbWUi
CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0KICAgICByZXR1cm4gQHRlc3RzOwog
fQogCkBAIC0zNDMsMTAgKzM0NywxNCBAQCBzdWIgcHJlcGFyZUVudmlyb25tZW50Rm9yUnVubmlu
Z1Rlc3RUb29sCiAgICAgc2V0dXBNYWNXZWJLaXRFbnZpcm9ubWVudChwcm9kdWN0RGlyKCkpOwog
fQogCi1zdWIgdGVzdFRvb2xQYXRoKCkKK3N1YiB0ZXN0VG9vbFBhdGhzKCkKIHsKICAgICBteSAk
cGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUocHJvZHVjdERpcigpLCAiVGVzdFdlYktpdEFQSSIp
OwotICAgIHJldHVybiAkcGF0aCB1bmxlc3MgaXNBcHBsZVdpbldlYktpdCgpOworICAgIHJldHVy
biAoJHBhdGgpIHVubGVzcyBpc0FwcGxlV2luV2ViS2l0KCk7CisKKyAgICBteSAkcGF0aFdURiA9
IEZpbGU6OlNwZWMtPmNhdGZpbGUocHJvZHVjdERpcigpLCAiVGVzdFdURiIpOworICAgIG15ICRw
YXRoV2ViQ29yZSA9IEZpbGU6OlNwZWMtPmNhdGZpbGUocHJvZHVjdERpcigpLCAiVGVzdFdlYkNv
cmUiKTsKKyAgICBteSAkcGF0aFdlYktpdCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUocHJvZHVjdERp
cigpLCAiVGVzdFdlYktpdCIpOwogCiAgICAgbXkgJHN1ZmZpeDsKICAgICBpZiAoY29uZmlndXJh
dGlvbigpIGVxICJEZWJ1Z19BbGwiKSB7CkBAIC0zNTQsNSArMzYyLDUgQEAgc3ViIHRlc3RUb29s
UGF0aCgpCiAgICAgfSBlbHNlIHsKICAgICAgICAgJHN1ZmZpeCA9ICIiOwogICAgIH0KLSAgICBy
ZXR1cm4gIiRwYXRoJHN1ZmZpeC5leGUiOworICAgIHJldHVybiAoIiRwYXRoV1RGJHN1ZmZpeC5l
eGUiLCAiJHBhdGhXZWJDb3JlJHN1ZmZpeC5leGUiLCAiJHBhdGhXZWJLaXQkc3VmZml4LmV4ZSIp
OwogfQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQkocmV2aXNpb24gMTg5OTI4KQorKysgVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0xNDAwLDcgKzE0MDAsNyBAQCBz
dWIgY2hlY2tSZXF1aXJlZFN5c3RlbUNvbmZpZwogICAgICAgICAgICAgcHJpbnQgIm1vc3QgbGlr
ZWx5IGZhaWwuIFRoZSBsYXRlc3QgWGNvZGUgaXMgYXZhaWxhYmxlIGZyb20gdGhlIEFwcCBTdG9y
ZS5cbiI7CiAgICAgICAgICAgICBwcmludCAiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIjsKICAgICAgICAgfQotICAgIH0gZWxz
aWYgKGlzR3RrKCkgb3IgaXNFZmwoKSBvciBpc1dpbmRvd3MoKSkgeworICAgIH0gZWxzaWYgKGlz
R3RrKCkgb3IgaXNFZmwoKSBvciBpc1dpbmRvd3MoKSBvciBpc0N5Z3dpbigpKSB7CiAgICAgICAg
IG15IEBjbWRzID0gcXcoYmlzb24gZ3BlcmYgZmxleCk7CiAgICAgICAgIG15IEBtaXNzaW5nID0g
KCk7CiAgICAgICAgIG15ICRvbGRQYXRoID0gJEVOVntQQVRIfTsKQEAgLTE3MjMsNyArMTcyMyw3
IEBAIHN1YiBpc0NhY2hlZEFyZ3VtZW50ZmlsZU91dE9mRGF0ZSgkQCkKIAogc3ViIGpoYnVpbGRX
cmFwcGVyUHJlZml4SWZOZWVkZWQoKQogewotICAgIGlmIChpc1dpbmRvd3MoKSkgeworICAgIGlm
IChpc1dpbmRvd3MoKSB8fCBpc0N5Z3dpbigpKSB7CiAgICAgICAgIHJldHVybiAoKTsKICAgICB9
CiAgICAgaWYgKC1lIGdldEpoYnVpbGRQYXRoKCkpIHsKQEAgLTE4NTksMTIgKzE4NTksMTMgQEAg
c3ViIGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9tQ01ha2VQcm9qZWN0CiAgICAgcHVzaCBAYXJncywg
QGNtYWtlQXJncyBpZiBAY21ha2VBcmdzOwogICAgIHB1c2ggQGFyZ3MsICRhZGRpdGlvbmFsQ01h
a2VBcmdzIGlmICRhZGRpdGlvbmFsQ01ha2VBcmdzOwogCi0gICAgcHVzaCBAYXJncywgJyInIC4g
c291cmNlRGlyKCkgLiAnIic7CisgICAgbXkgJGNtYWtlU291cmNlRGlyID0gaXNDeWd3aW4oKSA/
IHdpbmRvd3NTb3VyY2VEaXIoKSA6IHNvdXJjZURpcigpOworICAgIHB1c2ggQGFyZ3MsICciJyAu
ICRjbWFrZVNvdXJjZURpciAuICciJzsKIAogICAgICMgQ29tcGlsZXIgb3B0aW9ucyB0byBrZWVw
IGZsb2F0aW5nIHBvaW50IHZhbHVlcyBjb25zaXN0ZW50CiAgICAgIyBiZXR3ZWVuIDMyLWJpdCBh
bmQgNjQtYml0IGFyY2hpdGVjdHVyZXMuCiAgICAgZGV0ZXJtaW5lQXJjaGl0ZWN0dXJlKCk7Ci0g
ICAgaWYgKCRhcmNoaXRlY3R1cmUgbmUgIng4Nl82NCIgJiYgIWlzQVJNKCkgJiYgIWlzQ3Jvc3ND
b21waWxhdGlvbigpICYmICFpc1dpbmRvd3MoKSkgeworICAgIGlmICgkYXJjaGl0ZWN0dXJlIG5l
ICJ4ODZfNjQiICYmICFpc0FSTSgpICYmICFpc0Nyb3NzQ29tcGlsYXRpb24oKSAmJiAhaXNXaW5k
b3dzKCkgJiYgIWlzQ3lnd2luKCkpIHsKICAgICAgICAgJEVOVnsnQ1hYRkxBR1MnfSA9ICItbWFy
Y2g9cGVudGl1bTQgLW1zc2UyIC1tZnBtYXRoPXNzZSAiIC4gKCRFTlZ7J0NYWEZMQUdTJ30gfHwg
IiIpOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>