<?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>232352</bug_id>
          
          <creation_ts>2021-10-26 16:42:40 -0700</creation_ts>
          <short_desc>Store WPT-style fuzzy pixel matching data in ImageDiffResult</short_desc>
          <delta_ts>2021-10-27 11:20: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>Tools / Tests</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>
          
          <blocked>232365</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>jbedard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1809102</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-26 16:42:40 -0700</bug_when>
    <thetext>Store WPT-style fuzzy pixel matching data in ImageDiffResult</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809103</commentid>
    <comment_count>1</comment_count>
      <attachid>442542</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-26 16:43:49 -0700</bug_when>
    <thetext>Created attachment 442542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809211</commentid>
    <comment_count>2</comment_count>
      <attachid>442542</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-10-27 03:48:42 -0700</bug_when>
    <thetext>Comment on attachment 442542
Patch

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

&gt; Tools/Scripts/webkitpy/port/image_diff.py:147
&gt; +        m = re.match(b&apos;maxDifference=(\d+); totalPixels=(\d+)&apos;, fuzzy_data)

I think this should be:
    
m = re.match(br&apos;maxDifference=(\d+); totalPixels=(\d+)&apos;, fuzzy_data)

which is the source of the style bot failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809339</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-27 11:19:36 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/284930/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809340</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-27 11:20:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/84719334&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442542</attachid>
            <date>2021-10-26 16:43:49 -0700</date>
            <delta_ts>2021-10-27 03:48:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232352-20211026164348.patch</filename>
            <type>text/plain</type>
            <size>17558</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0ODkxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGE4M2U4MGQxMDdjYzJkYTI5NjBhNjA1YWU0MGRjNDlm
