<?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>161997</bug_id>
          
          <creation_ts>2016-09-14 15:57:01 -0700</creation_ts>
          <short_desc>Use character class table in URLParser</short_desc>
          <delta_ts>2016-09-15 11:51:06 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1229786</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-14 15:57:01 -0700</bug_when>
    <thetext>Use character class table in URLParser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229787</commentid>
    <comment_count>1</comment_count>
      <attachid>288878</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-14 15:57:35 -0700</bug_when>
    <thetext>Created attachment 288878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229793</commentid>
    <comment_count>2</comment_count>
      <attachid>288878</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-14 16:14:57 -0700</bug_when>
    <thetext>Comment on attachment 288878
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No change in behavior except a performance improvement.

Do you have performance numbers?

&gt; Source/WebCore/platform/URLParser.cpp:308
&gt; +template&lt;typename CharacterType&gt; static bool isTabOrNewline(CharacterType character) { return character &lt;= 0xD &amp;&amp; character &gt;= 0x9 &amp;&amp; character != 0xB &amp;&amp; character != 0xC; }

Could this be &quot;character &gt;= 0x9 &amp;&amp; (character &lt; 0xB || character == 0xD)&quot;?

&gt; Source/WebCore/platform/URLParser.cpp:310
&gt; +template&lt;typename CharacterType&gt; static bool isInDefaultEncodeSet(CharacterType character) { return character &gt; 0x7E || characterClassTable[character] &amp; Default; }

what if character &gt; 255?

&gt; Source/WebCore/platform/URLParser.cpp:311
&gt; +template&lt;typename CharacterType&gt; static bool isInUserInfoEncodeSet(CharacterType character) { return character &gt; 0x7E || characterClassTable[character] &amp; UserInfo; }

what if character &gt; 255?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229794</commentid>
    <comment_count>3</comment_count>
      <attachid>288878</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-14 16:16:32 -0700</bug_when>
    <thetext>Comment on attachment 288878
Patch

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

Ok, i hope the perf win is worth the extra complexity.

&gt;&gt; Source/WebCore/platform/URLParser.cpp:310
&gt;&gt; +template&lt;typename CharacterType&gt; static bool isInDefaultEncodeSet(CharacterType character) { return character &gt; 0x7E || characterClassTable[character] &amp; Default; }
&gt; 
&gt; what if character &gt; 255?

Oh never mind, this is an ||

&gt;&gt; Source/WebCore/platform/URLParser.cpp:311
&gt;&gt; +template&lt;typename CharacterType&gt; static bool isInUserInfoEncodeSet(CharacterType character) { return character &gt; 0x7E || characterClassTable[character] &amp; UserInfo; }
&gt; 
&gt; what if character &gt; 255?

Oh never mind, this is an ||</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230115</commentid>
    <comment_count>4</comment_count>
      <attachid>288979</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-15 11:44:22 -0700</bug_when>
    <thetext>Created attachment 288979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230120</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-15 11:51:06 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/205990</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288878</attachid>
            <date>2016-09-14 15:57:35 -0700</date>
            <delta_ts>2016-09-15 11:44:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161997-20160914155459.patch</filename>
            <type>text/plain</type>
            <size>13829</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNTkzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTE0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGNoYXJh
