<?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>199484</bug_id>
          
          <creation_ts>2019-07-03 17:26:05 -0700</creation_ts>
          <short_desc>[WHLSL] Support float4x4 in test harness</short_desc>
          <delta_ts>2019-07-03 18:31:18 -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>WebGPU</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Fan">justin_fan</reporter>
          <assigned_to name="Justin Fan">justin_fan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1550109</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-03 17:26:05 -0700</bug_when>
    <thetext>[WHLSL] Support float4x4 in test harness</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550115</commentid>
    <comment_count>1</comment_count>
      <attachid>373445</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-03 17:44:46 -0700</bug_when>
    <thetext>Created attachment 373445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550147</commentid>
    <comment_count>2</comment_count>
      <attachid>373445</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-03 18:30:21 -0700</bug_when>
    <thetext>Comment on attachment 373445
Patch

Clearing flags on attachment: 373445

Committed r247130: &lt;https://trac.webkit.org/changeset/247130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550148</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-03 18:30:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550149</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-03 18:31:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/52623075&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373445</attachid>
            <date>2019-07-03 17:44:46 -0700</date>
            <delta_ts>2019-07-03 18:30:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199484-20190703174446.patch</filename>
            <type>text/plain</type>
            <size>12082</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MTE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2E5ODJmOGI0MjQ3ZjRjMTBjMDQ2