MmExMmY5Yy4uZGNjYTY4ODgzMzVjNDViODcyN2M4NWY4ZDcwYTVlYzliYmY3YmY2OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMw
IEBACisyMDIxLTEwLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFN0b3JlIFdQVC1zdHlsZSBmdXp6eSBwaXhlbCBtYXRjaGluZyBkYXRhIGluIElt
YWdlRGlmZlJlc3VsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyMzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWx3YXlzIHJ1biBJbWFnZURpZmYgd2l0aCBgLS1kaWZmZXJlbmNlYCBzbyB0aGF0IGl0
IHByaW50cyB0aGUgIm1heERpZmZlcmVuY2U9OyB0b3RhbFBpeGVscz0iCisgICAgICAgIG91dHB1
dCwgYW5kIHBhcnNlIGFuZCBzdG9yZSB0aGlzIG91dHB1dCBpbiBJbWFnZURpZmZSZXN1bHQuCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3Rz
X2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKFJ1blRlc3QudGVzdF90b2xlcmFuY2UuSW1h
Z2VEaWZmVGVzdFBvcnQuZGlmZl9pbWFnZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9w
b3J0L2ltYWdlX2RpZmYucHk6CisgICAgICAgIChJbWFnZURpZmZSZXN1bHQuX19pbml0X18pOgor
ICAgICAgICAoSW1hZ2VEaWZmUmVzdWx0Ll9fZXFfXyk6CisgICAgICAgIChJbWFnZURpZmZSZXN1
bHQuX19yZXByX18pOgorICAgICAgICAoSW1hZ2VEaWZmZXIuX3N0YXJ0KToKKyAgICAgICAgKElt
YWdlRGlmZmVyLl9yZWFkKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90
ZXN0Y2FzZS5weToKKyAgICAgICAgKFBvcnRUZXN0Q2FzZS50ZXN0X2RpZmZfaW1hZ2UubWFrZV9w
cm9jKToKKyAgICAgICAgKFBvcnRUZXN0Q2FzZS50ZXN0X2RpZmZfaW1hZ2UpOgorICAgICAgICAo
UG9ydFRlc3RDYXNlLnRlc3RfZGlmZl9pbWFnZV9wYXNzZWQpOgorICAgICAgICAoUG9ydFRlc3RD
YXNlLnRlc3RfZGlmZl9pbWFnZV9wYXNzZWRfd2l0aF90b2xlcmFuY2UpOgorICAgICAgICAoUG9y
dFRlc3RDYXNlLnRlc3RfZGlmZl9pbWFnZV9mYWlsZWRfd2l0aF9yb3VuZGVkX2RpZmYpOgorICAg
ICAgICAoUG9ydFRlc3RDYXNlLnRlc3RfZGlmZl9pbWFnZV9mYWlsZWQpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5OgorCiAyMDIxLTEwLTI2ICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFRoZSBzY3JpcHQgc2hvdWxkIGRl
Y2lkZSB3aGVuIGFuIGltYWdlIGRpZmYgY2FzZXMsIG5vdCBJbWFnZURpZmYKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50
ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVu
X3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXggMTU0YWQ0ZWRmZTM3ZjFjMDk0
MmY0MWQxMzBmZjQwY2IzMjgyNWVkNi4uNDVlMGJjYjcwYWEwNGIxNTMzMTk3ODFjZTU1YjhhMWRm
ZGM1NTgzZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkK
QEAgLTc1Miw3ICs3NTIsNyBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJl
YW1UZXN0aW5nTWl4aW4pOgogICAgICAgICBjbGFzcyBJbWFnZURpZmZUZXN0UG9ydCh0ZXN0LlRl
c3RQb3J0KToKICAgICAgICAgICAgIGRlZiBkaWZmX2ltYWdlKHNlbGYsIGV4cGVjdGVkX2NvbnRl
bnRzLCBhY3R1YWxfY29udGVudHMsIHRvbGVyYW5jZT1Ob25lKToKICAgICAgICAgICAgICAgICBz
ZWxmLnRvbGVyYW5jZV91c2VkX2Zvcl9kaWZmX2ltYWdlID0gc2VsZi5fb3B0aW9ucy50b2xlcmFu
Y2UKLSAgICAgICAgICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0KHBhc3NlZD1GYWxzZSwg
ZGlmZl9pbWFnZT1iJycsIGRpZmZlcmVuY2U9MSwgdG9sZXJhbmNlPXNlbGYuX29wdGlvbnMudG9s
ZXJhbmNlIG9yIDApCisgICAgICAgICAgICAgICAgcmV0dXJuIEltYWdlRGlmZlJlc3VsdChwYXNz
ZWQ9RmFsc2UsIGRpZmZfaW1hZ2U9YicnLCBkaWZmZXJlbmNlPTEsIGZ1enp5X2RhdGE9Tm9uZSwg
dG9sZXJhbmNlPXNlbGYuX29wdGlvbnMudG9sZXJhbmNlIG9yIDApCiAKICAgICAgICAgZGVmIGdl
dF9wb3J0X2Zvcl9ydW4oYXJncyk6CiAgICAgICAgICAgICBvcHRpb25zLCBwYXJzZWRfYXJncyA9
IHJ1bl93ZWJraXRfdGVzdHMucGFyc2VfYXJncyhhcmdzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2ltYWdlX2RpZmYucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvaW1hZ2VfZGlmZi5weQppbmRleCA1MTdjNzRkMWMzZjRjOWY4NzAyY2EyNzE5NGUzZWUz
OTdjYWFmODg5Li45Y2M3ODE1MjhhYmVlNzk2NTg3ODk5NWU4NTUxZDllNTZhNGU5Nzg0IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weQpAQCAtNDAsMTAgKzQwLDEx
IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogCiBjbGFzcyBJbWFnZURp
ZmZSZXN1bHQob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGFzc2VkLCBkaWZmX2lt
YWdlLCBkaWZmZXJlbmNlLCB0b2xlcmFuY2U9MCwgZXJyb3Jfc3RyaW5nPU5vbmUpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBwYXNzZWQsIGRpZmZfaW1hZ2UsIGRpZmZlcmVuY2UsIHRvbGVyYW5j
ZT0wLCBmdXp6eV9kYXRhPU5vbmUsIGVycm9yX3N0cmluZz1Ob25lKToKICAgICAgICAgc2VsZi5w
YXNzZWQgPSBwYXNzZWQKICAgICAgICAgc2VsZi5kaWZmX2ltYWdlID0gZGlmZl9pbWFnZQogICAg
ICAgICBzZWxmLmRpZmZfcGVyY2VudCA9IGRpZmZlcmVuY2UKKyAgICAgICAgc2VsZi5mdXp6eV9k
YXRhID0gZnV6enlfZGF0YQogICAgICAgICBzZWxmLnRvbGVyYW5jZSA9IHRvbGVyYW5jZQogICAg
ICAgICBzZWxmLmVycm9yX3N0cmluZyA9IGVycm9yX3N0cmluZwogCkBAIC01Miw2ICs1Myw3IEBA
IGNsYXNzIEltYWdlRGlmZlJlc3VsdChvYmplY3QpOgogICAgICAgICAgICAgcmV0dXJuIChzZWxm
LnBhc3NlZCA9PSBvdGhlci5wYXNzZWQgYW5kCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlm
Zl9pbWFnZSA9PSBvdGhlci5kaWZmX2ltYWdlIGFuZAogICAgICAgICAgICAgICAgICAgICBzZWxm
LmRpZmZfcGVyY2VudCA9PSBvdGhlci5kaWZmX3BlcmNlbnQgYW5kCisgICAgICAgICAgICAgICAg
ICAgIHNlbGYuZnV6enlfZGF0YSA9PSBvdGhlci5mdXp6eV9kYXRhIGFuZAogICAgICAgICAgICAg
ICAgICAgICBzZWxmLnRvbGVyYW5jZSA9PSBvdGhlci50b2xlcmFuY2UgYW5kCiAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuZXJyb3Jfc3RyaW5nID09IG90aGVyLmVycm9yX3N0cmluZykKIApAQCAt
NjEsNyArNjMsNyBAQCBjbGFzcyBJbWFnZURpZmZSZXN1bHQob2JqZWN0KToKICAgICAgICAgcmV0
dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAg
ICAgICAgcmV0dXJuICdJbWFnZURpZmZSZXN1bHQoUGFzc2VkIHt9IHt9IGRpZmYge30gdG9sZXJh
bmNlIHt9IHt9KScuZm9ybWF0KHNlbGYucGFzc2VkLCBzZWxmLmRpZmZfaW1hZ2UsIHNlbGYuZGlm
Zl9wZXJjZW50LCBzZWxmLnRvbGVyYW5jZSwgc2VsZi5lcnJvcl9zdHJpbmcpCisgICAgICAgIHJl
dHVybiAnSW1hZ2VEaWZmUmVzdWx0KFBhc3NlZCB7fSB7fSBkaWZmIHt9IHRvbGVyYW5jZSB7fSBm
dXp6eSBkYXRhIHt9IHt9KScuZm9ybWF0KHNlbGYucGFzc2VkLCBzZWxmLmRpZmZfaW1hZ2UsIHNl
bGYuZGlmZl9wZXJjZW50LCBzZWxmLnRvbGVyYW5jZSwgc2VsZi5mdXp6eV9kYXRhLCBzZWxmLmVy
cm9yX3N0cmluZykKIAogY2xhc3MgSW1hZ2VEaWZmZXIob2JqZWN0KToKICAgICBkZWYgX19pbml0
X18oc2VsZiwgcG9ydCk6CkBAIC05MSw3ICs5Myw3IEBAIGNsYXNzIEltYWdlRGlmZmVyKG9iamVj
dCk6CiAgICAgICAgICAgICByZXR1cm4gKE5vbmUsIDAsICJGYWlsZWQgdG8gY29tcHV0ZSBhbiBp
bWFnZSBkaWZmOiAlcyIgJSBzdHIoZXhjZXB0aW9uKSkKIAogICAgIGRlZiBfc3RhcnQoc2VsZiwg
dG9sZXJhbmNlKToKLSAgICAgICAgY29tbWFuZCA9IFtzZWxmLl9wb3J0Ll9wYXRoX3RvX2ltYWdl
X2RpZmYoKSwgJy0tdG9sZXJhbmNlJywgc3RyKHRvbGVyYW5jZSldCisgICAgICAgIGNvbW1hbmQg
PSBbc2VsZi5fcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICctLWRpZmZlcmVuY2UnLCAnLS10
b2xlcmFuY2UnLCBzdHIodG9sZXJhbmNlKV0KICAgICAgICAgaWYgc2VsZi5fcG9ydC5fc2hvdWxk
X3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICBjb21tYW5kID0gc2VsZi5fcG9ydC5famhidWls
ZF93cmFwcGVyICsgY29tbWFuZAogICAgICAgICBlbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0
dXBfZW52aXJvbl9mb3Jfc2VydmVyKCdJbWFnZURpZmYnKQpAQCAtMTAzLDYgKzEwNSw3IEBAIGNs
YXNzIEltYWdlRGlmZmVyKG9iamVjdCk6CiAgICAgICAgIGRlYWRsaW5lID0gdGltZS50aW1lKCkg
KyAyLjAKICAgICAgICAgb3V0cHV0X2ltYWdlID0gTm9uZQogICAgICAgICBkaWZmX291dHB1dCA9
IE5vbmUKKyAgICAgICAgZnV6enlfZGF0YSA9IE5vbmUKIAogICAgICAgICB3aGlsZSBub3Qgc2Vs
Zi5fcHJvY2Vzcy50aW1lZF9vdXQgYW5kIG5vdCBzZWxmLl9wcm9jZXNzLmhhc19jcmFzaGVkKCk6
CiAgICAgICAgICAgICBvdXRwdXQgPSBzZWxmLl9wcm9jZXNzLnJlYWRfc3Rkb3V0X2xpbmUoZGVh
ZGxpbmUpCkBAIC0xMTUsNiArMTE4LDkgQEAgY2xhc3MgSW1hZ2VEaWZmZXIob2JqZWN0KToKICAg
ICAgICAgICAgIGlmIG91dHB1dC5zdGFydHN3aXRoKGInZGlmZjonKToKICAgICAgICAgICAgICAg
ICBkaWZmX291dHB1dCA9IG91dHB1dAogCisgICAgICAgICAgICBpZiBvdXRwdXQuc3RhcnRzd2l0
aChiJ21heERpZmZlcmVuY2U9Jyk6CisgICAgICAgICAgICAgICAgZnV6enlfZGF0YSA9IG91dHB1
dAorCiAgICAgICAgICAgICBpZiBvdXRwdXQuc3RhcnRzd2l0aChiJ0NvbnRlbnQtTGVuZ3RoJyk6
CiAgICAgICAgICAgICAgICAgbSA9IHJlLm1hdGNoKGJyJ0NvbnRlbnQtTGVuZ3RoOiAoXGQrKScs
IG91dHB1dCkKICAgICAgICAgICAgICAgICBjb250ZW50X2xlbmd0aCA9IGludChzdHJpbmdfdXRp
bHMuZGVjb2RlKG0uZ3JvdXAoMSksIHRhcmdldF90eXBlPXN0cikpCkBAIC0xMjksMjIgKzEzNSwy
OSBAQCBjbGFzcyBJbWFnZURpZmZlcihvYmplY3QpOgogICAgICAgICBpZiBzZWxmLl9wcm9jZXNz
Lmhhc19jcmFzaGVkKCk6CiAgICAgICAgICAgICBlcnJfc3RyICs9ICJJbWFnZURpZmYgY3Jhc2hl
ZFxuIgogCi0gICAgICAgIGlmIG5vdCBkaWZmX291dHB1dDoKLSAgICAgICAgICAgIHJldHVybiBJ
bWFnZURpZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZmX2ltYWdlPU5vbmUsIGRpZmZlcmVuY2U9
MCwgdG9sZXJhbmNlPXNlbGYuX3RvbGVyYW5jZSwgZXJyb3Jfc3RyaW5nPWVycl9zdHIgb3IgIkZh
aWxlZCB0byByZWFkIEltYWdlRGlmZiBvdXRwdXQiKQorICAgICAgICBpZiBub3QgZGlmZl9vdXRw
dXQgb3Igbm90IGZ1enp5X2RhdGE6CisgICAgICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0
KHBhc3NlZD1GYWxzZSwgZGlmZl9pbWFnZT1Ob25lLCBkaWZmZXJlbmNlPTAsIHRvbGVyYW5jZT1z
ZWxmLl90b2xlcmFuY2UsIGZ1enp5X2RhdGE9Tm9uZSwgZXJyb3Jfc3RyaW5nPWVycl9zdHIgb3Ig
IkZhaWxlZCB0byByZWFkIEltYWdlRGlmZiBvdXRwdXQiKQogCiAgICAgICAgIG0gPSByZS5tYXRj
aChiJ2RpZmY6ICguKyklJywgZGlmZl9vdXRwdXQpCiAgICAgICAgIGlmIG5vdCBtOgotICAgICAg
ICAgICAgcmV0dXJuIEltYWdlRGlmZlJlc3VsdChwYXNzZWQ9RmFsc2UsIGRpZmZfaW1hZ2U9Tm9u
ZSwgZGlmZmVyZW5jZT0wLCB0b2xlcmFuY2U9c2VsZi5fdG9sZXJhbmNlLCBlcnJvcl9zdHJpbmc9
ZXJyX3N0ciBvciAnRmFpbGVkIHRvIG1hdGNoIEltYWdlRGlmZiBvdXRwdXQge30nLmZvcm1hdChk
aWZmX291dHB1dCkpCisgICAgICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0KHBhc3NlZD1G
YWxzZSwgZGlmZl9pbWFnZT1Ob25lLCBkaWZmZXJlbmNlPTAsIHRvbGVyYW5jZT1zZWxmLl90b2xl
cmFuY2UsIGZ1enp5X2RhdGE9Tm9uZSwgZXJyb3Jfc3RyaW5nPWVycl9zdHIgb3IgJ0ZhaWxlZCB0
byBtYXRjaCBJbWFnZURpZmYgZGlmZiBvdXRwdXQge30nLmZvcm1hdChkaWZmX291dHB1dCkpCiAK
ICAgICAgICAgZGlmZl9wZXJjZW50ID0gZmxvYXQoc3RyaW5nX3V0aWxzLmRlY29kZShtLmdyb3Vw
KDEpLCB0YXJnZXRfdHlwZT1zdHIpKQogCisgICAgICAgIG0gPSByZS5tYXRjaChiJ21heERpZmZl
cmVuY2U9KFxkKyk7IHRvdGFsUGl4ZWxzPShcZCspJywgZnV6enlfZGF0YSkKKyAgICAgICAgaWYg
bm90IG06CisgICAgICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0KHBhc3NlZD1GYWxzZSwg
ZGlmZl9pbWFnZT1Ob25lLCBkaWZmZXJlbmNlPTAsIHRvbGVyYW5jZT1zZWxmLl90b2xlcmFuY2Us
IGZ1enp5X2RhdGE9Tm9uZSwgZXJyb3Jfc3RyaW5nPWVycl9zdHIgb3IgJ0ZhaWxlZCB0byBtYXRj
aCBJbWFnZURpZmYgZnV6enkgZGF0YSBvdXRwdXQge30nLmZvcm1hdChmdXp6eV9kYXRhKSkKKwor
ICAgICAgICBtYXhfZGlmZmVyZW5jZSA9IGludChzdHJpbmdfdXRpbHMuZGVjb2RlKG0uZ3JvdXAo
MSksIHRhcmdldF90eXBlPXN0cikpCisgICAgICAgIHRvdGFsX3BpeGVscyA9IGludChzdHJpbmdf
dXRpbHMuZGVjb2RlKG0uZ3JvdXAoMiksIHRhcmdldF90eXBlPXN0cikpCisKICAgICAgICAgcGFz
c2VkID0gZGlmZl9wZXJjZW50IDw9IHNlbGYuX3RvbGVyYW5jZQogICAgICAgICBpZiBub3QgcGFz
c2VkOgogICAgICAgICAgICAgIyBGSVhNRTogVGhpcyBwcmV0dGlmaWNhdGlvbiBzaG91bGQgaGFw
cGVuIGF0IGRpc3BsYXkgdGltZS4KICAgICAgICAgICAgIGRpZmZfcGVyY2VudCA9IHJvdW5kKGRp
ZmZfcGVyY2VudCAqIDEwMCkgLyAxMDAKICAgICAgICAgICAgIGRpZmZfcGVyY2VudCA9IG1heChk
aWZmX3BlcmNlbnQsIDAuMDEpCiAKLSAgICAgICAgcmV0dXJuIEltYWdlRGlmZlJlc3VsdChwYXNz
ZWQ9cGFzc2VkLCBkaWZmX2ltYWdlPW91dHB1dF9pbWFnZSwgZGlmZmVyZW5jZT1kaWZmX3BlcmNl
bnQsIHRvbGVyYW5jZT1zZWxmLl90b2xlcmFuY2UsIGVycm9yX3N0cmluZz1lcnJfc3RyIG9yIE5v
bmUpCisgICAgICAgIHJldHVybiBJbWFnZURpZmZSZXN1bHQocGFzc2VkPXBhc3NlZCwgZGlmZl9p
bWFnZT1vdXRwdXRfaW1hZ2UsIGRpZmZlcmVuY2U9ZGlmZl9wZXJjZW50LCB0b2xlcmFuY2U9c2Vs
Zi5fdG9sZXJhbmNlLCBmdXp6eV9kYXRhPXsnbWF4X2RpZmZlcmVuY2UnOiBtYXhfZGlmZmVyZW5j
ZSwgJ3RvdGFsX3BpeGVscyc6IHRvdGFsX3BpeGVsc30sIGVycm9yX3N0cmluZz1lcnJfc3RyIG9y
IE5vbmUpCiAKICAgICBkZWYgc3RvcChzZWxmKToKICAgICAgICAgaWYgc2VsZi5fcHJvY2VzczoK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2UucHkKaW5kZXggNjdl
YjFiOTYwZDVmNjQ5MzA3YmRjOGEzNzVkZjkxMDllMGE5MzczYy4uOGYxOTgxOTc5MTFjZGRjN2E3
MDIwMmMwMmRiZTQyZGY5YmI5ODFlYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3BvcnRfdGVzdGNhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3BvcnRfdGVzdGNhc2UucHkKQEAgLTI4NCw3ICsyODQsMTcgQEAgY2xhc3MgUG9ydFRlc3RDYXNl
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5wcm9jID0gTm9uZQogCiAgICAgICAg
IGRlZiBtYWtlX3Byb2MocG9ydCwgbm0sIGNtZCwgZW52LCBjcmFzaF9tZXNzYWdlPU5vbmUpOgot
ICAgICAgICAgICAgc2VsZi5wcm9jID0gTW9ja1NlcnZlclByb2Nlc3MocG9ydCwgbm0sIGNtZCwg
ZW52LCBsaW5lcz1bJ0NvbnRlbnQtTGVuZ3RoOiA2XG4nLCAnaW1hZ2UxJywgJ2RpZmY6IDkwJVxu
JywgJyNFT0ZcbicsICdDb250ZW50LUxlbmd0aDogNlxuJywgJ2ltYWdlMicsICdkaWZmOiAxMDAl
XG4nLCAnI0VPRlxuJ10pCisgICAgICAgICAgICBzZWxmLnByb2MgPSBNb2NrU2VydmVyUHJvY2Vz
cyhwb3J0LCBubSwgY21kLCBlbnYsIGxpbmVzPVsKKyAgICAgICAgICAgICAgICAnQ29udGVudC1M
ZW5ndGg6IDZcbicsCisgICAgICAgICAgICAgICAgJ2ltYWdlMScsCisgICAgICAgICAgICAgICAg
J2RpZmY6IDkwJVxuJywKKyAgICAgICAgICAgICAgICAnbWF4RGlmZmVyZW5jZT02OyB0b3RhbFBp
eGVscz01MFxuJywKKyAgICAgICAgICAgICAgICAnI0VPRlxuJywKKyAgICAgICAgICAgICAgICAn
Q29udGVudC1MZW5ndGg6IDZcbicsCisgICAgICAgICAgICAgICAgJ2ltYWdlMicsCisgICAgICAg
ICAgICAgICAgJ21heERpZmZlcmVuY2U9NzsgdG90YWxQaXhlbHM9NjBcbicsCisgICAgICAgICAg
ICAgICAgJ2RpZmY6IDEwMCVcbicsCisgICAgICAgICAgICAgICAgJyNFT0ZcbiddKQogICAgICAg
ICAgICAgcmV0dXJuIHNlbGYucHJvYwogCiAgICAgICAgICMgRklYTUU6IENhbid0IHByZXRlbmQg
dG8gcnVuIHNldHVwIGZvciBzb21lIHBvcnRzLCBzbyBqdXN0IHNraXAgdGhpcyB0ZXN0LgpAQCAt
Mjk3LDI3ICszMDcsMjkgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgIyBGaXJzdCB0ZXN0IHRoZSBjYXNlIG9mIG5vdCB1c2luZyB0aGUgSkhCdWlsZCB3
cmFwcGVyLgogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuX3Nob3VsZF91c2VfamhidWls
ZCgpKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2ltYWdlKGInZm9vJywg
YidiYXInKSwgSW1hZ2VEaWZmUmVzdWx0KHBhc3NlZD1GYWxzZSwgZGlmZl9pbWFnZT1iJ2ltYWdl
MScsIGRpZmZlcmVuY2U9OTAuMCwgdG9sZXJhbmNlPTAuMSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc2VsZi5wcm9jLmNtZCwgW3BvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAiLS10b2xl
cmFuY2UiLCAiMC4xIl0pCisgICAgICAgIHJlc3VsdF9mdXp6eV9kYXRhID0geydtYXhfZGlmZmVy
ZW5jZSc6IDYsICd0b3RhbF9waXhlbHMnOiA1MH0KIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJywgdG9sZXJhbmNlPU5vbmUpLCBJbWFnZURp
ZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZmX2ltYWdlPWInaW1hZ2UxJywgZGlmZmVyZW5jZT05
MC4wLCB0b2xlcmFuY2U9MC4xKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2Mu
Y21kLCBbcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICItLXRvbGVyYW5jZSIsICIwLjEiXSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBiJ2Jhcicp
LCBJbWFnZURpZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZmX2ltYWdlPWInaW1hZ2UxJywgZGlm
ZmVyZW5jZT05MC4wLCB0b2xlcmFuY2U9MC4xLCBmdXp6eV9kYXRhPXJlc3VsdF9mdXp6eV9kYXRh
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2MuY21kLCBbcG9ydC5fcGF0aF90
b19pbWFnZV9kaWZmKCksICItLWRpZmZlcmVuY2UiLCAiLS10b2xlcmFuY2UiLCAiMC4xIl0pCiAK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBiJ2Jhcics
IHRvbGVyYW5jZT0wKSwgSW1hZ2VEaWZmUmVzdWx0KHBhc3NlZD1GYWxzZSwgZGlmZl9pbWFnZT1i
J2ltYWdlMScsIGRpZmZlcmVuY2U9OTAuMCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2Vs
Zi5wcm9jLmNtZCwgW3BvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAiLS10b2xlcmFuY2UiLCAi
MCJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGIn
YmFyJywgdG9sZXJhbmNlPU5vbmUpLCBJbWFnZURpZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZm
X2ltYWdlPWInaW1hZ2UxJywgZGlmZmVyZW5jZT05MC4wLCB0b2xlcmFuY2U9MC4xLCBmdXp6eV9k
YXRhPXJlc3VsdF9mdXp6eV9kYXRhKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnBy
b2MuY21kLCBbcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICItLWRpZmZlcmVuY2UiLCAiLS10
b2xlcmFuY2UiLCAiMC4xIl0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRpZmZf
aW1hZ2UoYidmb28nLCBiJ2JhcicsIHRvbGVyYW5jZT0wKSwgSW1hZ2VEaWZmUmVzdWx0KHBhc3Nl
ZD1GYWxzZSwgZGlmZl9pbWFnZT1iJ2ltYWdlMScsIGRpZmZlcmVuY2U9OTAuMCwgZnV6enlfZGF0
YT1yZXN1bHRfZnV6enlfZGF0YSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9j
LmNtZCwgW3BvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAiLS1kaWZmZXJlbmNlIiwgIi0tdG9s
ZXJhbmNlIiwgIjAiXSkKIAogICAgICAgICAjIE5vdyB0ZXN0IHRoZSBjYXNlIG9mIHVzaW5nIEpI
QnVpbGQgd3JhcHBlci4KICAgICAgICAgcG9ydC5fZmlsZXN5c3RlbS5tYXliZV9tYWtlX2RpcmVj
dG9yeShwb3J0LnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2ViS2l0QnVpbGQnLCAnRGVwZW5kZW5j
aWVzJXMnICUgcG9ydC5wb3J0X25hbWUudXBwZXIoKSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShwb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQoKSkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJyksIEltYWdlRGlmZlJlc3VsdChwYXNzZWQ9
RmFsc2UsIGRpZmZfaW1hZ2U9YidpbWFnZTEnLCBkaWZmZXJlbmNlPTkwLjAsIHRvbGVyYW5jZT0w
LjEpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvYy5jbWQsIHBvcnQuX2poYnVp
bGRfd3JhcHBlciArIFtwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwgIi0tdG9sZXJhbmNlIiwg
IjAuMSJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuZGlmZl9pbWFnZShiJ2Zvbycs
IGInYmFyJyksIEltYWdlRGlmZlJlc3VsdChwYXNzZWQ9RmFsc2UsIGRpZmZfaW1hZ2U9YidpbWFn
ZTEnLCBkaWZmZXJlbmNlPTkwLjAsIHRvbGVyYW5jZT0wLjEsIGZ1enp5X2RhdGE9cmVzdWx0X2Z1
enp5X2RhdGEpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvYy5jbWQsIHBvcnQu
X2poYnVpbGRfd3JhcHBlciArIFtwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwgIi0tZGlmZmVy
ZW5jZSIsICItLXRvbGVyYW5jZSIsICIwLjEiXSkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJywgdG9sZXJhbmNlPU5vbmUpLCBJbWFnZURp
ZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZmX2ltYWdlPWInaW1hZ2UxJywgZGlmZmVyZW5jZT05
MC4wLCB0b2xlcmFuY2U9MC4xKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2Mu
Y21kLCBwb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBbcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCks
ICItLXRvbGVyYW5jZSIsICIwLjEiXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRp
ZmZfaW1hZ2UoYidmb28nLCBiJ2JhcicsIHRvbGVyYW5jZT1Ob25lKSwgSW1hZ2VEaWZmUmVzdWx0
KHBhc3NlZD1GYWxzZSwgZGlmZl9pbWFnZT1iJ2ltYWdlMScsIGRpZmZlcmVuY2U9OTAuMCwgdG9s
ZXJhbmNlPTAuMSwgZnV6enlfZGF0YT1yZXN1bHRfZnV6enlfZGF0YSkpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2VsZi5wcm9jLmNtZCwgcG9ydC5famhidWlsZF93cmFwcGVyICsgW3BvcnQu
X3BhdGhfdG9faW1hZ2VfZGlmZigpLCAiLS1kaWZmZXJlbmNlIiwgIi0tdG9sZXJhbmNlIiwgIjAu
MSJdKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2ltYWdlKGInZm9vJywg
YidiYXInLCB0b2xlcmFuY2U9MCksIEltYWdlRGlmZlJlc3VsdChwYXNzZWQ9RmFsc2UsIGRpZmZf
aW1hZ2U9YidpbWFnZTEnLCBkaWZmZXJlbmNlPTkwLjApKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYucHJvYy5jbWQsIHBvcnQuX2poYnVpbGRfd3JhcHBlciArIFtwb3J0Ll9wYXRoX3Rv
X2ltYWdlX2RpZmYoKSwgIi0tdG9sZXJhbmNlIiwgIjAiXSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBiJ2JhcicsIHRvbGVyYW5jZT0wKSwgSW1hZ2VE
aWZmUmVzdWx0KHBhc3NlZD1GYWxzZSwgZGlmZl9pbWFnZT1iJ2ltYWdlMScsIGRpZmZlcmVuY2U9
OTAuMCwgZnV6enlfZGF0YT1yZXN1bHRfZnV6enlfZGF0YSkpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc2VsZi5wcm9jLmNtZCwgcG9ydC5famhidWlsZF93cmFwcGVyICsgW3BvcnQuX3BhdGhf
dG9faW1hZ2VfZGlmZigpLCAiLS1kaWZmZXJlbmNlIiwgIi0tdG9sZXJhbmNlIiwgIjAiXSkKIAog
ICAgICAgICBwb3J0LmNsZWFuX3VwX3Rlc3RfcnVuKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KHNlbGYucHJvYy5zdG9wcGVkKQpAQCAtMzI1LDI3ICszMzcsMjcgQEAgY2xhc3MgUG9ydFRlc3RD
YXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2RpZmZfaW1hZ2VfcGFzc2Vk
KHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQotICAgICAgICBwb3J0Ll9z
ZXJ2ZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IGxhbWJkYSBwb3J0LCBubSwgY21kLCBlbnYsIGNy
YXNoX21lc3NhZ2U9Tm9uZTogTW9ja1NlcnZlclByb2Nlc3MobGluZXM9WydkaWZmOiAwJVxuJywg
JyNFT0ZcbiddKQorICAgICAgICBwb3J0Ll9zZXJ2ZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IGxh
bWJkYSBwb3J0LCBubSwgY21kLCBlbnYsIGNyYXNoX21lc3NhZ2U9Tm9uZTogTW9ja1NlcnZlclBy
b2Nlc3MobGluZXM9WydkaWZmOiAwJVxuJywgJ21heERpZmZlcmVuY2U9MDsgdG90YWxQaXhlbHM9
MFxuJywgJyNFT0ZcbiddKQogICAgICAgICBpbWFnZV9kaWZmZXIgPSBJbWFnZURpZmZlcihwb3J0
KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGltYWdlX2RpZmZlci5kaWZmX2ltYWdlKGInZm9v
JywgYidmb28nLCB0b2xlcmFuY2U9MCksIEltYWdlRGlmZlJlc3VsdChwYXNzZWQ9VHJ1ZSwgZGlm
Zl9pbWFnZT1Ob25lLCBkaWZmZXJlbmNlPTAsIHRvbGVyYW5jZT0wKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChpbWFnZV9kaWZmZXIuZGlmZl9pbWFnZShiJ2ZvbycsIGInZm9vJywgdG9sZXJh
bmNlPTApLCBJbWFnZURpZmZSZXN1bHQocGFzc2VkPVRydWUsIGRpZmZfaW1hZ2U9Tm9uZSwgZGlm
ZmVyZW5jZT0wLCB0b2xlcmFuY2U9MCwgZnV6enlfZGF0YT17J21heF9kaWZmZXJlbmNlJzogMCwg
J3RvdGFsX3BpeGVscyc6IDB9KSkKIAogICAgIGRlZiB0ZXN0X2RpZmZfaW1hZ2VfcGFzc2VkX3dp
dGhfdG9sZXJhbmNlKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQotICAg
ICAgICBwb3J0Ll9zZXJ2ZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IGxhbWJkYSBwb3J0LCBubSwg
Y21kLCBlbnYsIGNyYXNoX21lc3NhZ2U9Tm9uZTogTW9ja1NlcnZlclByb2Nlc3MobGluZXM9WydD
b250ZW50LUxlbmd0aDogNFxuJywgJ3Rlc3QnLCAnZGlmZjogMC4wNSVcbicsICcjRU9GXG4nXSkK
KyAgICAgICAgcG9ydC5fc2VydmVyX3Byb2Nlc3NfY29uc3RydWN0b3IgPSBsYW1iZGEgcG9ydCwg
bm0sIGNtZCwgZW52LCBjcmFzaF9tZXNzYWdlPU5vbmU6IE1vY2tTZXJ2ZXJQcm9jZXNzKGxpbmVz
PVsnQ29udGVudC1MZW5ndGg6IDRcbicsICd0ZXN0JywgJ2RpZmY6IDAuMDUlXG4nLCAnbWF4RGlm
ZmVyZW5jZT00OyB0b3RhbFBpeGVscz0xMFxuJywgJyNFT0ZcbiddKQogICAgICAgICBpbWFnZV9k
aWZmZXIgPSBJbWFnZURpZmZlcihwb3J0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGltYWdl
X2RpZmZlci5kaWZmX2ltYWdlKGInZm9vJywgYidiYXInLCB0b2xlcmFuY2U9MC4xKSwgSW1hZ2VE
aWZmUmVzdWx0KHBhc3NlZD1UcnVlLCBkaWZmX2ltYWdlPWIndGVzdCcsIGRpZmZlcmVuY2U9MC4w
NSwgdG9sZXJhbmNlPTAuMSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW1hZ2VfZGlmZmVy
LmRpZmZfaW1hZ2UoYidmb28nLCBiJ2JhcicsIHRvbGVyYW5jZT0wLjEpLCBJbWFnZURpZmZSZXN1
bHQocGFzc2VkPVRydWUsIGRpZmZfaW1hZ2U9Yid0ZXN0JywgZGlmZmVyZW5jZT0wLjA1LCB0b2xl
cmFuY2U9MC4xLCBmdXp6eV9kYXRhPXsnbWF4X2RpZmZlcmVuY2UnOiA0LCAndG90YWxfcGl4ZWxz
JzogMTB9KSkKIAogICAgIGRlZiB0ZXN0X2RpZmZfaW1hZ2VfZmFpbGVkX3dpdGhfcm91bmRlZF9k
aWZmKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQotICAgICAgICBwb3J0
Ll9zZXJ2ZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IGxhbWJkYSBwb3J0LCBubSwgY21kLCBlbnYs
IGNyYXNoX21lc3NhZ2U9Tm9uZTogTW9ja1NlcnZlclByb2Nlc3MobGluZXM9WydDb250ZW50LUxl
bmd0aDogNFxuJywgJ3Rlc3QnLCAnZGlmZjogMC4xMDEyMzQlXG4nLCAnI0VPRlxuJ10pCisgICAg
ICAgIHBvcnQuX3NlcnZlcl9wcm9jZXNzX2NvbnN0cnVjdG9yID0gbGFtYmRhIHBvcnQsIG5tLCBj
bWQsIGVudiwgY3Jhc2hfbWVzc2FnZT1Ob25lOiBNb2NrU2VydmVyUHJvY2VzcyhsaW5lcz1bJ0Nv
bnRlbnQtTGVuZ3RoOiA0XG4nLCAndGVzdCcsICdkaWZmOiAwLjEwMTIzNCVcbicsICdtYXhEaWZm
ZXJlbmNlPTg7IHRvdGFsUGl4ZWxzPTIwXG4nLCAnI0VPRlxuJ10pCiAgICAgICAgIGltYWdlX2Rp
ZmZlciA9IEltYWdlRGlmZmVyKHBvcnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW1hZ2Vf
ZGlmZmVyLmRpZmZfaW1hZ2UoYidmb28nLCBiJ2JhcicsIHRvbGVyYW5jZT0wLjEpLCBJbWFnZURp
ZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZmX2ltYWdlPWIndGVzdCcsIGRpZmZlcmVuY2U9MC4x
LCB0b2xlcmFuY2U9MC4xKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbWFnZV9kaWZmZXIu
ZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJywgdG9sZXJhbmNlPTAuMSksIEltYWdlRGlmZlJlc3Vs
dChwYXNzZWQ9RmFsc2UsIGRpZmZfaW1hZ2U9Yid0ZXN0JywgZGlmZmVyZW5jZT0wLjEsIHRvbGVy
YW5jZT0wLjEsIGZ1enp5X2RhdGE9eydtYXhfZGlmZmVyZW5jZSc6IDgsICd0b3RhbF9waXhlbHMn
OiAyMH0pKQogCiAgICAgZGVmIHRlc3RfZGlmZl9pbWFnZV9mYWlsZWQoc2VsZik6CiAgICAgICAg
IHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCi0gICAgICAgIHBvcnQuX3NlcnZlcl9wcm9jZXNzX2Nv
bnN0cnVjdG9yID0gbGFtYmRhIHBvcnQsIG5tLCBjbWQsIGVudiwgY3Jhc2hfbWVzc2FnZT1Ob25l
OiBNb2NrU2VydmVyUHJvY2VzcyhsaW5lcz1bJ0NvbnRlbnQtTGVuZ3RoOiA0XG4nLCAndGVzdCcs
ICdkaWZmOiAxMCVcbicsICcjRU9GXG4nXSkKKyAgICAgICAgcG9ydC5fc2VydmVyX3Byb2Nlc3Nf
Y29uc3RydWN0b3IgPSBsYW1iZGEgcG9ydCwgbm0sIGNtZCwgZW52LCBjcmFzaF9tZXNzYWdlPU5v
bmU6IE1vY2tTZXJ2ZXJQcm9jZXNzKGxpbmVzPVsnQ29udGVudC1MZW5ndGg6IDRcbicsICd0ZXN0
JywgJ2RpZmY6IDEwJVxuJywgJ21heERpZmZlcmVuY2U9NTsgdG90YWxQaXhlbHM9MTNcbicsICcj
RU9GXG4nXSkKICAgICAgICAgaW1hZ2VfZGlmZmVyID0gSW1hZ2VEaWZmZXIocG9ydCkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChpbWFnZV9kaWZmZXIuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFy
JywgdG9sZXJhbmNlPTAuMSksIEltYWdlRGlmZlJlc3VsdChwYXNzZWQ9RmFsc2UsIGRpZmZfaW1h
Z2U9Yid0ZXN0JywgZGlmZmVyZW5jZT0xMCwgdG9sZXJhbmNlPTAuMSkpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoaW1hZ2VfZGlmZmVyLmRpZmZfaW1hZ2UoYidmb28nLCBiJ2JhcicsIHRvbGVy
YW5jZT0wLjEpLCBJbWFnZURpZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZmX2ltYWdlPWIndGVz
dCcsIGRpZmZlcmVuY2U9MTAsIHRvbGVyYW5jZT0wLjEsIGZ1enp5X2RhdGE9eydtYXhfZGlmZmVy
ZW5jZSc6IDUsICd0b3RhbF9waXhlbHMnOiAxM30pKQogCiAgICAgZGVmIHRlc3RfZGlmZl9pbWFn
ZV9jcmFzaGVkKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvdGVzdC5weQppbmRleCAzMThhN2FmYWRkM2YyNDM4MzE1YWU0NzE2ZWQ0
YWUwY2RiODI2Y2JkLi5hOWNkZTRhYzY3MGMyMTNlNzk0NjgzNjQ4NDZjZDQ4ZThiMTEyMWY1IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQpAQCAtNDIzLDkgKzQyMywxMCBAQCBjbGFz
cyBUZXN0UG9ydChQb3J0KToKICAgICAgICAgICAgICAgICAgICAgc3RyaW5nX3V0aWxzLmRlY29k
ZShhY3R1YWxfY29udGVudHMsIHRhcmdldF90eXBlPXN0ciksCiAgICAgICAgICAgICAgICAgKSwK
ICAgICAgICAgICAgICAgICBkaWZmZXJlbmNlPTEsCi0gICAgICAgICAgICAgICAgdG9sZXJhbmNl
PXRvbGVyYW5jZSBvciAwKQorICAgICAgICAgICAgICAgIHRvbGVyYW5jZT10b2xlcmFuY2Ugb3Ig
MCwKKyAgICAgICAgICAgICAgICBmdXp6eV9kYXRhPXsnbWF4X2RpZmZlcmVuY2UnOiAxMCwgJ3Rv
dGFsX3BpeGVscyc6IDIwfSkKIAotICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0KHBhc3Nl
ZD1UcnVlLCBkaWZmX2ltYWdlPU5vbmUsIGRpZmZlcmVuY2U9MCwgdG9sZXJhbmNlPXRvbGVyYW5j
ZSBvciAwKQorICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0KHBhc3NlZD1UcnVlLCBkaWZm
X2ltYWdlPU5vbmUsIGRpZmZlcmVuY2U9MCwgdG9sZXJhbmNlPXRvbGVyYW5jZSBvciAwLCBmdXp6
eV9kYXRhPXsnbWF4X2RpZmZlcmVuY2UnOiAwLCAndG90YWxfcGl4ZWxzJzogMH0pCiAKICAgICBk
ZWYgbGF5b3V0X3Rlc3RzX2RpcihzZWxmKToKICAgICAgICAgcmV0dXJuIExBWU9VVF9URVNUX0RJ
Ugo=
</data>
<flag name="review"
          id="467064"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>