Y3RlciBjbGFzcyB0YWJsZSBpbiBVUkxQYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTk5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvciBleGNlcHQgYSBwZXJm
b3JtYW5jZSBpbXByb3ZlbWVudC4KKworICAgICAgICAqIHBsYXRmb3JtL1VSTFBhcnNlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjppc0MwQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppc0Mw
Q29udHJvbE9yU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6aXNUYWJPck5ld2xpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6aXNJblNpbXBsZUVuY29kZVNldCk6CisgICAgICAgIChXZWJDb3JlOjpp
c0luRGVmYXVsdEVuY29kZVNldCk6CisgICAgICAgIChXZWJDb3JlOjppc0luVXNlckluZm9FbmNv
ZGVTZXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNJbnZhbGlkRG9tYWluQ2hhcmFjdGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OmlzU2xhc2hRdWVzdGlvbk9ySGFzaCk6CisgICAgICAgIChXZWJDb3Jl
OjpzaG91bGRQZXJjZW50RW5jb2RlUXVlcnlCeXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZENvcHlGaWxlVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OmlzU2luZ2xlRG90UGF0aFNlZ21lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6VVJMUGFyc2VyOjpwYXJzZSk6CisKIDIwMTYtMDktMTQgIEVy
aWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01lZGlhU3Ry
ZWFtXSBNaW5vciBjbGVhbnVwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkxQYXJz
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNlci5j
cHAJKHJldmlzaW9uIDIwNTkyMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDE1ICszNiwyODQgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi10ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgYm9vbCBp
c0MwQ29udHJvbChDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gY2hhcmFjdGVyIDw9
IDB4MDAwMUY7IH0KLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBib29s
IGlzQzBDb250cm9sT3JTcGFjZShDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gaXND
MENvbnRyb2woY2hhcmFjdGVyKSB8fCBjaGFyYWN0ZXIgPT0gMHgwMDIwOyB9Ci10ZW1wbGF0ZTx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgYm9vbCBpc1RhYk9yTmV3bGluZShDaGFyYWN0
ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gY2hhcmFjdGVyID09IDB4MDAwOSB8fCBjaGFyYWN0
ZXIgPT0gMHgwMDBBIHx8IGNoYXJhY3RlciA9PSAweDAwMEQ7IH0KLXRlbXBsYXRlPHR5cGVuYW1l
IENoYXJhY3RlclR5cGU+IHN0YXRpYyBib29sIGlzSW5TaW1wbGVFbmNvZGVTZXQoQ2hhcmFjdGVy
VHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGlzQzBDb250cm9sKGNoYXJhY3RlcikgfHwgY2hhcmFj
dGVyID4gMHgwMDdFOyB9Ci10ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMg
Ym9vbCBpc0luRGVmYXVsdEVuY29kZVNldChDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1
cm4gaXNJblNpbXBsZUVuY29kZVNldChjaGFyYWN0ZXIpIHx8IGNoYXJhY3RlciA9PSAweDAwMjAg
fHwgY2hhcmFjdGVyID09ICciJyB8fCBjaGFyYWN0ZXIgPT0gJyMnIHx8IGNoYXJhY3RlciA9PSAn
PCcgfHwgY2hhcmFjdGVyID09ICc+JyB8fCBjaGFyYWN0ZXIgPT0gJz8nIHx8IGNoYXJhY3RlciA9
PSAnYCcgfHwgY2hhcmFjdGVyID09ICd7JyB8fCBjaGFyYWN0ZXIgPT0gJ30nOyB9Ci10ZW1wbGF0
ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgYm9vbCBpc0luVXNlckluZm9FbmNvZGVT
ZXQoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGlzSW5EZWZhdWx0RW5jb2RlU2V0
KGNoYXJhY3RlcikgfHwgY2hhcmFjdGVyID09ICcvJyB8fCBjaGFyYWN0ZXIgPT0gJzonIHx8IGNo
YXJhY3RlciA9PSAnOycgfHwgY2hhcmFjdGVyID09ICc9JyB8fCBjaGFyYWN0ZXIgPT0gJ0AnIHx8
IGNoYXJhY3RlciA9PSAnWycgfHwgY2hhcmFjdGVyID09ICdcXCcgfHwgY2hhcmFjdGVyID09ICdd
JyB8fCBjaGFyYWN0ZXIgPT0gJ14nIHx8IGNoYXJhY3RlciA9PSAnfCc7IH0KLXRlbXBsYXRlPHR5
cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBib29sIGlzSW52YWxpZERvbWFpbkNoYXJhY3Rl
cihDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gY2hhcmFjdGVyID09IDB4MDAwMCB8
fCBjaGFyYWN0ZXIgPT0gMHgwMDA5IHx8IGNoYXJhY3RlciA9PSAweDAwMEEgfHwgY2hhcmFjdGVy
ID09IDB4MDAwRCB8fCBjaGFyYWN0ZXIgPT0gMHgwMDIwIHx8IGNoYXJhY3RlciA9PSAnIycgfHwg
Y2hhcmFjdGVyID09ICclJyB8fCBjaGFyYWN0ZXIgPT0gJy8nIHx8IGNoYXJhY3RlciA9PSAnOicg
fHwgY2hhcmFjdGVyID09ICc/JyB8fCBjaGFyYWN0ZXIgPT0gJ0AnIHx8IGNoYXJhY3RlciA9PSAn
WycgfHwgY2hhcmFjdGVyID09ICdcXCcgfHwgY2hhcmFjdGVyID09ICddJzsgfQorZW51bSBVUkxD
aGFyYWN0ZXJDbGFzcyB7CisgICAgVXNlckluZm8gPSAweDEsCisgICAgRGVmYXVsdCA9IDB4MiwK
KyAgICBJbnZhbGlkRG9tYWluID0gMHg0LAorICAgIFF1ZXJ5UGVyY2VudCA9IDB4OCwKKyAgICBT
bGFzaFF1ZXN0aW9uT3JIYXNoID0gMHgxMCwKK307CisKK3N0YXRpYyBjb25zdCB1aW50OF90IGNo
YXJhY3RlckNsYXNzVGFibGVbMjU2XSA9IHsKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBJbnZh
bGlkRG9tYWluIHwgUXVlcnlQZXJjZW50LCAvLyAweDAKKyAgICBVc2VySW5mbyB8IERlZmF1bHQg
fCBRdWVyeVBlcmNlbnQsIC8vIDB4MQorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVy
Y2VudCwgLy8gMHgyCisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwgUXVlcnlQZXJjZW50LCAvLyAw
eDMKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4NAorICAgIFVz
ZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHg1CisgICAgVXNlckluZm8gfCBE
ZWZhdWx0IHwgUXVlcnlQZXJjZW50LCAvLyAweDYKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBR
dWVyeVBlcmNlbnQsIC8vIDB4NworICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2Vu
dCwgLy8gMHg4CisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwgSW52YWxpZERvbWFpbiB8IFF1ZXJ5
UGVyY2VudCwgLy8gMHg5CisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwgSW52YWxpZERvbWFpbiB8
IFF1ZXJ5UGVyY2VudCwgLy8gMHhBCisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwgUXVlcnlQZXJj
ZW50LCAvLyAweEIKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4
QworICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IEludmFsaWREb21haW4gfCBRdWVyeVBlcmNlbnQs
IC8vIDB4RAorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHhFCisg
ICAgVXNlckluZm8gfCBEZWZhdWx0IHwgUXVlcnlQZXJjZW50LCAvLyAweEYKKyAgICBVc2VySW5m
byB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MTAKKyAgICBVc2VySW5mbyB8IERlZmF1
bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MTEKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVy
eVBlcmNlbnQsIC8vIDB4MTIKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQs
IC8vIDB4MTMKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MTQK
KyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MTUKKyAgICBVc2Vy
SW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MTYKKyAgICBVc2VySW5mbyB8IERl
ZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MTcKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBR
dWVyeVBlcmNlbnQsIC8vIDB4MTgKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNl
bnQsIC8vIDB4MTkKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4
MUEKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MUIKKyAgICBV
c2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MUMKKyAgICBVc2VySW5mbyB8
IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4MUQKKyAgICBVc2VySW5mbyB8IERlZmF1bHQg
fCBRdWVyeVBlcmNlbnQsIC8vIDB4MUUKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBl
cmNlbnQsIC8vIDB4MUYKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBJbnZhbGlkRG9tYWluIHwg
UXVlcnlQZXJjZW50LCAvLyAnICcKKyAgICAwLCAvLyAnIScKKyAgICBVc2VySW5mbyB8IERlZmF1
bHQgfCBRdWVyeVBlcmNlbnQsIC8vICciJworICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IEludmFs
aWREb21haW4gfCBRdWVyeVBlcmNlbnQgfCBTbGFzaFF1ZXN0aW9uT3JIYXNoLCAvLyAnIycKKyAg
ICAwLCAvLyAnJCcKKyAgICBJbnZhbGlkRG9tYWluLCAvLyAnJScKKyAgICAwLCAvLyAnJicKKyAg
ICAwLCAvLyAnJycKKyAgICAwLCAvLyAnKCcKKyAgICAwLCAvLyAnKScKKyAgICAwLCAvLyAnKicK
KyAgICAwLCAvLyAnKycKKyAgICAwLCAvLyAnLCcKKyAgICAwLCAvLyAnLScKKyAgICAwLCAvLyAn
LicKKyAgICBVc2VySW5mbyB8IEludmFsaWREb21haW4gfCBTbGFzaFF1ZXN0aW9uT3JIYXNoLCAv
LyAnLycKKyAgICAwLCAvLyAnMCcKKyAgICAwLCAvLyAnMScKKyAgICAwLCAvLyAnMicKKyAgICAw
LCAvLyAnMycKKyAgICAwLCAvLyAnNCcKKyAgICAwLCAvLyAnNScKKyAgICAwLCAvLyAnNicKKyAg
ICAwLCAvLyAnNycKKyAgICAwLCAvLyAnOCcKKyAgICAwLCAvLyAnOScKKyAgICBVc2VySW5mbyB8
IEludmFsaWREb21haW4sIC8vICc6JworICAgIFVzZXJJbmZvLCAvLyAnOycKKyAgICBVc2VySW5m
byB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vICc8JworICAgIFVzZXJJbmZvLCAvLyAnPScK
KyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vICc+JworICAgIFVzZXJJ
bmZvIHwgRGVmYXVsdCB8IEludmFsaWREb21haW4gfCBTbGFzaFF1ZXN0aW9uT3JIYXNoLCAvLyAn
PycKKyAgICBVc2VySW5mbyB8IEludmFsaWREb21haW4sIC8vICdAJworICAgIDAsIC8vICdBJwor
ICAgIDAsIC8vICdCJworICAgIDAsIC8vICdDJworICAgIDAsIC8vICdEJworICAgIDAsIC8vICdF
JworICAgIDAsIC8vICdGJworICAgIDAsIC8vICdHJworICAgIDAsIC8vICdIJworICAgIDAsIC8v
ICdJJworICAgIDAsIC8vICdKJworICAgIDAsIC8vICdLJworICAgIDAsIC8vICdMJworICAgIDAs
IC8vICdNJworICAgIDAsIC8vICdOJworICAgIDAsIC8vICdPJworICAgIDAsIC8vICdQJworICAg
IDAsIC8vICdRJworICAgIDAsIC8vICdSJworICAgIDAsIC8vICdTJworICAgIDAsIC8vICdUJwor
ICAgIDAsIC8vICdVJworICAgIDAsIC8vICdWJworICAgIDAsIC8vICdXJworICAgIDAsIC8vICdY
JworICAgIDAsIC8vICdZJworICAgIDAsIC8vICdaJworICAgIFVzZXJJbmZvIHwgSW52YWxpZERv
bWFpbiwgLy8gJ1snCisgICAgVXNlckluZm8gfCBJbnZhbGlkRG9tYWluIHwgU2xhc2hRdWVzdGlv
bk9ySGFzaCwgLy8gJ1xcJworICAgIFVzZXJJbmZvIHwgSW52YWxpZERvbWFpbiwgLy8gJ10nCisg
ICAgVXNlckluZm8sIC8vICdeJworICAgIDAsIC8vICdfJworICAgIFVzZXJJbmZvIHwgRGVmYXVs
dCwgLy8gJ2AnCisgICAgMCwgLy8gJ2EnCisgICAgMCwgLy8gJ2InCisgICAgMCwgLy8gJ2MnCisg
ICAgMCwgLy8gJ2QnCisgICAgMCwgLy8gJ2UnCisgICAgMCwgLy8gJ2YnCisgICAgMCwgLy8gJ2cn
CisgICAgMCwgLy8gJ2gnCisgICAgMCwgLy8gJ2knCisgICAgMCwgLy8gJ2onCisgICAgMCwgLy8g
J2snCisgICAgMCwgLy8gJ2wnCisgICAgMCwgLy8gJ20nCisgICAgMCwgLy8gJ24nCisgICAgMCwg
Ly8gJ28nCisgICAgMCwgLy8gJ3AnCisgICAgMCwgLy8gJ3EnCisgICAgMCwgLy8gJ3InCisgICAg
MCwgLy8gJ3MnCisgICAgMCwgLy8gJ3QnCisgICAgMCwgLy8gJ3UnCisgICAgMCwgLy8gJ3YnCisg
ICAgMCwgLy8gJ3cnCisgICAgMCwgLy8gJ3gnCisgICAgMCwgLy8gJ3knCisgICAgMCwgLy8gJ3on
CisgICAgVXNlckluZm8gfCBEZWZhdWx0LCAvLyAneycKKyAgICBVc2VySW5mbywgLy8gJ3wnCisg
ICAgVXNlckluZm8gfCBEZWZhdWx0LCAvLyAnfScKKyAgICAwLCAvLyAnficKKyAgICBRdWVyeVBl
cmNlbnQsIC8vIDB4N0YKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4ODAKKyAgICBRdWVyeVBlcmNl
bnQsIC8vIDB4ODEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4ODIKKyAgICBRdWVyeVBlcmNlbnQs
IC8vIDB4ODMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4ODQKKyAgICBRdWVyeVBlcmNlbnQsIC8v
IDB4ODUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4ODYKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4
ODcKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4ODgKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4ODkK
KyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OEEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OEIKKyAg
ICBRdWVyeVBlcmNlbnQsIC8vIDB4OEMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OEQKKyAgICBR
dWVyeVBlcmNlbnQsIC8vIDB4OEUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OEYKKyAgICBRdWVy
eVBlcmNlbnQsIC8vIDB4OTAKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OTEKKyAgICBRdWVyeVBl
cmNlbnQsIC8vIDB4OTIKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OTMKKyAgICBRdWVyeVBlcmNl
bnQsIC8vIDB4OTQKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OTUKKyAgICBRdWVyeVBlcmNlbnQs
IC8vIDB4OTYKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OTcKKyAgICBRdWVyeVBlcmNlbnQsIC8v
IDB4OTgKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OTkKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4
OUEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OUIKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OUMK
KyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OUQKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4OUUKKyAg
ICBRdWVyeVBlcmNlbnQsIC8vIDB4OUYKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QTAKKyAgICBR
dWVyeVBlcmNlbnQsIC8vIDB4QTEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QTIKKyAgICBRdWVy
eVBlcmNlbnQsIC8vIDB4QTMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QTQKKyAgICBRdWVyeVBl
cmNlbnQsIC8vIDB4QTUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QTYKKyAgICBRdWVyeVBlcmNl
bnQsIC8vIDB4QTcKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QTgKKyAgICBRdWVyeVBlcmNlbnQs
IC8vIDB4QTkKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QUEKKyAgICBRdWVyeVBlcmNlbnQsIC8v
IDB4QUIKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QUMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4
QUQKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QUUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QUYK
KyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QjAKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QjEKKyAg
ICBRdWVyeVBlcmNlbnQsIC8vIDB4QjIKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QjMKKyAgICBR
dWVyeVBlcmNlbnQsIC8vIDB4QjQKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QjUKKyAgICBRdWVy
eVBlcmNlbnQsIC8vIDB4QjYKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QjcKKyAgICBRdWVyeVBl
cmNlbnQsIC8vIDB4QjgKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QjkKKyAgICBRdWVyeVBlcmNl
bnQsIC8vIDB4QkEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QkIKKyAgICBRdWVyeVBlcmNlbnQs
IC8vIDB4QkMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QkQKKyAgICBRdWVyeVBlcmNlbnQsIC8v
IDB4QkUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QkYKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4
QzAKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QzEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QzIK
KyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QzMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QzQKKyAg
ICBRdWVyeVBlcmNlbnQsIC8vIDB4QzUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QzYKKyAgICBR
dWVyeVBlcmNlbnQsIC8vIDB4QzcKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4QzgKKyAgICBRdWVy
eVBlcmNlbnQsIC8vIDB4QzkKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4Q0EKKyAgICBRdWVyeVBl
cmNlbnQsIC8vIDB4Q0IKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4Q0MKKyAgICBRdWVyeVBlcmNl
bnQsIC8vIDB4Q0QKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4Q0UKKyAgICBRdWVyeVBlcmNlbnQs
IC8vIDB4Q0YKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RDAKKyAgICBRdWVyeVBlcmNlbnQsIC8v
IDB4RDEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RDIKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4
RDMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RDQKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RDUK
KyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RDYKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RDcKKyAg
ICBRdWVyeVBlcmNlbnQsIC8vIDB4RDgKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RDkKKyAgICBR
dWVyeVBlcmNlbnQsIC8vIDB4REEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4REIKKyAgICBRdWVy
eVBlcmNlbnQsIC8vIDB4REMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4REQKKyAgICBRdWVyeVBl
cmNlbnQsIC8vIDB4REUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4REYKKyAgICBRdWVyeVBlcmNl
bnQsIC8vIDB4RTAKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RTEKKyAgICBRdWVyeVBlcmNlbnQs
IC8vIDB4RTIKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RTMKKyAgICBRdWVyeVBlcmNlbnQsIC8v
IDB4RTQKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RTUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4
RTYKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RTcKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RTgK
KyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RTkKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RUEKKyAg
ICBRdWVyeVBlcmNlbnQsIC8vIDB4RUIKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RUMKKyAgICBR
dWVyeVBlcmNlbnQsIC8vIDB4RUQKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RUUKKyAgICBRdWVy
eVBlcmNlbnQsIC8vIDB4RUYKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RjAKKyAgICBRdWVyeVBl
cmNlbnQsIC8vIDB4RjEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RjIKKyAgICBRdWVyeVBlcmNl
bnQsIC8vIDB4RjMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RjQKKyAgICBRdWVyeVBlcmNlbnQs
IC8vIDB4RjUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RjYKKyAgICBRdWVyeVBlcmNlbnQsIC8v
IDB4RjcKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RjgKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4
RjkKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RkEKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RkIK
KyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RkMKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RkQKKyAg
ICBRdWVyeVBlcmNlbnQsIC8vIDB4RkUKKyAgICBRdWVyeVBlcmNlbnQsIC8vIDB4RkYKK307CisK
K3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBib29sIGlzQzBDb250cm9s
KENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKSB7IHJldHVybiBjaGFyYWN0ZXIgPD0gMHgxRjsgfQor
dGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGljIGJvb2wgaXNDMENvbnRyb2xP
clNwYWNlKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKSB7IHJldHVybiBjaGFyYWN0ZXIgPD0gMHgy
MDsgfQordGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGljIGJvb2wgaXNUYWJP
ck5ld2xpbmUoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGNoYXJhY3RlciA8PSAw
eEQgJiYgY2hhcmFjdGVyID49IDB4OSAmJiBjaGFyYWN0ZXIgIT0gMHhCICYmIGNoYXJhY3RlciAh
PSAweEM7IH0KK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBib29sIGlz
SW5TaW1wbGVFbmNvZGVTZXQoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGNoYXJh
Y3RlciA+IDB4N0UgfHwgaXNDMENvbnRyb2woY2hhcmFjdGVyKTsgfQordGVtcGxhdGU8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGljIGJvb2wgaXNJbkRlZmF1bHRFbmNvZGVTZXQoQ2hhcmFj
dGVyVHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGNoYXJhY3RlciA+IDB4N0UgfHwgY2hhcmFjdGVy
Q2xhc3NUYWJsZVtjaGFyYWN0ZXJdICYgRGVmYXVsdDsgfQordGVtcGxhdGU8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4gc3RhdGljIGJvb2wgaXNJblVzZXJJbmZvRW5jb2RlU2V0KENoYXJhY3RlclR5
cGUgY2hhcmFjdGVyKSB7IHJldHVybiBjaGFyYWN0ZXIgPiAweDdFIHx8IGNoYXJhY3RlckNsYXNz
VGFibGVbY2hhcmFjdGVyXSAmIFVzZXJJbmZvOyB9Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPiBzdGF0aWMgYm9vbCBpc0ludmFsaWREb21haW5DaGFyYWN0ZXIoQ2hhcmFjdGVyVHlw
ZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGNoYXJhY3RlciA8PSAnXScgJiYgY2hhcmFjdGVyQ2xhc3NU
YWJsZVtjaGFyYWN0ZXJdICYgSW52YWxpZERvbWFpbjsgfQogdGVtcGxhdGU8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4gc3RhdGljIGJvb2wgaXNQZXJjZW50T3JOb25BU0NJSShDaGFyYWN0ZXJUeXBl
IGNoYXJhY3RlcikgeyByZXR1cm4gIWlzQVNDSUkoY2hhcmFjdGVyKSB8fCBjaGFyYWN0ZXIgPT0g
JyUnOyB9Ci0gICAgCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgYm9v
bCBpc1NsYXNoUXVlc3Rpb25Pckhhc2goQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJu
IGNoYXJhY3RlciA8PSAnXFwnICYmIGNoYXJhY3RlckNsYXNzVGFibGVbY2hhcmFjdGVyXSAmIFNs
YXNoUXVlc3Rpb25Pckhhc2g7IH0KK3N0YXRpYyBib29sIHNob3VsZFBlcmNlbnRFbmNvZGVRdWVy
eUJ5dGUodWludDhfdCBieXRlKSB7IHJldHVybiBjaGFyYWN0ZXJDbGFzc1RhYmxlW2J5dGVdICYg
UXVlcnlQZXJjZW50OyB9CisKIHN0YXRpYyBib29sIGlzV2luZG93c0RyaXZlTGV0dGVyKFN0cmlu
Z1ZpZXc6OkNvZGVQb2ludHM6Okl0ZXJhdG9yIGl0ZXJhdG9yLCBjb25zdCBTdHJpbmdWaWV3OjpD
b2RlUG9pbnRzOjpJdGVyYXRvciYgZW5kKQogewogICAgIGlmIChpdGVyYXRvciA9PSBlbmQgfHwg
IWlzQVNDSUlBbHBoYSgqaXRlcmF0b3IpKQpAQCAtNzQsNyArMzQzLDcgQEAgc3RhdGljIGJvb2wg
c2hvdWxkQ29weUZpbGVVUkwoU3RyaW5nVmlldwogICAgICsraXRlcmF0b3I7CiAgICAgaWYgKGl0
ZXJhdG9yID09IGVuZCkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuICppdGVyYXRv
ciAhPSAnLycgJiYgKml0ZXJhdG9yICE9ICdcXCcgJiYgKml0ZXJhdG9yICE9ICc/JyAmJiAqaXRl
cmF0b3IgIT0gJyMnOworICAgIHJldHVybiAhaXNTbGFzaFF1ZXN0aW9uT3JIYXNoKCppdGVyYXRv
cik7CiB9CiAKIHN0YXRpYyB2b2lkIHBlcmNlbnRFbmNvZGUodWludDhfdCBieXRlLCBTdHJpbmdC
dWlsZGVyJiBidWlsZGVyKQpAQCAtOTgsMjEgKzM2Nyw2IEBAIHN0YXRpYyB2b2lkIHV0ZjhQZXJj
ZW50RW5jb2RlKFVDaGFyMzIgY28KICAgICAgICAgYnVpbGRlci5hcHBlbmQoY29kZVBvaW50KTsK
IH0KIAotc3RhdGljIGJvb2wgc2hvdWxkUGVyY2VudEVuY29kZVF1ZXJ5Qnl0ZSh1aW50OF90IGJ5
dGUpCi17Ci0gICAgaWYgKGJ5dGUgPCAweDIxKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBp
ZiAoYnl0ZSA+IDB4N0UpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmIChieXRlID09IDB4
MjIpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmIChieXRlID09IDB4MjMpCi0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIGlmIChieXRlID09IDB4M0MpCi0gICAgICAgIHJldHVybiB0cnVl
OwotICAgIHJldHVybiBieXRlID09IDB4M0U7Ci19Ci0KIHN0YXRpYyB2b2lkIHV0ZjhQZXJjZW50
RW5jb2RlUXVlcnkoVUNoYXIzMiBjb2RlUG9pbnQsIFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIpCiB7
CiAgICAgdWludDhfdCBidWZmZXJbVThfTUFYX0xFTkdUSF07CkBAIC0zNzQsNyArNjI4LDcgQEAg
c3RhdGljIGJvb2wgaXNTaW5nbGVEb3RQYXRoU2VnbWVudChTdHJpbgogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgaWYgKCpjID09ICcuJykgewogICAgICAgICArK2M7Ci0gICAgICAgIHJldHVy
biBjID09IGVuZCB8fCAqYyA9PSAnLycgfHwgKmMgPT0gJ1xcJyB8fCAqYyA9PSAnPycgfHwgKmMg
PT0gJyMnOworICAgICAgICByZXR1cm4gYyA9PSBlbmQgfHwgaXNTbGFzaFF1ZXN0aW9uT3JIYXNo
KCpjKTsKICAgICB9CiAgICAgaWYgKCpjICE9ICclJykKICAgICAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMzg2LDcgKzY0MCw3IEBAIHN0YXRpYyBib29sIGlzU2luZ2xlRG90UGF0aFNlZ21lbnQoU3Ry
aW4KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICh0b0FTQ0lJTG93ZXIoKmMpID09IGRv
dEFTQ0lJQ29kZVsxXSkgewogICAgICAgICArK2M7Ci0gICAgICAgIHJldHVybiBjID09IGVuZCB8
fCAqYyA9PSAnLycgfHwgKmMgPT0gJ1xcJyB8fCAqYyA9PSAnPycgfHwgKmMgPT0gJyMnOworICAg
ICAgICByZXR1cm4gYyA9PSBlbmQgfHwgaXNTbGFzaFF1ZXN0aW9uT3JIYXNoKCpjKTsKICAgICB9
CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtODU2LDcgKzExMTAsNyBAQCBVUkwgVVJMUGFyc2Vy
OjpwYXJzZShjb25zdCBTdHJpbmcmIGlucHV0CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBTdGF0ZTo6RmlsZUhvc3Q6CiAgICAgICAgICAgICBMT0dfU1RBVEUoIkZpbGVIb3N0Iik7
Ci0gICAgICAgICAgICBpZiAoKmMgPT0gJy8nIHx8ICpjID09ICdcXCcgfHwgKmMgPT0gJz8nIHx8
ICpjID09ICcjJykgeworICAgICAgICAgICAgaWYgKGlzU2xhc2hRdWVzdGlvbk9ySGFzaCgqYykp
IHsKICAgICAgICAgICAgICAgICBpZiAoaXNXaW5kb3dzRHJpdmVMZXR0ZXIobV9idWZmZXIsIG1f
dXJsLm1fcG9ydEVuZCArIDEpKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gU3RhdGU6
OlBhdGg7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288979</attachid>
            <date>2016-09-15 11:44:22 -0700</date>
            <delta_ts>2016-09-15 11:45:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161997-20160915114146.patch</filename>
            <type>text/plain</type>
            <size>13834</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNTk4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTE1ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGNoYXJh
Y3RlciBjbGFzcyB0YWJsZSBpbiBVUkxQYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTk5NworCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
IER1bWV6LgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvciBleGNlcHQgYSBwZXJmb3Jt
YW5jZSBpbXByb3ZlbWVudC4KKworICAgICAgICAqIHBsYXRmb3JtL1VSTFBhcnNlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjppc0MwQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppc0MwQ29u
dHJvbE9yU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6aXNUYWJPck5ld2xpbmUpOgorICAgICAg
ICAoV2ViQ29yZTo6aXNJblNpbXBsZUVuY29kZVNldCk6CisgICAgICAgIChXZWJDb3JlOjppc0lu
RGVmYXVsdEVuY29kZVNldCk6CisgICAgICAgIChXZWJDb3JlOjppc0luVXNlckluZm9FbmNvZGVT
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6aXNJbnZhbGlkRG9tYWluQ2hhcmFjdGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzU2xhc2hRdWVzdGlvbk9ySGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpz
aG91bGRQZXJjZW50RW5jb2RlUXVlcnlCeXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZENv
cHlGaWxlVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OmlzU2luZ2xlRG90UGF0aFNlZ21lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6VVJMUGFyc2VyOjpwYXJzZSk6CisKIDIwMTYtMDktMTUgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVUkxQYXJz
ZXI6IENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnMgaW4gdGhlIGhvc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAkocmV2aXNpb24gMjA1OTg4KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDE0
ICsxMTYsMjgzIEBAIGF1dG8gQ29kZVBvaW50SXRlcmF0b3I8VUNoYXI+OjpvcGVyYXRvcisKICAg
ICByZXR1cm4gKnRoaXM7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0
YXRpYyBib29sIGlzQzBDb250cm9sKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKSB7IHJldHVybiBj
aGFyYWN0ZXIgPD0gMHgwMDAxRjsgfQotdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4g
c3RhdGljIGJvb2wgaXNDMENvbnRyb2xPclNwYWNlKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKSB7
IHJldHVybiBpc0MwQ29udHJvbChjaGFyYWN0ZXIpIHx8IGNoYXJhY3RlciA9PSAweDAwMjA7IH0K
LXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBib29sIGlzVGFiT3JOZXds
aW5lKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKSB7IHJldHVybiBjaGFyYWN0ZXIgPT0gMHgwMDA5
IHx8IGNoYXJhY3RlciA9PSAweDAwMEEgfHwgY2hhcmFjdGVyID09IDB4MDAwRDsgfQotdGVtcGxh
dGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGljIGJvb2wgaXNJblNpbXBsZUVuY29kZVNl
dChDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gaXNDMENvbnRyb2woY2hhcmFjdGVy
KSB8fCBjaGFyYWN0ZXIgPiAweDAwN0U7IH0KLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+IHN0YXRpYyBib29sIGlzSW5EZWZhdWx0RW5jb2RlU2V0KENoYXJhY3RlclR5cGUgY2hhcmFj
dGVyKSB7IHJldHVybiBpc0luU2ltcGxlRW5jb2RlU2V0KGNoYXJhY3RlcikgfHwgY2hhcmFjdGVy
ID09IDB4MDAyMCB8fCBjaGFyYWN0ZXIgPT0gJyInIHx8IGNoYXJhY3RlciA9PSAnIycgfHwgY2hh
cmFjdGVyID09ICc8JyB8fCBjaGFyYWN0ZXIgPT0gJz4nIHx8IGNoYXJhY3RlciA9PSAnPycgfHwg
Y2hhcmFjdGVyID09ICdgJyB8fCBjaGFyYWN0ZXIgPT0gJ3snIHx8IGNoYXJhY3RlciA9PSAnfSc7
IH0KLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBib29sIGlzSW5Vc2Vy
SW5mb0VuY29kZVNldChDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gaXNJbkRlZmF1
bHRFbmNvZGVTZXQoY2hhcmFjdGVyKSB8fCBjaGFyYWN0ZXIgPT0gJy8nIHx8IGNoYXJhY3RlciA9
PSAnOicgfHwgY2hhcmFjdGVyID09ICc7JyB8fCBjaGFyYWN0ZXIgPT0gJz0nIHx8IGNoYXJhY3Rl
ciA9PSAnQCcgfHwgY2hhcmFjdGVyID09ICdbJyB8fCBjaGFyYWN0ZXIgPT0gJ1xcJyB8fCBjaGFy
YWN0ZXIgPT0gJ10nIHx8IGNoYXJhY3RlciA9PSAnXicgfHwgY2hhcmFjdGVyID09ICd8JzsgfQot
dGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGljIGJvb2wgaXNJbnZhbGlkRG9t
YWluQ2hhcmFjdGVyKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKSB7IHJldHVybiBjaGFyYWN0ZXIg
PT0gMHgwMDAwIHx8IGNoYXJhY3RlciA9PSAweDAwMDkgfHwgY2hhcmFjdGVyID09IDB4MDAwQSB8
fCBjaGFyYWN0ZXIgPT0gMHgwMDBEIHx8IGNoYXJhY3RlciA9PSAweDAwMjAgfHwgY2hhcmFjdGVy
ID09ICcjJyB8fCBjaGFyYWN0ZXIgPT0gJyUnIHx8IGNoYXJhY3RlciA9PSAnLycgfHwgY2hhcmFj
dGVyID09ICc6JyB8fCBjaGFyYWN0ZXIgPT0gJz8nIHx8IGNoYXJhY3RlciA9PSAnQCcgfHwgY2hh
cmFjdGVyID09ICdbJyB8fCBjaGFyYWN0ZXIgPT0gJ1xcJyB8fCBjaGFyYWN0ZXIgPT0gJ10nOyB9
CitlbnVtIFVSTENoYXJhY3RlckNsYXNzIHsKKyAgICBVc2VySW5mbyA9IDB4MSwKKyAgICBEZWZh
dWx0ID0gMHgyLAorICAgIEludmFsaWREb21haW4gPSAweDQsCisgICAgUXVlcnlQZXJjZW50ID0g
MHg4LAorICAgIFNsYXNoUXVlc3Rpb25Pckhhc2ggPSAweDEwLAorfTsKKworc3RhdGljIGNvbnN0
IHVpbnQ4X3QgY2hhcmFjdGVyQ2xhc3NUYWJsZVsyNTZdID0geworICAgIFVzZXJJbmZvIHwgRGVm
YXVsdCB8IEludmFsaWREb21haW4gfCBRdWVyeVBlcmNlbnQsIC8vIDB4MAorICAgIFVzZXJJbmZv
IHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxCisgICAgVXNlckluZm8gfCBEZWZhdWx0
IHwgUXVlcnlQZXJjZW50LCAvLyAweDIKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBl
cmNlbnQsIC8vIDB4MworICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8g
MHg0CisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwgUXVlcnlQZXJjZW50LCAvLyAweDUKKyAgICBV
c2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4NgorICAgIFVzZXJJbmZvIHwg
RGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHg3CisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwg
UXVlcnlQZXJjZW50LCAvLyAweDgKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBJbnZhbGlkRG9t
YWluIHwgUXVlcnlQZXJjZW50LCAvLyAweDkKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBJbnZh
bGlkRG9tYWluIHwgUXVlcnlQZXJjZW50LCAvLyAweEEKKyAgICBVc2VySW5mbyB8IERlZmF1bHQg
fCBRdWVyeVBlcmNlbnQsIC8vIDB4QgorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVy
Y2VudCwgLy8gMHhDCisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwgSW52YWxpZERvbWFpbiB8IFF1
ZXJ5UGVyY2VudCwgLy8gMHhECisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwgUXVlcnlQZXJjZW50
LCAvLyAweEUKKyAgICBVc2VySW5mbyB8IERlZmF1bHQgfCBRdWVyeVBlcmNlbnQsIC8vIDB4Rgor
ICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxMAorICAgIFVzZXJJ
bmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxMQorICAgIFVzZXJJbmZvIHwgRGVm
YXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxMgorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1
ZXJ5UGVyY2VudCwgLy8gMHgxMworICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2Vu
dCwgLy8gMHgxNAorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgx
NQorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxNgorICAgIFVz
ZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxNworICAgIFVzZXJJbmZvIHwg
RGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxOAorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8
IFF1ZXJ5UGVyY2VudCwgLy8gMHgxOQorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVy
Y2VudCwgLy8gMHgxQQorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8g
MHgxQgorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxQworICAg
IFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxRAorICAgIFVzZXJJbmZv
IHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxRQorICAgIFVzZXJJbmZvIHwgRGVmYXVs
dCB8IFF1ZXJ5UGVyY2VudCwgLy8gMHgxRgorICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IEludmFs
aWREb21haW4gfCBRdWVyeVBlcmNlbnQsIC8vICcgJworICAgIDAsIC8vICchJworICAgIFVzZXJJ
bmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gJyInCisgICAgVXNlckluZm8gfCBEZWZh
dWx0IHwgSW52YWxpZERvbWFpbiB8IFF1ZXJ5UGVyY2VudCB8IFNsYXNoUXVlc3Rpb25Pckhhc2gs
IC8vICcjJworICAgIDAsIC8vICckJworICAgIEludmFsaWREb21haW4sIC8vICclJworICAgIDAs
IC8vICcmJworICAgIDAsIC8vICcnJworICAgIDAsIC8vICcoJworICAgIDAsIC8vICcpJworICAg
IDAsIC8vICcqJworICAgIDAsIC8vICcrJworICAgIDAsIC8vICcsJworICAgIDAsIC8vICctJwor
ICAgIDAsIC8vICcuJworICAgIFVzZXJJbmZvIHwgSW52YWxpZERvbWFpbiB8IFNsYXNoUXVlc3Rp
b25Pckhhc2gsIC8vICcvJworICAgIDAsIC8vICcwJworICAgIDAsIC8vICcxJworICAgIDAsIC8v
ICcyJworICAgIDAsIC8vICczJworICAgIDAsIC8vICc0JworICAgIDAsIC8vICc1JworICAgIDAs
IC8vICc2JworICAgIDAsIC8vICc3JworICAgIDAsIC8vICc4JworICAgIDAsIC8vICc5JworICAg
IFVzZXJJbmZvIHwgSW52YWxpZERvbWFpbiwgLy8gJzonCisgICAgVXNlckluZm8sIC8vICc7Jwor
ICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gJzwnCisgICAgVXNlcklu
Zm8sIC8vICc9JworICAgIFVzZXJJbmZvIHwgRGVmYXVsdCB8IFF1ZXJ5UGVyY2VudCwgLy8gJz4n
CisgICAgVXNlckluZm8gfCBEZWZhdWx0IHwgSW52YWxpZERvbWFpbiB8IFNsYXNoUXVlc3Rpb25P
ckhhc2gsIC8vICc/JworICAgIFVzZXJJbmZvIHwgSW52YWxpZERvbWFpbiwgLy8gJ0AnCisgICAg
MCwgLy8gJ0EnCisgICAgMCwgLy8gJ0InCisgICAgMCwgLy8gJ0MnCisgICAgMCwgLy8gJ0QnCisg
ICAgMCwgLy8gJ0UnCisgICAgMCwgLy8gJ0YnCisgICAgMCwgLy8gJ0cnCisgICAgMCwgLy8gJ0gn
CisgICAgMCwgLy8gJ0knCisgICAgMCwgLy8gJ0onCisgICAgMCwgLy8gJ0snCisgICAgMCwgLy8g
J0wnCisgICAgMCwgLy8gJ00nCisgICAgMCwgLy8gJ04nCisgICAgMCwgLy8gJ08nCisgICAgMCwg
Ly8gJ1AnCisgICAgMCwgLy8gJ1EnCisgICAgMCwgLy8gJ1InCisgICAgMCwgLy8gJ1MnCisgICAg
MCwgLy8gJ1QnCisgICAgMCwgLy8gJ1UnCisgICAgMCwgLy8gJ1YnCisgICAgMCwgLy8gJ1cnCisg
ICAgMCwgLy8gJ1gnCisgICAgMCwgLy8gJ1knCisgICAgMCwgLy8gJ1onCisgICAgVXNlckluZm8g
fCBJbnZhbGlkRG9tYWluLCAvLyAnWycKKyAgICBVc2VySW5mbyB8IEludmFsaWREb21haW4gfCBT
bGFzaFF1ZXN0aW9uT3JIYXNoLCAvLyAnXFwnCisgICAgVXNlckluZm8gfCBJbnZhbGlkRG9tYWlu
LCAvLyAnXScKKyAgICBVc2VySW5mbywgLy8gJ14nCisgICAgMCwgLy8gJ18nCisgICAgVXNlcklu
Zm8gfCBEZWZhdWx0LCAvLyAnYCcKKyAgICAwLCAvLyAnYScKKyAgICAwLCAvLyAnYicKKyAgICAw
LCAvLyAnYycKKyAgICAwLCAvLyAnZCcKKyAgICAwLCAvLyAnZScKKyAgICAwLCAvLyAnZicKKyAg
ICAwLCAvLyAnZycKKyAgICAwLCAvLyAnaCcKKyAgICAwLCAvLyAnaScKKyAgICAwLCAvLyAnaicK
KyAgICAwLCAvLyAnaycKKyAgICAwLCAvLyAnbCcKKyAgICAwLCAvLyAnbScKKyAgICAwLCAvLyAn
bicKKyAgICAwLCAvLyAnbycKKyAgICAwLCAvLyAncCcKKyAgICAwLCAvLyAncScKKyAgICAwLCAv
LyAncicKKyAgICAwLCAvLyAncycKKyAgICAwLCAvLyAndCcKKyAgICAwLCAvLyAndScKKyAgICAw
LCAvLyAndicKKyAgICAwLCAvLyAndycKKyAgICAwLCAvLyAneCcKKyAgICAwLCAvLyAneScKKyAg
ICAwLCAvLyAneicKKyAgICBVc2VySW5mbyB8IERlZmF1bHQsIC8vICd7JworICAgIFVzZXJJbmZv
LCAvLyAnfCcKKyAgICBVc2VySW5mbyB8IERlZmF1bHQsIC8vICd9JworICAgIDAsIC8vICd+Jwor
ICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg3RgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4MAorICAg
IFF1ZXJ5UGVyY2VudCwgLy8gMHg4MQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4MgorICAgIFF1
ZXJ5UGVyY2VudCwgLy8gMHg4MworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4NAorICAgIFF1ZXJ5
UGVyY2VudCwgLy8gMHg4NQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4NgorICAgIFF1ZXJ5UGVy
Y2VudCwgLy8gMHg4NworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4OAorICAgIFF1ZXJ5UGVyY2Vu
dCwgLy8gMHg4OQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4QQorICAgIFF1ZXJ5UGVyY2VudCwg
Ly8gMHg4QgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4QworICAgIFF1ZXJ5UGVyY2VudCwgLy8g
MHg4RAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4RQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg4
RgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5MAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5MQor
ICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5MgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5MworICAg
IFF1ZXJ5UGVyY2VudCwgLy8gMHg5NAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5NQorICAgIFF1
ZXJ5UGVyY2VudCwgLy8gMHg5NgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5NworICAgIFF1ZXJ5
UGVyY2VudCwgLy8gMHg5OAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5OQorICAgIFF1ZXJ5UGVy
Y2VudCwgLy8gMHg5QQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5QgorICAgIFF1ZXJ5UGVyY2Vu
dCwgLy8gMHg5QworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5RAorICAgIFF1ZXJ5UGVyY2VudCwg
Ly8gMHg5RQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHg5RgorICAgIFF1ZXJ5UGVyY2VudCwgLy8g
MHhBMAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBMQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhB
MgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBMworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBNAor
ICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBNQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBNgorICAg
IFF1ZXJ5UGVyY2VudCwgLy8gMHhBNworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBOAorICAgIFF1
ZXJ5UGVyY2VudCwgLy8gMHhBOQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBQQorICAgIFF1ZXJ5
UGVyY2VudCwgLy8gMHhBQgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBQworICAgIFF1ZXJ5UGVy
Y2VudCwgLy8gMHhBRAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhBRQorICAgIFF1ZXJ5UGVyY2Vu
dCwgLy8gMHhBRgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCMAorICAgIFF1ZXJ5UGVyY2VudCwg
Ly8gMHhCMQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCMgorICAgIFF1ZXJ5UGVyY2VudCwgLy8g
MHhCMworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCNAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhC
NQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCNgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCNwor
ICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCOAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCOQorICAg
IFF1ZXJ5UGVyY2VudCwgLy8gMHhCQQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCQgorICAgIFF1
ZXJ5UGVyY2VudCwgLy8gMHhCQworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCRAorICAgIFF1ZXJ5
UGVyY2VudCwgLy8gMHhCRQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhCRgorICAgIFF1ZXJ5UGVy
Y2VudCwgLy8gMHhDMAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDMQorICAgIFF1ZXJ5UGVyY2Vu
dCwgLy8gMHhDMgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDMworICAgIFF1ZXJ5UGVyY2VudCwg
Ly8gMHhDNAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDNQorICAgIFF1ZXJ5UGVyY2VudCwgLy8g
MHhDNgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDNworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhD
OAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDOQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDQQor
ICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDQgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDQworICAg
IFF1ZXJ5UGVyY2VudCwgLy8gMHhDRAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhDRQorICAgIFF1
ZXJ5UGVyY2VudCwgLy8gMHhDRgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhEMAorICAgIFF1ZXJ5
UGVyY2VudCwgLy8gMHhEMQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhEMgorICAgIFF1ZXJ5UGVy
Y2VudCwgLy8gMHhEMworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhENAorICAgIFF1ZXJ5UGVyY2Vu
dCwgLy8gMHhENQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhENgorICAgIFF1ZXJ5UGVyY2VudCwg
Ly8gMHhENworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhEOAorICAgIFF1ZXJ5UGVyY2VudCwgLy8g
MHhEOQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhEQQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhE
QgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhEQworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhERAor
ICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhERQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhERgorICAg
IFF1ZXJ5UGVyY2VudCwgLy8gMHhFMAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhFMQorICAgIFF1
ZXJ5UGVyY2VudCwgLy8gMHhFMgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhFMworICAgIFF1ZXJ5
UGVyY2VudCwgLy8gMHhFNAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhFNQorICAgIFF1ZXJ5UGVy
Y2VudCwgLy8gMHhFNgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhFNworICAgIFF1ZXJ5UGVyY2Vu
dCwgLy8gMHhFOAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhFOQorICAgIFF1ZXJ5UGVyY2VudCwg
Ly8gMHhFQQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhFQgorICAgIFF1ZXJ5UGVyY2VudCwgLy8g
MHhFQworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhFRAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhF
RQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhFRgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGMAor
ICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGMQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGMgorICAg
IFF1ZXJ5UGVyY2VudCwgLy8gMHhGMworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGNAorICAgIFF1
ZXJ5UGVyY2VudCwgLy8gMHhGNQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGNgorICAgIFF1ZXJ5
UGVyY2VudCwgLy8gMHhGNworICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGOAorICAgIFF1ZXJ5UGVy
Y2VudCwgLy8gMHhGOQorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGQQorICAgIFF1ZXJ5UGVyY2Vu
dCwgLy8gMHhGQgorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGQworICAgIFF1ZXJ5UGVyY2VudCwg
Ly8gMHhGRAorICAgIFF1ZXJ5UGVyY2VudCwgLy8gMHhGRQorICAgIFF1ZXJ5UGVyY2VudCwgLy8g
MHhGRgorfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGljIGJvb2wg
aXNDMENvbnRyb2woQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGNoYXJhY3RlciA8
PSAweDFGOyB9Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgYm9vbCBp
c0MwQ29udHJvbE9yU3BhY2UoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGNoYXJh
Y3RlciA8PSAweDIwOyB9Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMg
Ym9vbCBpc1RhYk9yTmV3bGluZShDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gY2hh
cmFjdGVyIDw9IDB4RCAmJiBjaGFyYWN0ZXIgPj0gMHg5ICYmIGNoYXJhY3RlciAhPSAweEIgJiYg
Y2hhcmFjdGVyICE9IDB4QzsgfQordGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3Rh
dGljIGJvb2wgaXNJblNpbXBsZUVuY29kZVNldChDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyBy
ZXR1cm4gY2hhcmFjdGVyID4gMHg3RSB8fCBpc0MwQ29udHJvbChjaGFyYWN0ZXIpOyB9Cit0ZW1w
bGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgYm9vbCBpc0luRGVmYXVsdEVuY29k
ZVNldChDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gY2hhcmFjdGVyID4gMHg3RSB8
fCBjaGFyYWN0ZXJDbGFzc1RhYmxlW2NoYXJhY3Rlcl0gJiBEZWZhdWx0OyB9Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgYm9vbCBpc0luVXNlckluZm9FbmNvZGVTZXQo
Q2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpIHsgcmV0dXJuIGNoYXJhY3RlciA+IDB4N0UgfHwgY2hh
cmFjdGVyQ2xhc3NUYWJsZVtjaGFyYWN0ZXJdICYgVXNlckluZm87IH0KK3RlbXBsYXRlPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBib29sIGlzSW52YWxpZERvbWFpbkNoYXJhY3RlcihD
aGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyByZXR1cm4gY2hhcmFjdGVyIDw9ICddJyAmJiBjaGFy
YWN0ZXJDbGFzc1RhYmxlW2NoYXJhY3Rlcl0gJiBJbnZhbGlkRG9tYWluOyB9CiB0ZW1wbGF0ZTx0
eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgYm9vbCBpc1BlcmNlbnRPck5vbkFTQ0lJKENo
YXJhY3RlclR5cGUgY2hhcmFjdGVyKSB7IHJldHVybiAhaXNBU0NJSShjaGFyYWN0ZXIpIHx8IGNo
YXJhY3RlciA9PSAnJSc7IH0KK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRp
YyBib29sIGlzU2xhc2hRdWVzdGlvbk9ySGFzaChDaGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikgeyBy
ZXR1cm4gY2hhcmFjdGVyIDw9ICdcXCcgJiYgY2hhcmFjdGVyQ2xhc3NUYWJsZVtjaGFyYWN0ZXJd
ICYgU2xhc2hRdWVzdGlvbk9ySGFzaDsgfQorc3RhdGljIGJvb2wgc2hvdWxkUGVyY2VudEVuY29k
ZVF1ZXJ5Qnl0ZSh1aW50OF90IGJ5dGUpIHsgcmV0dXJuIGNoYXJhY3RlckNsYXNzVGFibGVbYnl0
ZV0gJiBRdWVyeVBlcmNlbnQ7IH0KICAgICAKIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+CiBzdGF0aWMgYm9vbCBpc1dpbmRvd3NEcml2ZUxldHRlcihDb2RlUG9pbnRJdGVyYXRvcjxD
aGFyYWN0ZXJUeXBlPiBpdGVyYXRvcikKQEAgLTE1Niw3ICs0MjUsNyBAQCBzdGF0aWMgYm9vbCBz
aG91bGRDb3B5RmlsZVVSTChDb2RlUG9pbnRJCiAgICAgKytpdGVyYXRvcjsKICAgICBpZiAoaXRl
cmF0b3IuYXRFbmQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuICppdGVyYXRv
ciAhPSAnLycgJiYgKml0ZXJhdG9yICE9ICdcXCcgJiYgKml0ZXJhdG9yICE9ICc/JyAmJiAqaXRl
cmF0b3IgIT0gJyMnOworICAgIHJldHVybiAhaXNTbGFzaFF1ZXN0aW9uT3JIYXNoKCppdGVyYXRv
cik7CiB9CiAKIHN0YXRpYyB2b2lkIHBlcmNlbnRFbmNvZGUodWludDhfdCBieXRlLCBTdHJpbmdC
dWlsZGVyJiBidWlsZGVyKQpAQCAtMTgwLDIxICs0NDksNiBAQCBzdGF0aWMgdm9pZCB1dGY4UGVy
Y2VudEVuY29kZShVQ2hhcjMyIGNvCiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGNvZGVQb2ludCk7
CiB9CiAKLXN0YXRpYyBib29sIHNob3VsZFBlcmNlbnRFbmNvZGVRdWVyeUJ5dGUodWludDhfdCBi
eXRlKQotewotICAgIGlmIChieXRlIDwgMHgyMSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
aWYgKGJ5dGUgPiAweDdFKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAoYnl0ZSA9PSAw
eDIyKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAoYnl0ZSA9PSAweDIzKQotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAoYnl0ZSA9PSAweDNDKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICByZXR1cm4gYnl0ZSA9PSAweDNFOwotfQotCiBzdGF0aWMgdm9pZCB1dGY4UGVyY2Vu
dEVuY29kZVF1ZXJ5KFVDaGFyMzIgY29kZVBvaW50LCBTdHJpbmdCdWlsZGVyJiBidWlsZGVyKQog
ewogICAgIHVpbnQ4X3QgYnVmZmVyW1U4X01BWF9MRU5HVEhdOwpAQCAtNDU4LDcgKzcxMiw3IEBA
IHN0YXRpYyBib29sIGlzU2luZ2xlRG90UGF0aFNlZ21lbnQoQ29kZVAKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIGlmICgqYyA9PSAnLicpIHsKICAgICAgICAgKytjOwotICAgICAgICByZXR1
cm4gYy5hdEVuZCgpIHx8ICpjID09ICcvJyB8fCAqYyA9PSAnXFwnIHx8ICpjID09ICc/JyB8fCAq
YyA9PSAnIyc7CisgICAgICAgIHJldHVybiBjLmF0RW5kKCkgfHwgaXNTbGFzaFF1ZXN0aW9uT3JI
YXNoKCpjKTsKICAgICB9CiAgICAgaWYgKCpjICE9ICclJykKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNDcwLDcgKzcyNCw3IEBAIHN0YXRpYyBib29sIGlzU2luZ2xlRG90UGF0aFNlZ21lbnQo
Q29kZVAKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICh0b0FTQ0lJTG93ZXIoKmMpID09
IGRvdEFTQ0lJQ29kZVsxXSkgewogICAgICAgICArK2M7Ci0gICAgICAgIHJldHVybiBjLmF0RW5k
KCkgfHwgKmMgPT0gJy8nIHx8ICpjID09ICdcXCcgfHwgKmMgPT0gJz8nIHx8ICpjID09ICcjJzsK
KyAgICAgICAgcmV0dXJuIGMuYXRFbmQoKSB8fCBpc1NsYXNoUXVlc3Rpb25Pckhhc2goKmMpOwog
ICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC05NTYsNyArMTIxMCw3IEBAIFVSTCBVUkxQ
YXJzZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cGUKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIFN0YXRlOjpGaWxlSG9zdDoKICAgICAgICAgICAgIExPR19TVEFURSgiRmlsZUhv
c3QiKTsKLSAgICAgICAgICAgIGlmICgqYyA9PSAnLycgfHwgKmMgPT0gJ1xcJyB8fCAqYyA9PSAn
PycgfHwgKmMgPT0gJyMnKSB7CisgICAgICAgICAgICBpZiAoaXNTbGFzaFF1ZXN0aW9uT3JIYXNo
KCpjKSkgewogICAgICAgICAgICAgICAgIGlmIChpc1dpbmRvd3NEcml2ZUxldHRlcihtX2J1ZmZl
ciwgbV91cmwubV9wb3J0RW5kICsgMSkpIHsKICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBT
dGF0ZTo6UGF0aDsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>