OGUxNmFkMTQ5OWM1NzYxM2QwNy4uNDg5ZTIxYjEwYzZhYjM2ZjVhMDUyNzMwMDY1Mzg2NTc5NzA4
N2JhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA3LTAzICBKdXN0aW4gRmFuICA8anVz
dGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBTdXBwb3J0IGZsb2F0NHg0IGlu
IHRlc3QgaGFybmVzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk5NDg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3VwcG9ydCBXSExTTCBmbG9hdDR4NCBwYXJhbWV0ZXJzIGluIHRoZSBXSExTTCB0ZXN0
IGhhcm5lc3MuCisKKyAgICAgICAgKiB3ZWJncHUvanMvd2hsc2wtdGVzdC1oYXJuZXNzLmpzOgor
ICAgICAgICAoaXNTY2FsYXIpOgorICAgICAgICAoY29udmVydFR5cGVUb0FycmF5VHlwZSk6Cisg
ICAgICAgIChjb252ZXJ0VHlwZVRvV0hMU0xUeXBlKToKKyAgICAgICAgKERhdGEpOgorICAgICAg
ICAobWFrZUZsb2F0NCk6CisgICAgICAgIChtYWtlRmxvYXQ0eDQpOgorICAgICAgICAocHJvY2Vz
c0FycmF5cyk6CisgICAgICAgIChhc3luYy5jYWxsRmxvYXQ0eDRGdW5jdGlvbik6CisgICAgICAg
IChpc1ZlY3RvclR5cGUpOiBEZWxldGVkLiBSZXBsYWNlZCB3aXRoIGlzU2NhbGFyLgorCisgICAg
ICAgIEFkZCBzb21lIGZsb2F0NHg0IHNhbml0eSBjaGVja3M6CisgICAgICAgICogd2ViZ3B1L3do
bHNsLXRlc3QtaGFybmVzcy10ZXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wtdGVzdC1oYXJuZXNzLXRlc3QuaHRtbDoKKwogMjAxOS0wNy0wMiAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSExTTF0gU3RhbmRhcmQgbGli
cmFyeSBpcyB0b28gYmlnIHRvIGRpcmVjdGx5IGluY2x1ZGUgaW4gV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL3dobHNsLXRlc3QtaGFybmVzcy5qcyBiL0xheW91dFRl
c3RzL3dlYmdwdS9qcy93aGxzbC10ZXN0LWhhcm5lc3MuanMKaW5kZXggY2ZhNGMzNWQwY2NhZTM3
Zjg4NGIxNTUzNTYyNDRlMzNkOTEzNjRmOS4uNDgyNTk1YzMwZTEzNDM5NTIyZWI3ZGI4NDRmMTBj
NDVmYjdlNmFkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL3dobHNsLXRlc3Qt
aGFybmVzcy5qcworKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2hsc2wtdGVzdC1oYXJuZXNz
LmpzCkBAIC05LDE2ICs5LDE4IEBAIGNvbnN0IFR5cGVzID0gT2JqZWN0LmZyZWV6ZSh7CiAgICAg
VUlOVDogU3ltYm9sKCJ1aW50IiksCiAgICAgRkxPQVQ6IFN5bWJvbCgiZmxvYXQiKSwKICAgICBG
TE9BVDQ6IFN5bWJvbCgiZmxvYXQ0IiksCi0gICAgTUFYX1NJWkU6IDE2IC8vIFRoaXMgbmVlZHMg
dG8gYmUgYmlnIGVub3VnaCB0byBob2xkIGFueSBzaW5ndWxhciBXSExTTCB0eXBlLgorICAgIEZM
T0FUNFg0OiBTeW1ib2woImZsb2F0NHg0IiksCisgICAgTUFYX1NJWkU6IDY0IC8vIFRoaXMgbmVl
ZHMgdG8gYmUgYmlnIGVub3VnaCB0byBob2xkIGFueSBzaW5ndWxhciBXSExTTCB0eXBlLgogfSk7
CiAKLWZ1bmN0aW9uIGlzVmVjdG9yVHlwZSh0eXBlKQorZnVuY3Rpb24gaXNTY2FsYXIodHlwZSkK
IHsKICAgICBzd2l0Y2godHlwZSkgewogICAgICAgICBjYXNlIFR5cGVzLkZMT0FUNDoKLSAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OiAKKyAgICAgICAgY2FzZSBUeXBl
cy5GTE9BVDRYNDoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIH0KIApAQCAtMzcsNiArMzksNyBAQCBm
dW5jdGlvbiBjb252ZXJ0VHlwZVRvQXJyYXlUeXBlKGlzV0hMU0wsIHR5cGUpCiAgICAgICAgICAg
ICByZXR1cm4gVWludDMyQXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZXMuRkxPQVQ6CiAgICAgICAg
IGNhc2UgVHlwZXMuRkxPQVQ0OgorICAgICAgICBjYXNlIFR5cGVzLkZMT0FUNFg0OgogICAgICAg
ICAgICAgcmV0dXJuIEZsb2F0MzJBcnJheTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBUWVBFIHByb3ZpZGVkISIpOwpAQCAtNTgsNiArNjEs
OCBAQCBmdW5jdGlvbiBjb252ZXJ0VHlwZVRvV0hMU0xUeXBlKHR5cGUpCiAgICAgICAgICAgICBy
ZXR1cm4gImZsb2F0IjsKICAgICAgICAgY2FzZSBUeXBlcy5GTE9BVDQ6CiAgICAgICAgICAgICBy
ZXR1cm4gImZsb2F0NCI7CisgICAgICAgIGNhc2UgVHlwZXMuRkxPQVQ0WDQ6CisgICAgICAgICAg
ICByZXR1cm4gImZsb2F0NHg0IjsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiSW52YWxpZCBUWVBFIHByb3ZpZGVkISIpOwogICAgIH0KQEAgLTEwNyw3ICsx
MTIsNyBAQCBjbGFzcyBEYXRhIHsKICAgICAgICAgLy8gSG93ZXZlciwgdmVjdG9yIHR5cGVzIGFy
ZSBhbHNvIGNyZWF0ZWQgdmlhIGFuIGFycmF5IG9mIHNjYWxhcnMuCiAgICAgICAgIC8vIFRoaXMg
ZW5zdXJlcyB0aGF0IGJ1ZmZlcnMgb2YganVzdCBvbmUgdmVjdG9yIGFyZSB1c2FibGUgaW4gYSB0
ZXN0IGZ1bmN0aW9uLgogICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpKQotICAgICAg
ICAgICAgdGhpcy5faXNCdWZmZXIgPSBpc1ZlY3RvclR5cGUodHlwZSkgPyBpc0J1ZmZlciA6IHRy
dWU7CisgICAgICAgICAgICB0aGlzLl9pc0J1ZmZlciA9IGlzU2NhbGFyKHR5cGUpID8gdHJ1ZSA6
IGlzQnVmZmVyOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHRoaXMuX2lzQnVmZmVyID0g
ZmFsc2U7CiAgICAgICAgICAgICB2YWx1ZXMgPSBbdmFsdWVzXTsKQEAgLTQzMywxNCArNDM4LDM0
IEBAIGZ1bmN0aW9uIG1ha2VGbG9hdCh2YWx1ZXMpCiAgKiBBIHNpbmdsZSA0LWVsZW1lbnQgYXJy
YXkgb2YgZmxvYXRzIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBmbG9hdDQgYXJndW1lbnQg
aW4gdGhlIHNoYWRlci4KICAqLwogZnVuY3Rpb24gbWFrZUZsb2F0NCh2YWx1ZXMpCit7CisgICAg
Y29uc3QgcmVzdWx0cyA9IHByb2Nlc3NBcnJheXModmFsdWVzLCA0KTsKKyAgICByZXR1cm4gbmV3
IERhdGEoaGFybmVzcywgVHlwZXMuRkxPQVQ0LCByZXN1bHRzLnZhbHVlcywgcmVzdWx0cy5pc0J1
ZmZlcik7Cit9CisKKy8qKgorICogQHBhcmFtIHtBcnJheSBvciBBcnJheVtBcnJheV19IHZhbHVl
cyAtIDFEIG9yIDJEIGFycmF5IG9mIGZsb2F0IHZhbHVlcy4KKyAqIFRoZSB0b3RhbCBudW1iZXIg
b2YgZmxvYXQgdmFsdWVzIG11c3QgYmUgZGl2aXNpYmxlIGJ5IDE2LgorICogQSBzaW5nbGUgMTYt
ZWxlbWVudCBhcnJheSBvZiBmbG9hdHMgd2lsbCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGZsb2F0
NHg0IGFyZ3VtZW50IGluIHRoZSBzaGFkZXIuCisgKiBUaGlzIHNob3VsZCBmb2xsb3cgdGhlIGds
TWF0cml4L09wZW5HTCBtZXRob2Qgb2Ygc3RvcmluZyA0eDQgbWF0cmljZXMsCisgKiB3aGVyZSB0
aGUgeCwgeSwgeiB0cmFuc2xhdGlvbiBjb21wb25lbnRzIGFyZSB0aGUgMTN0aCwgMTR0aCwgYW5k
IDE1dGggZWxlbWVudHMgcmVzcGVjdGl2ZWx5LgorICovCitmdW5jdGlvbiBtYWtlRmxvYXQ0eDQo
dmFsdWVzKQoreworICAgIGNvbnN0IHJlc3VsdHMgPSBwcm9jZXNzQXJyYXlzKHZhbHVlcywgMTYp
OworICAgIHJldHVybiBuZXcgRGF0YShoYXJuZXNzLCBUeXBlcy5GTE9BVDRYNCwgcmVzdWx0cy52
YWx1ZXMsIHJlc3VsdHMuaXNCdWZmZXIpOworfQorCitmdW5jdGlvbiBwcm9jZXNzQXJyYXlzKHZh
bHVlcywgbWluaW11bUxlbmd0aCkKIHsKICAgICBjb25zdCBvcmlnaW5hbExlbmd0aCA9IHZhbHVl
cy5sZW5ndGg7CiAgICAgLy8gVGhpcyB3b3JrcyBiZWNhdXNlIGZsb2F0NCBpcyB0aWdodGx5IHBh
Y2tlZC4KICAgICAvLyBXaGVuIGltcGxlbWVudGluZyBvdGhlciB2ZWN0b3IgdHlwZXMsIGFkZCBw
YWRkaW5nIGlmIG5lZWRlZC4KICAgICB2YWx1ZXMgPSB2YWx1ZXMuZmxhdCgpOwotICAgIGlmICh2
YWx1ZXMubGVuZ3RoICUgNCAhPSAwKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIm1ha2VGbG9h
dDQ6IEludmFsaWQgbnVtYmVyIG9mIGVsZW1lbnRzISIpOwotICAgIHJldHVybiBuZXcgRGF0YSho
YXJuZXNzLCBUeXBlcy5GTE9BVDQsIHZhbHVlcywgb3JpZ2luYWxMZW5ndGggPT09IDEgfHwgdmFs
dWVzLmxlbmd0aCA+IDQpOworICAgIGlmICh2YWx1ZXMubGVuZ3RoICUgbWluaW11bUxlbmd0aCAh
PSAwKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbnVtYmVyIG9mIGVsZW1lbnRz
IGluIG5vbi1zY2FsYXIgdHlwZSEiKTsKKyAgICAKKyAgICByZXR1cm4geyB2YWx1ZXM6IHZhbHVl
cywgaXNCdWZmZXI6IG9yaWdpbmFsTGVuZ3RoID09PSAxIHx8IHZhbHVlcy5sZW5ndGggPiBtaW5p
bXVtTGVuZ3RoIH07CiB9CiAKIC8qKgpAQCAtNDc5LDYgKzUwNCwxMSBAQCBhc3luYyBmdW5jdGlv
biBjYWxsRmxvYXQ0RnVuY3Rpb24oZnVuY3Rpb25zLCBuYW1lLCBhcmdzKQogICAgIHJldHVybiAo
YXdhaXQgaGFybmVzcy5jYWxsVHlwZWRGdW5jdGlvbihUeXBlcy5GTE9BVDQsIGZ1bmN0aW9ucywg
bmFtZSwgYXJncykpLnN1YmFycmF5KDAsIDQpOwogfQogCithc3luYyBmdW5jdGlvbiBjYWxsRmxv
YXQ0eDRGdW5jdGlvbihmdW5jdGlvbnMsIG5hbWUsIGFyZ3MpCit7CisgICAgcmV0dXJuIChhd2Fp
dCBoYXJuZXNzLmNhbGxUeXBlZEZ1bmN0aW9uKFR5cGVzLkZMT0FUNFg0LCBmdW5jdGlvbnMsIG5h
bWUsIGFyZ3MpKS5zdWJhcnJheSgwLCAxNik7Cit9CisKIC8qKgogICogRG9lcyBub3QgcmV0dXJu
IGEgUHJvbWlzZS4gVG8gb2JzZXJ2ZSB0aGUgcmVzdWx0cyBvZiBhIGNhbGwsIAogICogY2FsbCAn
Z2V0QXJyYXlCdWZmZXInIG9uIHRoZSBEYXRhIG9iamVjdCByZXRhaW5pbmcgeW91ciBvdXRwdXQg
YnVmZmVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXRlc3QtaGFybmVz
cy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS93aGxzbC10ZXN0LWhhcm5l
c3MtdGVzdC1leHBlY3RlZC50eHQKaW5kZXggMjZiMmJkODVkYzc4YmJhODQ0ZjAwNjk5NzhjYmVh
M2ExYjFmOTAzOC4uYTA3NTc3ZDUwNGQ5NmQ3N2RiYzU2MjMxNDQ5MTYxZTA1MmUxNWM2MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXRlc3QtaGFybmVzcy10ZXN0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtdGVzdC1oYXJuZXNzLXRlc3Qt
ZXhwZWN0ZWQudHh0CkBAIC0yNSw0ICsyNSw5IEBAIFBBU1MgUmV0dXJuIGFuIGV4cGVjdGVkIGZs
b2F0IHZhbHVlLgogUEFTUyBVcGxvYWQgYW5kIGNhbGN1bGF0ZSBhIHJlc3VsdCBmcm9tIHZhcmll
ZCBhcmd1bWVudCB0eXBlcy4gCiBQQVNTIFN0b3JlIGludG8gYSBmbG9hdDRbXS4gCiBQQVNTIFVw
bG9hZCBhIGludFtdIGFuZCBzdG9yZSBpbnRvIGEgaW50W10uIAorUEFTUyBVcGxvYWQgYSBmbG9h
dDR4NFtdIGFuZCBzdG9yZSBpbnRvIGEgZmxvYXQ0eDRbXS4gCitQQVNTIFJldHVybiBhbiBleHBl
Y3RlZCBmbG9hdDR4NCB2YWx1ZS4gCitQQVNTIFJldHVybiBhbiBleHBlY3RlZCBmbG9hdDR4NCB2
YWx1ZS4gCitQQVNTIFJldHVybiBhbiBleHBlY3RlZCBmbG9hdDR4NCB2YWx1ZS4gCitQQVNTIFJl
dHVybiBhbiBleHBlY3RlZCBmbG9hdDR4NCB2YWx1ZS4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdwdS93aGxzbC10ZXN0LWhhcm5lc3MtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsLXRlc3QtaGFybmVzcy10ZXN0Lmh0bWwKaW5kZXggNjEyOGIzNWM2OTBmNDcyYTAw
ZWViNDA3MDJiM2JkYjM5OGQxOGIwMi4uN2M2MjJiNjZiYmUyODYyMDVjMDUwZmQwZGM5NGY1MWEz
ZmRlODU5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXRlc3QtaGFybmVz
cy10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXRlc3QtaGFybmVzcy10
ZXN0Lmh0bWwKQEAgLTI3LDE3ICsyNywzNSBAQCBjb25zdCBzY2FsYXJBcmdNYWtlcnMgPSB7CiAg
ICAgImZsb2F0IjogbWFrZUZsb2F0CiB9OwogCitjb25zdCBhcnJheVR5cGVMZW5ndGhzID0gewor
ICAgICJmbG9hdDQiOiA0LAorICAgICJmbG9hdDR4NCI6IDE2Cit9OworCitjb25zdCBhcnJheUZ1
bmNzID0geworICAgICJmbG9hdDQiOiBjYWxsRmxvYXQ0RnVuY3Rpb24sCisgICAgImZsb2F0NHg0
IjogY2FsbEZsb2F0NHg0RnVuY3Rpb24sCit9OworCitjb25zdCBhcnJheUFyZ01ha2VycyA9IHsK
KyAgICAiZmxvYXQ0IjogbWFrZUZsb2F0NCwKKyAgICAiZmxvYXQ0eDQiOiBtYWtlRmxvYXQ0eDQK
K307CisKK2NvbnN0IGZsb2F0NHg0ZXhwZWN0ZWQgPSBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywg
OCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNV07Citjb25zdCBmbG9hdDRleHBlY3RlZCA9IGZs
b2F0NHg0ZXhwZWN0ZWQuc2xpY2UoMCwgNCk7CisKIGxldCB3aGxzbFRlc3RzID0ge307CiAKIHdo
bHNsVGVzdHMubGl0ZXJhbHMgPSAoKSA9PiB7CiAgICAgY2hlY2tCb29scygiUmV0dXJuIGEgbGl0
ZXJhbCBvZiB0eXBlIGJvb2wuIiwgInJldHVybiB0cnVlOyIpOwotICAgIGNoZWNrRmxvYXQ0cygi
cmV0dXJuIGZsb2F0NCgwLCAxLCAyLCAzKTsiKTsKKyAgICBjaGVja0FycmF5cygiZmxvYXQ0Iiwg
InJldHVybiBmbG9hdDQoMCwgMSwgMiwgMyk7IiwgW10sIGZsb2F0NGV4cGVjdGVkKTsKICAgICBj
aGVja051bWVyaWNTY2FsYXJzKCJyZXR1cm4gNDI7IiwgW10sIDQyKTsKIH07CiAKIHdobHNsVGVz
dHMuc2luZ2xlQXJndW1lbnQgPSAoKSA9PiB7CiAgICAgY2hlY2tCb29scygiVXBsb2FkIGFuZCBy
ZXR1cm4gYSBib29sIHZhbHVlLiIsICJyZXR1cm4gaW4wOyIsIFt0cnVlXSk7Ci0gICAgY2hlY2tG
bG9hdDRzKCJyZXR1cm4gaW4wOyIsIFtbMCwgMSwgMiwgM11dKTsKKyAgICBjaGVja0FycmF5cygi
ZmxvYXQ0IiwgInJldHVybiBpbjA7IiwgW2Zsb2F0NGV4cGVjdGVkXSwgZmxvYXQ0ZXhwZWN0ZWQp
OwogICAgIGNoZWNrTnVtZXJpY1NjYWxhcnMoInJldHVybiBpbjA7IiwgWzQyXSwgNDIpOwogfTsK
IApAQCAtNDksOCArNjcsOCBAQCB3aGxzbFRlc3RzLm1hbnlBcmd1bWVudHMgPSAoKSA9PiB7CiAg
ICAgbGV0IGJvZHkgPSAicmV0dXJuIGZsb2F0NChpbjAueCwgaW4xLnksIGluMi56LCBpbjMudyk7
IgogICAgIGxldCBhcmdzID0gW107CiAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyArK2kpCi0g
ICAgICAgIGFyZ3MucHVzaChbMCwgMSwgMiwgM10pOwotICAgIGNoZWNrRmxvYXQ0cyhib2R5LCBh
cmdzLCBbMCwgMSwgMiwgM10pOworICAgICAgICBhcmdzLnB1c2goZmxvYXQ0ZXhwZWN0ZWQpOwor
ICAgIGNoZWNrQXJyYXlzKCJmbG9hdDQiLCBib2R5LCBhcmdzLCBmbG9hdDRleHBlY3RlZCk7CiAK
ICAgICBib2R5ID0gYHJldHVybiBpbjAgKyBpbjEgKyBpbjIgKyBpbjMgKyBpbjQgKyBpbjUgKyBp
bjYgKyBpbjc7YDsKICAgICBjaGVja051bWVyaWNTY2FsYXJzKGJvZHksIFswLCAxLCAyLCAzLCA0
LCA1LCA2LCA3XSwgMjgpOwpAQCAtNTgsNyArNzYsNyBAQCB3aGxzbFRlc3RzLm1hbnlBcmd1bWVu
dHMgPSAoKSA9PiB7CiAKIHdobHNsVGVzdHMuYnVmZmVyc1dpdGhPbmVWYWx1ZSA9ICgpID0+IHsK
ICAgICBjb25zdCBib2R5ID0gYHJldHVybiBpbjBbMF07YAotICAgIGNoZWNrRmxvYXQ0cyhib2R5
LCBbW1swLCAxLCAyLCAzXV1dKTsKKyAgICBjaGVja0FycmF5cygiZmxvYXQ0IiwgYm9keSwgW1tm
bG9hdDRleHBlY3RlZF1dLCBmbG9hdDRleHBlY3RlZCk7CiAgICAgY2hlY2tOdW1lcmljU2NhbGFy
cyhib2R5LCBbWzQyXV0sIDQyKTsKIH07CiAKQEAgLTcwLDggKzg4LDcgQEAgd2hsc2xUZXN0cy5t
dWx0aXBsZUJ1ZmZlckFyZ3VtZW50cyA9ICgpID0+IHsKICAgICBmbG9hdCB3ID0gaW4wWzBdLncg
KyBpbjBbMV0udyArIGluMFsyXS53ICsgaW4xLncgKyBpbjJbMF0udzsKIAogICAgIHJldHVybiBm
bG9hdDQoeCwgeSwgeiwgdyk7YDsKLSAgICBjb25zdCB2ZWN0b3IgPSBbMCwgMSwgMiwgM107Ci0g
ICAgY2hlY2tGbG9hdDRzKGJvZHksIFtbdmVjdG9yLCB2ZWN0b3IsIHZlY3Rvcl0sIHZlY3Rvciwg
W3ZlY3Rvcl1dLCBbMCwgNSwgMTAsIDE1XSk7CisgICAgY2hlY2tBcnJheXMoImZsb2F0NCIsIGJv
ZHksIFtbZmxvYXQ0ZXhwZWN0ZWQsIGZsb2F0NGV4cGVjdGVkLCBmbG9hdDRleHBlY3RlZF0sIGZs
b2F0NGV4cGVjdGVkLCBbZmxvYXQ0ZXhwZWN0ZWRdXSwgWzAsIDUsIDEwLCAxNV0pOwogCiAgICAg
Ym9keSA9IGByZXR1cm4gaW4wWzBdICsgaW4wWzFdICsgaW4wWzJdICsgaW4xICsgaW4yWzBdO2A7
CiAgICAgY2hlY2tOdW1lcmljU2NhbGFycyhib2R5LCBbWzAsIDEsIDJdLCAzLCBbNF1dLCAxMCk7
CkBAIC0xMjcsNiArMTQ0LDM4IEBAIHdobHNsVGVzdHMuYnVmZmVyU3RvcmVzID0gKCkgPT4gewog
ICAgIH0sICJVcGxvYWQgYSBpbnRbXSBhbmQgc3RvcmUgaW50byBhIGludFtdLiIpOwogfTsKIAor
d2hsc2xUZXN0cy5mbG9hdDR4NHRlc3RzID0gKCkgPT4geworICAgIGNvbnN0IHNyYyA9IGB2b2lk
IHRlc3QoZGV2aWNlIGZsb2F0NHg0W10gaW4sIGRldmljZSBmbG9hdDR4NFtdIG91dCkgeworICAg
ICAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCA0OyBpID0gaSArIDEpCisgICAgICAgICAgICBvdXRb
aV0gPSBpbltpXTsKKyAgICB9YDsKKyAgICBjb25zdCBpbnB1dCA9IG1ha2VGbG9hdDR4NChbZmxv
YXQ0eDRleHBlY3RlZCwgZmxvYXQ0eDRleHBlY3RlZCwgZmxvYXQ0eDRleHBlY3RlZCwgZmxvYXQ0
eDRleHBlY3RlZF0pOworICAgIGNvbnN0IG91dHB1dCA9IG1ha2VGbG9hdDR4NChuZXcgQXJyYXko
NjQpLmZpbGwoMCkpOworICAgIGNhbGxWb2lkRnVuY3Rpb24oc3JjLCAidGVzdCIsIFtpbnB1dCwg
b3V0cHV0XSk7CisKKyAgICB3ZWJHUFVQcm9taXNlVGVzdCgoKSA9PiB7CisgICAgICAgIHJldHVy
biBvdXRwdXQuZ2V0QXJyYXlCdWZmZXIoKS50aGVuKGFycmF5QnVmZmVyID0+IHsKKyAgICAgICAg
ICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBGbG9hdDMyQXJyYXkoYXJyYXlCdWZmZXIpOworICAgICAg
ICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyArK2kpIHsKKyAgICAgICAgICAgICAgICBmb3Ig
KGxldCBqID0gMDsgaiA8IDE2OyArK2opCisgICAgICAgICAgICAgICAgICAgIGFzc2VydF9hcHBy
b3hfZXF1YWxzKHJlc3VsdFtpICogMTYgKyBqXSwgZmxvYXQ0eDRleHBlY3RlZFtqXSwgZXBzaWxv
biwgIlRlc3Qgc3RvcmVkIGV4cGVjdGVkIHZhbHVlcy4iKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSk7CisgICAgfSwgIlVwbG9hZCBhIGZsb2F0NHg0W10gYW5kIHN0b3JlIGludG8gYSBmbG9h
dDR4NFtdLiIpOworCisgICAgY2hlY2tBcnJheXMoImZsb2F0NHg0IiwgInJldHVybiBmbG9hdDR4
NChmbG9hdDQoMCwgMSwgMiwgMyksIGZsb2F0NCg0LCA1LCA2LCA3KSwgZmxvYXQ0KDgsIDksIDEw
LCAxMSksIGZsb2F0NCgxMiwgMTMsIDE0LCAxNSkpOyIsIFtdLCBmbG9hdDR4NGV4cGVjdGVkKTsK
KyAgICBjaGVja0FycmF5cygiZmxvYXQ0eDQiLCAicmV0dXJuIGluMDsiLCBbZmxvYXQ0eDRleHBl
Y3RlZF0sIGZsb2F0NHg0ZXhwZWN0ZWQpOworICAgIGxldCBtdWx0aXBsZTR4NGFyZ3MgPSBbXTsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyArK2kpIHsKKyAgICAgICAgY29uc3QgYXJnID0g
bmV3IEFycmF5KDE2KTsKKyAgICAgICAgYXJnLmZpbGwoMCk7CisgICAgICAgIGFyZ1tpXSA9IGk7
CisgICAgICAgIG11bHRpcGxlNHg0YXJncy5wdXNoKGFyZyk7CisgICAgfQorICAgIGNoZWNrQXJy
YXlzKCJmbG9hdDR4NCIsICJyZXR1cm4gaW4wICsgaW4xICsgaW4yICsgaW4zICsgaW40ICsgaW41
ICsgaW42ICsgaW43ICsgaW44ICsgaW45ICsgaW4xMCArIGluMTEgKyBpbjEyICsgaW4xMyArIGlu
MTQgKyBpbjE1OyIsIG11bHRpcGxlNHg0YXJncywgZmxvYXQ0eDRleHBlY3RlZCk7CisgICAgY2hl
Y2tBcnJheXMoImZsb2F0NHg0IiwgInJldHVybiBpbjBbMF07IiwgW1tmbG9hdDR4NGV4cGVjdGVk
XV0sIGZsb2F0NHg0ZXhwZWN0ZWQpOworfTsKKwogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCAoKSA9PiB7CiAgICAgdHJ5IHsKICAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIHdobHNs
VGVzdHMpIHsKQEAgLTE3NSwyNiArMjI0LDI2IEBAIGNvbnN0IGNoZWNrQm9vbHMgPSAobXNnID0g
IlJldHVybiBhbiBleHBlY3RlZCBib29sIHZhbHVlLiIsIGJvZHksIGFyZ1ZhbHVlcyA9IFtdCiAg
ICAgfSwgbXNnKTsKIH07CiAKLWNvbnN0IGNoZWNrRmxvYXQ0cyA9IChib2R5LCBhcmdWYWx1ZXMg
PSBbXSwgZXhwZWN0ZWQgPSBbMCwgMSwgMiwgM10pID0+IHsKK2NvbnN0IGNoZWNrQXJyYXlzID0g
KHR5cGUsIGJvZHksIGFyZ1ZhbHVlcyA9IFtdLCBleHBlY3RlZCkgPT4gewogICAgIGxldCBpbnB1
dEFyZ3MgPSBbXTsKICAgICBsZXQgdmFsdWVzID0gW107CiAgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBhcmdWYWx1ZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgLy8gU3VwcG9ydCBhcnJheXMgb2Yg
ZmxvYXQ0LCBpbmNsdWRpbmcgb25lIHdpdGggYSBzaW5nbGUgZmxvYXQ0LgogICAgICAgICBjb25z
dCB0b3RhbExlbmd0aCA9IGFyZ1ZhbHVlc1tpXS5mbGF0KCkubGVuZ3RoOwotICAgICAgICBjb25z
dCBpc0J1ZmZlciA9IGFyZ1ZhbHVlc1tpXS5sZW5ndGggPT09IDEgfHwgdG90YWxMZW5ndGggPiA0
OwotICAgICAgICBpbnB1dEFyZ3MucHVzaChgJHtpc0J1ZmZlciA/ICJkZXZpY2UgIiA6ICIifWZs
b2F0NCR7aXNCdWZmZXIgPyAiW10iIDogIiJ9IGluJHtpfWApOwotICAgICAgICB2YWx1ZXMucHVz
aChtYWtlRmxvYXQ0KGFyZ1ZhbHVlc1tpXSkpOworICAgICAgICBjb25zdCBpc0J1ZmZlciA9IGFy
Z1ZhbHVlc1tpXS5sZW5ndGggPT09IDEgfHwgdG90YWxMZW5ndGggPiBhcnJheVR5cGVMZW5ndGhz
W3R5cGVdOworICAgICAgICBpbnB1dEFyZ3MucHVzaChgJHtpc0J1ZmZlciA/ICJkZXZpY2UgIiA6
ICIifSR7dHlwZX0ke2lzQnVmZmVyID8gIltdIiA6ICIifSBpbiR7aX1gKTsKKyAgICAgICAgdmFs
dWVzLnB1c2goYXJyYXlBcmdNYWtlcnNbdHlwZV0oYXJnVmFsdWVzW2ldKSk7CiAgICAgfQogCi0g
ICAgY29uc3Qgc3JjID0gYGZsb2F0NCBmbG9hdDRUZXN0KCR7aW5wdXRBcmdzLmpvaW4oIiwgIil9
KSB7ICR7Ym9keX0gfQorICAgIGNvbnN0IHNyYyA9IGAke3R5cGV9ICR7dHlwZX1UZXN0KCR7aW5w
dXRBcmdzLmpvaW4oIiwgIil9KSB7ICR7Ym9keX0gfQogICAgIGA7CiAKICAgICB3ZWJHUFVQcm9t
aXNlVGVzdChhc3luYyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBjYWxsRmxvYXQ0RnVuY3Rpb24o
c3JjLCAiZmxvYXQ0VGVzdCIsIHZhbHVlcykudGhlbihyZXN1bHQgPT4gewotICAgICAgICAgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCA0OyArK2kpCisgICAgICAgIHJldHVybiBhcnJheUZ1bmNzW3R5
cGVdKHNyYywgYCR7dHlwZX1UZXN0YCwgdmFsdWVzKS50aGVuKHJlc3VsdCA9PiB7CisgICAgICAg
ICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5VHlwZUxlbmd0aHNbdHlwZV07ICsraSkKICAg
ICAgICAgICAgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhyZXN1bHRbaV0sIGV4cGVjdGVkW2ld
LCBlcHNpbG9uLCAiVGVzdCByZXR1cm5lZCBleHBlY3RlZCB2YWx1ZS4iKTsKICAgICAgICAgfSk7
Ci0gICAgfSwgIlJldHVybiBhbiBleHBlY3RlZCBmbG9hdDQgdmFsdWUuIik7CisgICAgfSwgYFJl
dHVybiBhbiBleHBlY3RlZCAke3R5cGV9IHZhbHVlLmApOwogfQogCiBjb25zdCBhcHBlbmRTY2Fs
YXJGdW5jdGlvblRvU291cmNlID0gKHNyYywgdHlwZSwgYm9keSwgYXJnVmFsdWVzKSA9PiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>