<?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>168932</bug_id>
          
          <creation_ts>2017-02-27 14:08:01 -0800</creation_ts>
          <short_desc>Switching focus from a UITextField to an editable WKWebView causes the keyboard to dance</short_desc>
          <delta_ts>2017-03-08 10:34:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bdakin</cc>
    
    <cc>enrica</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1281519</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-02-27 14:08:01 -0800</bug_when>
    <thetext>Switching focus from a UITextField to an editable WKWebView causes the keyboard to dance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281520</commentid>
    <comment_count>1</comment_count>
      <attachid>302871</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-02-27 14:08:18 -0800</bug_when>
    <thetext>Created attachment 302871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281521</commentid>
    <comment_count>2</comment_count>
      <attachid>302872</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-02-27 14:09:02 -0800</bug_when>
    <thetext>Created attachment 302872
test-in-progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281735</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-28 00:41:45 -0800</bug_when>
    <thetext>📱⌨️💃🏼</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284900</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-03-08 10:34:17 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/213584</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302871</attachid>
            <date>2017-02-27 14:08:18 -0800</date>
            <delta_ts>2017-03-06 14:38:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168932-20170227140523.patch</filename>
            <type>text/plain</type>
            <size>23538</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjQyNTU3NzljOGI3ZDIz
YzY0YTE5ZDUzZjQyNTE5ZmY0YzJkMTZlNi4uYmUyN2UxMGYxMjIxOTQ0MDdmOWVjY2RiYjM3MDU4
ZWMwMTZlNWU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE3LTAyLTI3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFN3aXRjaGluZyBm
b2N1cyBmcm9tIGEgVUlUZXh0RmllbGQgdG8gYW4gZWRpdGFibGUgV0tXZWJWaWV3IGNhdXNlcyB0
aGUga2V5Ym9hcmQgdG8gZGFuY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2ODkzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAxOTM5OTY+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBXS1dl
YlZpZXcgZmlyc3QgYmVjb21lcyBmaXJzdCByZXNwb25kZXIgZnJvbSBhIHRhcCwgd2UgZG9uJ3Qg
aGF2ZQorICAgICAgICBlbm91Z2ggaW5mb3JtYXRpb24gdG8gaW1tZWRpYXRlbHkgcmVzcG9uZCBh
Y2N1cmF0ZWx5IHRvIHZhcmlvdXMgcXVlc3Rpb25zCisgICAgICAgIGZyb20gVUlLaXQsIGJlY2F1
c2Ugd2UgaGF2ZW4ndCBoYWQgdGltZSB0byBhc2sgdGhlIFdlYiBDb250ZW50IHByb2Nlc3MKKyAg
ICAgICAgd2hhdCBpcyB1bmRlciB0aGUgdG91Y2guIERlZmVyIHVwZGF0aW5nIGlucHV0IHZpZXdz
IHVudGlsIHdlIGdldCBhCisgICAgICAgIHJlc3BvbnNlIG9yIGxvc2UgZmlyc3QgcmVzcG9uZGVy
IHN0YXR1cywgc28gdGhhdCB0aGUga2V5Ym9hcmQgZG9lc24ndAorICAgICAgICBzdGFydCB0cmFu
c2l0aW9uaW5nIHRvIGl0cyBuZXcgc3RhdGUgdW50aWwgd2Uga25vdyB3aGF0IHRoYXQgaXMuCisK
KyAgICAgICAgVGhlcmUgaXMgY3VycmVudGx5IG5vIHRlc3QgYmVjYXVzZSBUZXN0V2ViS2l0QVBJ
IGhhcyBubyBVSUFwcGxpY2F0aW9uLAorICAgICAgICBhbmQgdGh1cyBjYW5ub3QgZ2VuZXJhdGUg
bW9jayBldmVudHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmg6Cisg
ICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvSW5wdXRWaWV3VXBkYXRlRGVmZXJyZXIuaDogQWRkZWQuCisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9JbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5tbTogQWRkZWQuCisgICAgICAg
IEFkZCBhbiBSQUlJIG9iamVjdCB0aGF0IGRlZmVycyBpbnB1dCB2aWV3IHVwZGF0ZXMgd2hpbGUg
YWxpdmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBjbGVhbnVwSW50ZXJhY3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfY29tbWl0UG90ZW50aWFsVGFwRmFpbGVkXSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgX2RpZE5vdEhhbmRsZVRhcEFzQ2xpY2s6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X2RpZENvbXBsZXRlU3ludGhldGljQ2xpY2tdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
c2luZ2xlVGFwQ29tbWl0ZWQ6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2F0dGVtcHRD
bGlja0F0TG9jYXRpb246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3N0YXJ0QXNzaXN0
aW5nTm9kZTp1c2VySXNJbnRlcmFjdGluZzpibHVyUHJldmlvdXNOb2RlOnVzZXJPYmplY3Q6XSk6
CisgICAgICAgIENyZWF0ZSBhIElucHV0Vmlld1VwZGF0ZURlZmVycmVyIGp1c3QgYmVmb3JlIHdl
IGJlY29tZSBmaXJzdCByZXNwb25kZXIKKyAgICAgICAgZnJvbSBhIHRhcCwgYW5kIGRlc3Ryb3kg
aXQgd2hlbiB3ZSBnZXQgYSByZXNwb25zZSAob2YgYW55IGtpbmQpIG9yIGxvc2UKKyAgICAgICAg
Zmlyc3QtcmVzcG9uZGVyIHN0YXR1cyAob3IgaW50ZXJhY3Rpb24gaXMgdG9ybiBkb3duKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjpkaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpkaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNv
bXBsZXRlU3ludGhldGljQ2xpY2spOgorICAgICAgICBQbHVtYiBhbiBpbmRpY2F0aW9uIHRoYXQg
dGhlIHN5bnRoZXRpYyBjbGljayBjb21wbGV0ZWQsIHJlZ2FyZGxlc3Mgb2YKKyAgICAgICAgaG93
IGl0IHdhcyBoYW5kbGVkLgorCiAyMDE3LTAyLTIwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTI2MzIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggNjlkNGQ3Yjlk
MjE4MmYwMWFkMWRkNTU1ZjNiOTM5ZTI1Zjg0MWU3My4uZmI4ZTZlNjk1OWMwOTA1YWZmODFiZjIw
ODY4YTU5ZmFiYjQyNzAyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9VSUtpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlL
aXRTUEkuaApAQCAtODU5LDYgKzg1OSwxMSBAQCB0eXBlZGVmIGVudW0gewogLSAoQ0dSZWN0KWFj
Y2Vzc2liaWxpdHlDb252ZXJ0UmVjdFRvU2NlbmVSZWZlcmVuY2VDb29yZGluYXRlczooQ0dSZWN0
KXJlY3Q7CiBAZW5kCiAKK0BpbnRlcmZhY2UgVUlQZXJpcGhlcmFsSG9zdCAoSVBJKQorLSAodm9p
ZClfYmVnaW5JZ25vcmluZ1JlbG9hZElucHV0Vmlld3M7CistICh2b2lkKV9lbmRJZ25vcmluZ1Jl
bG9hZElucHV0Vmlld3M7CitAZW5kCisKIEBpbnRlcmZhY2UgVUlSZXNwb25kZXIgKCkKIC0gKFVJ
UmVzcG9uZGVyICopZmlyc3RSZXNwb25kZXI7CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaAppbmRleCBhNTQ2N2Y5NGI4YThmZGNjZmIyY2RjYmEzMTA1Y2ZiYTFjMzU2MWUz
Li4wMmEwODA3MjU0MTVmNDJmODEyOGZhYWVlOWVmZjM2YWViYzljMTVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTIwOCw2ICsyMDgsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBXZWJDb3JlOjpJbnRQb2ludCBhY2Nlc3NpYmlsaXR5U2NyZWVuVG9Sb290Vmlldyhj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYpID0gMDsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJl
Y3Qgcm9vdFZpZXdUb0FjY2Vzc2liaWxpdHlTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVTeW50aGV0
aWNDbGljaygpID0gMDsKICNlbmRpZgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBkb25lV2l0aEtl
eUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29sIHdhc0V2ZW50SGFuZGxl
ZCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDBhMjkw
ZmMyZWNmZmVlZjExN2U5NTI4ODhlOGE1NmI5NTA5Y2UzZmEuLjE2YTVjZGUyNDVmMWM4YWFmMjU2
YzIwNWM5MTFjNWRkMzBmZTg1OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKQEAgLTU0Nyw2ICs1NDcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB6b29tVG9SZWN0KFdl
YkNvcmU6OkZsb2F0UmVjdCwgZG91YmxlIG1pbmltdW1TY2FsZSwgZG91YmxlIG1heGltdW1TY2Fs
ZSk7CiAgICAgdm9pZCBjb21taXRQb3RlbnRpYWxUYXBGYWlsZWQoKTsKICAgICB2b2lkIGRpZE5v
dEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKTsKKyAgICB2b2lkIGRp
ZENvbXBsZXRlU3ludGhldGljQ2xpY2soKTsKICAgICB2b2lkIGRpc2FibGVEb3VibGVUYXBHZXN0
dXJlc0R1cmluZ1RhcElmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdm9pZCBj
b250ZW50U2l6ZUNhdGVnb3J5RGlkQ2hhbmdlKGNvbnN0IFN0cmluZyYgY29udGVudFNpemVDYXRl
Z29yeSk7CiAgICAgdm9pZCBnZXRTZWxlY3Rpb25Db250ZXh0KHN0ZDo6ZnVuY3Rpb248dm9pZChj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDYWxsYmFja0Jhc2U6
OkVycm9yKT4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KaW5kZXggYWM0NjMxNGIxYzFmZDdlNzlmZWFjNjk4ZTg3Y2IyMWNjMjk1NDM1
ZC4uODVmNGZjOTNiMTkxZDc2NTdlNjhmNzEwNjQ2YzI1YTg4N2YwYTQzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xODcs
NiArMTg3LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBab29tVG9SZWN0KFdl
YkNvcmU6OkZsb2F0UmVjdCByZWN0LCBkb3VibGUgbWluaW11bVNjYWxlLCBkb3VibGUgbWF4aW11
bVNjYWxlKQogICAgIENvbW1pdFBvdGVudGlhbFRhcEZhaWxlZCgpCiAgICAgRGlkTm90SGFuZGxl
VGFwQXNDbGljayhXZWJDb3JlOjpJbnRQb2ludCBwb2ludCkKKyAgICBEaWRDb21wbGV0ZVN5bnRo
ZXRpY0NsaWNrKCkKICAgICBEaXNhYmxlRG91YmxlVGFwR2VzdHVyZXNEdXJpbmdUYXBJZk5lY2Vz
c2FyeSh1aW50NjRfdCByZXF1ZXN0SUQpCiAgICAgRHJhd1RvUERGQ2FsbGJhY2soSVBDOjpEYXRh
UmVmZXJlbmNlIHBkZkRhdGEsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgU2VsZWN0aW9uUmVj
dHNDYWxsYmFjayhWZWN0b3I8V2ViQ29yZTo6U2VsZWN0aW9uUmVjdD4gc2VsZWN0aW9uUmVjdHMs
IHVpbnQ2NF90IGNhbGxiYWNrSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9JbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9JbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MTlhMTFjOWZi
MTIyNGUwNzhkMTI0MTYxZjc2NjE0ZDcyZGZjOGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL0lucHV0Vmlld1VwZGF0ZURlZmVycmVyLmgKQEAgLTAsMCAr
MSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCisjaWYg
UExBVEZPUk0oSU9TKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgSW5wdXRWaWV3VXBk
YXRlRGVmZXJyZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElucHV0Vmlld1VwZGF0ZURl
ZmVycmVyKTsKK3B1YmxpYzoKKyAgICBJbnB1dFZpZXdVcGRhdGVEZWZlcnJlcigpOworICAgIH5J
bnB1dFZpZXdVcGRhdGVEZWZlcnJlcigpOworfTsKKworfQorCisjZW5kaWYgLy8gUExBVEZPUk0o
SU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9JbnB1dFZpZXdV
cGRhdGVEZWZlcnJlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvSW5wdXRWaWV3
VXBkYXRlRGVmZXJyZXIubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZkOGQ4NWNhMDIzOTlmZDM5ODhjNzVjYTcz
ZTMwYzlhMTA4MGIxNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvSW5wdXRWaWV3VXBkYXRlRGVmZXJyZXIubW0KQEAgLTAsMCArMSw0OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiSW5wdXRWaWV3VXBkYXRlRGVmZXJy
ZXIuaCIKKworI2lmIFBMQVRGT1JNKElPUykKKworI2ltcG9ydCAiVUlLaXRTUEkuaCIKKwordXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0lucHV0Vmlld1Vw
ZGF0ZURlZmVycmVyOjpJbnB1dFZpZXdVcGRhdGVEZWZlcnJlcigpCit7CisgICAgW1tVSVBlcmlw
aGVyYWxIb3N0IHNoYXJlZEluc3RhbmNlXSBfYmVnaW5JZ25vcmluZ1JlbG9hZElucHV0Vmlld3Nd
OworfQorCitJbnB1dFZpZXdVcGRhdGVEZWZlcnJlcjo6fklucHV0Vmlld1VwZGF0ZURlZmVycmVy
KCkKK3sKKyAgICBbW1VJUGVyaXBoZXJhbEhvc3Qgc2hhcmVkSW5zdGFuY2VdIF9lbmRJZ25vcmlu
Z1JlbG9hZElucHV0Vmlld3NdOworfQorICAgIAorfQorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
CmluZGV4IGU5MTYxN2JlZGQwY2MyYWRlNTIwMzY0MzExMmVmNzZlMjc2Yzg1NzAuLjZmYzRkNDM3
MzE2MjJhZWQzODllNmNjOWYxZmMxNDI3ZDM4ZTE3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTE4NSw2ICsxODUsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgZGlkRmFpbExvYWRGb3JNYWluRnJhbWUoKSBvdmVycmlkZTsKICAg
ICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JNYWluRnJhbWUoU2FtZURvY3VtZW50
TmF2aWdhdGlvblR5cGUpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGlj
ayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkQ29tcGxl
dGVTeW50aGV0aWNDbGljaygpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBkaWRDaGFuZ2VCYWNrZ3Jv
dW5kQ29sb3IoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggM2MwZDdiODk5YjI0NGQ3Njg3YmViN2JlZDk3
NmJjNGZkYWMwYWMzMi4uN2FkNzU1MWU4ODU0YzhhMzQyNDI0ODIwODk5NDA3N2IyYmUxM2NlZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tCkBAIC0yMjEsNiArMjIxLDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZE5vdEhhbmRs
ZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50KQogewogICAgIFttX2Nv
bnRlbnRWaWV3IF9kaWROb3RIYW5kbGVUYXBBc0NsaWNrOnBvaW50XTsKIH0KKyAgICAKK3ZvaWQg
UGFnZUNsaWVudEltcGw6OmRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKQoreworICAgIFttX2Nv
bnRlbnRWaWV3IF9kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrXTsKK30KIAogYm9vbCBQYWdlQ2xp
ZW50SW1wbDo6ZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJG
cmFtZVByb3h5JiBmcmFtZSwgQVBJOjpTZWN1cml0eU9yaWdpbiYgb3JpZ2luLCBHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0UHJveHkmIHJlcXVlc3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggZDNiNzUwZThlY2E3OGVhNGQ5Mjdk
YzcyYTc3YjNiMGM4OGI1MzI1OC4uMTAxMzM5ZjU4OTdjYjI4ZDdmNTgxNzEwZTNkZTg3ZjRmYjM4
NTU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5t
bQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNp
bXBvcnQgIkFjY2Vzc2liaWxpdHlJT1MuaCIKICNpbXBvcnQgIkFwcGxpY2F0aW9uU3RhdGVUcmFj
a2VyLmgiCisjaW1wb3J0ICJJbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5oIgogI2ltcG9ydCAiTG9n
Z2luZy5oIgogI2ltcG9ydCAiUGFnZUNsaWVudEltcGxJT1MuaCIKICNpbXBvcnQgIlByaW50SW5m
by5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggYmRjZDA0YzlmMTNjYzYwNmY3MjhmMzBhNDJlZjcxOTY3
N2E5NWYzYi4uZDQ2MjQzOTY0N2FkYzM0ZTkyNWMxYjdmMWZkMmViMDk3M2Q4YWJiZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5oCkBAIC02MCw2ICs2MCw3IEBAIGNsYXNzIFRleHRTdHJlYW07CiB9CiAKIG5hbWVz
cGFjZSBXZWJLaXQgeworY2xhc3MgSW5wdXRWaWV3VXBkYXRlRGVmZXJyZXI7CiBjbGFzcyBOYXRp
dmVXZWJUb3VjaEV2ZW50OwogY2xhc3MgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlcjsKIGNs
YXNzIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk7CkBAIC0xNjcsNiArMTY4LDggQEAg
c3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICAgICBXZWJLaXQ6OldLU2VsZWN0aW9uRHJh
d2luZ0luZm8gX2xhc3RTZWxlY3Rpb25EcmF3aW5nSW5mbzsKIAogICAgIHN0ZDo6b3B0aW9uYWw8
V2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdD4gX291dHN0YW5kaW5nUG9zaXRp
b25JbmZvcm1hdGlvblJlcXVlc3Q7CisgICAgCisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6
SW5wdXRWaWV3VXBkYXRlRGVmZXJyZXI+IF9pbnB1dFZpZXdVcGRhdGVEZWZlcnJlcjsKIAogICAg
IEJPT0wgX2lzRWRpdGFibGU7CiAgICAgQk9PTCBfc2hvd2luZ1RleHRTdHlsZU9wdGlvbnM7CkBA
IC0yMzUsNiArMjM4LDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICNlbmRpZgog
LSAodm9pZClfY29tbWl0UG90ZW50aWFsVGFwRmFpbGVkOwogLSAodm9pZClfZGlkTm90SGFuZGxl
VGFwQXNDbGljazooY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKXBvaW50OworLSAodm9pZClfZGlk
Q29tcGxldGVTeW50aGV0aWNDbGljazsKIC0gKHZvaWQpX2RpZEdldFRhcEhpZ2hsaWdodEZvclJl
cXVlc3Q6KHVpbnQ2NF90KXJlcXVlc3RJRCBjb2xvcjooY29uc3QgV2ViQ29yZTo6Q29sb3ImKWNv
bG9yIHF1YWRzOihjb25zdCBWZWN0b3I8V2ViQ29yZTo6RmxvYXRRdWFkPiYpaGlnaGxpZ2h0ZWRR
dWFkcyB0b3BMZWZ0UmFkaXVzOihjb25zdCBXZWJDb3JlOjpJbnRTaXplJil0b3BMZWZ0UmFkaXVz
IHRvcFJpZ2h0UmFkaXVzOihjb25zdCBXZWJDb3JlOjpJbnRTaXplJil0b3BSaWdodFJhZGl1cyBi
b3R0b21MZWZ0UmFkaXVzOihjb25zdCBXZWJDb3JlOjpJbnRTaXplJilib3R0b21MZWZ0UmFkaXVz
IGJvdHRvbVJpZ2h0UmFkaXVzOihjb25zdCBXZWJDb3JlOjpJbnRTaXplJilib3R0b21SaWdodFJh
ZGl1czsKIAogLSAoQk9PTClfbWF5RGlzYWJsZURvdWJsZVRhcEdlc3R1cmVzRHVyaW5nU2luZ2xl
VGFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA2OWE5NTdmYjViNGEyMjQ3ZmI2NTQ2Nzc1NjAyNjdm
YmU0NjdjZjg4Li45YTAxMDlmZWMxZGNlYzc1NThmYTIwODY3MjBkNTljOGRkNGYwZjcxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJBUElVSUNsaWVudC5o
IgogI2ltcG9ydCAiRWRpdGluZ1JhbmdlLmgiCisjaW1wb3J0ICJJbnB1dFZpZXdVcGRhdGVEZWZl
cnJlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWFuYWdlZENvbmZpZ3VyYXRp
b25TUEkuaCIKICNpbXBvcnQgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKQEAgLTY2Myw2ICs2
NjQsOCBAQCBzdGF0aWMgVUlXZWJTZWxlY3Rpb25Nb2RlIHRvVUlXZWJTZWxlY3Rpb25Nb2RlKFdL
U2VsZWN0aW9uR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdAogICAgICAgICBbX2ZpbGVVcGxvYWRQYW5l
bCBkaXNtaXNzXTsKICAgICAgICAgX2ZpbGVVcGxvYWRQYW5lbCA9IG5pbDsKICAgICB9CisgICAg
CisgICAgX2lucHV0Vmlld1VwZGF0ZURlZmVycmVyID0gbnVsbHB0cjsKIH0KIAogLSAodm9pZClf
cmVtb3ZlRGVmYXVsdEdlc3R1cmVSZWNvZ25pemVycwpAQCAtODYyLDYgKzg2NSw4IEBAIHN0YXRp
YyBVSVdlYlNlbGVjdGlvbk1vZGUgdG9VSVdlYlNlbGVjdGlvbk1vZGUoV0tTZWxlY3Rpb25HcmFu
dWxhcml0eSBncmFudWxhcml0CiAgICAgW3NlbGYgX2NhbmNlbEludGVyYWN0aW9uXTsKICAgICBb
X3dlYlNlbGVjdGlvbkFzc2lzdGFudCByZXNpZ25lZEZpcnN0UmVzcG9uZGVyXTsKICAgICBbX3Rl
eHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGVhY3RpdmF0ZVNlbGVjdGlvbl07CisgICAgCisgICAgX2lu
cHV0Vmlld1VwZGF0ZURlZmVycmVyID0gbnVsbHB0cjsKIAogICAgIGJvb2wgc3VwZXJEaWRSZXNp
Z24gPSBbc3VwZXIgcmVzaWduRmlyc3RSZXNwb25kZXJdOwogCkBAIC0xNjIyLDEwICsxNjI3LDE0
IEBAIHN0YXRpYyB2b2lkIGNhbmNlbFBvdGVudGlhbFRhcElmTmVjZXNzYXJ5KFdLQ29udGVudFZp
ZXcqIGNvbnRlbnRWaWV3KQogLSAodm9pZClfY29tbWl0UG90ZW50aWFsVGFwRmFpbGVkCiB7CiAg
ICAgW3NlbGYgX2NhbmNlbEludGVyYWN0aW9uXTsKKyAgICAKKyAgICBfaW5wdXRWaWV3VXBkYXRl
RGVmZXJyZXIgPSBudWxscHRyOwogfQogCiAtICh2b2lkKV9kaWROb3RIYW5kbGVUYXBBc0NsaWNr
Oihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpcG9pbnQKIHsKKyAgICBfaW5wdXRWaWV3VXBkYXRl
RGVmZXJyZXIgPSBudWxscHRyOworCiAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBhbHNvIHRha2Ug
aW50byBhY2NvdW50IHdoZXRoZXIgb3Igbm90IHRoZSBVSSBkZWxlZ2F0ZQogICAgIC8vIGhhcyBo
YW5kbGVkIHRoaXMgbm90aWZpY2F0aW9uLgogICAgIGlmIChfaGFzVmFsaWRQb3NpdGlvbkluZm9y
bWF0aW9uICYmIHBvaW50ID09IF9wb3NpdGlvbkluZm9ybWF0aW9uLnJlcXVlc3QucG9pbnQgJiYg
X3Bvc2l0aW9uSW5mb3JtYXRpb24uaXNEYXRhRGV0ZWN0b3JMaW5rKSB7CkBAIC0xNjQwLDEyICsx
NjQ5LDIwIEBAIHN0YXRpYyB2b2lkIGNhbmNlbFBvdGVudGlhbFRhcElmTmVjZXNzYXJ5KFdLQ29u
dGVudFZpZXcqIGNvbnRlbnRWaWV3KQogICAgIF9pc0RvdWJsZVRhcFBlbmRpbmcgPSBOTzsKIH0K
IAorLSAodm9pZClfZGlkQ29tcGxldGVTeW50aGV0aWNDbGljaworeworICAgIF9pbnB1dFZpZXdV
cGRhdGVEZWZlcnJlciA9IG51bGxwdHI7Cit9CisKIC0gKHZvaWQpX3NpbmdsZVRhcENvbW1pdGVk
OihVSVRhcEdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKIHsKICAgICBBU1NF
UlQoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX3NpbmdsZVRhcEdlc3R1cmVSZWNvZ25pemVyKTsKIAot
ICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCisgICAgaWYgKCFbc2VsZiBpc0ZpcnN0
UmVzcG9uZGVyXSkgeworICAgICAgICBpZiAoIV9pbnB1dFZpZXdVcGRhdGVEZWZlcnJlcikKKyAg
ICAgICAgICAgIF9pbnB1dFZpZXdVcGRhdGVEZWZlcnJlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5w
dXRWaWV3VXBkYXRlRGVmZXJyZXI+KCk7CiAgICAgICAgIFtzZWxmIGJlY29tZUZpcnN0UmVzcG9u
ZGVyXTsKKyAgICB9CiAKICAgICBpZiAoX3dlYlNlbGVjdGlvbkFzc2lzdGFudCAmJiAhW193ZWJT
ZWxlY3Rpb25Bc3Npc3RhbnQgc2hvdWxkSGFuZGxlU2luZ2xlVGFwQXRQb2ludDpnZXN0dXJlUmVj
b2duaXplci5sb2NhdGlvbl0pIHsKICAgICAgICAgW3NlbGYgX3NpbmdsZVRhcERpZFJlc2V0Omdl
c3R1cmVSZWNvZ25pemVyXTsKQEAgLTE3MDUsOCArMTcyMiwxMSBAQCBzdGF0aWMgdm9pZCBjYW5j
ZWxQb3RlbnRpYWxUYXBJZk5lY2Vzc2FyeShXS0NvbnRlbnRWaWV3KiBjb250ZW50VmlldykKIAog
LSAodm9pZClfYXR0ZW1wdENsaWNrQXRMb2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbgogewotICAg
IGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRlcl0pCisgICAgaWYgKCFbc2VsZiBpc0ZpcnN0UmVz
cG9uZGVyXSkgeworICAgICAgICBpZiAoIV9pbnB1dFZpZXdVcGRhdGVEZWZlcnJlcikKKyAgICAg
ICAgICAgIF9pbnB1dFZpZXdVcGRhdGVEZWZlcnJlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5wdXRW
aWV3VXBkYXRlRGVmZXJyZXI+KCk7CiAgICAgICAgIFtzZWxmIGJlY29tZUZpcnN0UmVzcG9uZGVy
XTsKKyAgICB9CiAKICAgICBbX2lucHV0UGVyaXBoZXJhbCBlbmRFZGl0aW5nXTsKICAgICBfcGFn
ZS0+aGFuZGxlVGFwKGxvY2F0aW9uKTsKQEAgLTM3NjcsNiArMzc4Nyw4IEBAIHN0YXRpYyBib29s
IGlzQXNzaXN0YWJsZUlucHV0VHlwZShJbnB1dFR5cGUgdHlwZSkKIAogLSAodm9pZClfc3RhcnRB
c3Npc3RpbmdOb2RlOihjb25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYpaW5mb3JtYXRpb24g
dXNlcklzSW50ZXJhY3Rpbmc6KEJPT0wpdXNlcklzSW50ZXJhY3RpbmcgYmx1clByZXZpb3VzTm9k
ZTooQk9PTClibHVyUHJldmlvdXNOb2RlIHVzZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3VyZUNv
ZGluZz4gKil1c2VyT2JqZWN0CiB7CisgICAgX2lucHV0Vmlld1VwZGF0ZURlZmVycmVyID0gbnVs
bHB0cjsKKwogICAgIGlkIDxfV0tJbnB1dERlbGVnYXRlPiBpbnB1dERlbGVnYXRlID0gW193ZWJW
aWV3IF9pbnB1dERlbGVnYXRlXTsKICAgICBSZXRhaW5QdHI8V0tGb2N1c2VkRWxlbWVudEluZm8+
IGZvY3VzZWRFbGVtZW50SW5mbyA9IGFkb3B0TlMoW1tXS0ZvY3VzZWRFbGVtZW50SW5mbyBhbGxv
Y10gaW5pdFdpdGhBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbjppbmZvcm1hdGlvbiBpc1VzZXJJbml0
aWF0ZWQ6dXNlcklzSW50ZXJhY3RpbmddKTsKICAgICBCT09MIHNob3VsZFNob3dLZXlib2FyZDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9T
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5k
ZXggOTdiZmI1NmMzNTQ5MmU3MWM5NjcxMWM4YWVlNzVlMTQwYTUxMDViZS4uYTM1OThiNGI3MjE2
NGQ3NjdmY2I0OTZlZDE2ZjgxMDViNTcwZWU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTEwNDMsNiArMTA0MywxMSBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgcG9pbnQpCiAgICAgbV9wYWdlQ2xpZW50LmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2socG9p
bnQpOwogICAgIG1fdWlDbGllbnQtPmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2socG9pbnQpOwogfQor
ICAgIAordm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKQorewor
ICAgIG1fcGFnZUNsaWVudC5kaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKCk7Cit9CiAKIHZvaWQg
V2ViUGFnZVByb3h5OjpkaXNhYmxlRG91YmxlVGFwR2VzdHVyZXNEdXJpbmdUYXBJZk5lY2Vzc2Fy
eSh1aW50NjRfdCByZXF1ZXN0SUQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2Q1ZTI3ODA0MDdlNWZjZDdkM2U1NTYzNmU5
MDBjYWYyNDVhY2RmYy4uZjcwMmY1N2ExYTgyOTRiNTBhNjZiMjgyY2YxNWFjOGEzOTIxOTdiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNjk5LDYgKzY5OSw4IEBACiAJCTJEQzZEOUM0MThDNDRBNjEwMDQzQkFENCAvKiBXS1dl
YlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQzZEOUMyMThDNDRBNjEwMDQzQkFENCAvKiBXS1dlYlZp
ZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5tbSAqLzsgfTsKIAkJMkREMTJBMDgxQTgxNzdGMzAw
MkM3NEU2IC8qIFdLUGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREQxMkEwNzFBODE3N0YzMDAyQzc0RTYg
LyogV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyREQxM0JENTE4RjdEQUREMDBFMTMwQTEgLyog
RmluZENvbnRyb2xsZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyREQxM0JEMzE4RjdEQUREMDBFMTMwQTEgLyogRmluZENvbnRyb2xsZXJJT1Mu
bW0gKi87IH07CisJCTJERDQ1QURFMUU1Rjg5NzIwMDZDMzU1RiAvKiBJbnB1dFZpZXdVcGRhdGVE
ZWZlcnJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkRENDVBREMxRTVGODk3MjAwNkMzNTVGIC8qIElucHV0Vmlld1VwZGF0ZURlZmVycmVyLmggKi87
IH07CisJCTJERDQ1QURGMUU1Rjg5NzIwMDZDMzU1RiAvKiBJbnB1dFZpZXdVcGRhdGVEZWZlcnJl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERDQ1
QUREMUU1Rjg5NzIwMDZDMzU1RiAvKiBJbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5tbSAqLzsgfTsK
IAkJMkRENjdBMkUxQkQ4MTk3MzAwNTNCMjUxIC8qIEFQSUZpbmRNYXRjaGVzQ2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREQ2N0EyRDFCRDgx
OTczMDA1M0IyNTEgLyogQVBJRmluZE1hdGNoZXNDbGllbnQuaCAqLzsgfTsKIAkJMkRENjdBMzUx
QkQ4NjEwNjAwNTNCMjUxIC8qIFdLVGV4dEZpbmRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRENjdBMzMxQkQ4NjEwNjAwNTNCMjUxIC8q
IFdLVGV4dEZpbmRlckNsaWVudC5oICovOyB9OwogCQkyREQ2N0EzNjFCRDg2MTA2MDA1M0IyNTEg
LyogV0tUZXh0RmluZGVyQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkRENjdBMzQxQkQ4NjEwNjAwNTNCMjUxIC8qIFdLVGV4dEZpbmRlckNs
aWVudC5tbSAqLzsgfTsKQEAgLTI4NDYsNiArMjg0OCw4IEBACiAJCTJEQzZEOUMyMThDNDRBNjEw
MDQzQkFENCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLV2ViVmlld0NvbnRlbnRQcm92aWRlclJl
Z2lzdHJ5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyREQxMkEwNzFBODE3N0Yz
MDAyQzc0RTYgLyogV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkREMTNCRDMxOEY3REFERDAwRTEzMEExIC8qIEZp
bmRDb250cm9sbGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gRmluZENvbnRyb2xsZXJJT1MubW07IHBhdGggPSBpb3MvRmluZENvbnRyb2xsZXJJT1MubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJERDQ1QURDMUU1Rjg5NzIwMDZDMzU1RiAv
KiBJbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBJbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5oOyBwYXRoID0gaW9zL0lucHV0Vmlld1VwZGF0
ZURlZmVycmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJERDQ1QUREMUU1Rjg5
NzIwMDZDMzU1RiAvKiBJbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IElucHV0Vmlld1VwZGF0ZURlZmVycmVyLm1tOyBwYXRo
ID0gaW9zL0lucHV0Vmlld1VwZGF0ZURlZmVycmVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyREQ2N0EyRDFCRDgxOTczMDA1M0IyNTEgLyogQVBJRmluZE1hdGNoZXNDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJRmluZE1hdGNoZXNDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRENjdBMzMxQkQ4NjEwNjAwNTNCMjUx
IC8qIFdLVGV4dEZpbmRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS1RleHRGaW5kZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRE
NjdBMzQxQkQ4NjEwNjAwNTNCMjUxIC8qIFdLVGV4dEZpbmRlckNsaWVudC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLVGV4dEZpbmRlckNsaWVudC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUyMTUsNiArNTIxOSw4IEBACiAJCQkJQTE5REQz
QkYxRDA3RDE2ODAwQUM4MjNCIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlckludGVybmFsLmgg
Ki8sCiAJCQkJMUFENEMxOTExQjM5RjMzMjAwQUJDMjhFIC8qIEFwcGxpY2F0aW9uU3RhdGVUcmFj
a2VyLmggKi8sCiAJCQkJMUFENEMxOTAxQjM5RjMzMjAwQUJDMjhFIC8qIEFwcGxpY2F0aW9uU3Rh
dGVUcmFja2VyLm1tICovLAorCQkJCTJERDQ1QURDMUU1Rjg5NzIwMDZDMzU1RiAvKiBJbnB1dFZp
ZXdVcGRhdGVEZWZlcnJlci5oICovLAorCQkJCTJERDQ1QUREMUU1Rjg5NzIwMDZDMzU1RiAvKiBJ
bnB1dFZpZXdVcGRhdGVEZWZlcnJlci5tbSAqLywKIAkJCQkwRjBDMzY1RDE4QzExMEE1MDBGNjA3
RDcgLyogTGF5ZXJSZXByZXNlbnRhdGlvbi5tbSAqLywKIAkJCQkwRkNCNEUzNjE4QkJFMDQ0MDAw
RkNGQzkgLyogUGFnZUNsaWVudEltcGxJT1MuaCAqLywKIAkJCQkwRkNCNEUzNzE4QkJFMDQ0MDAw
RkNGQzkgLyogUGFnZUNsaWVudEltcGxJT1MubW0gKi8sCkBAIC04NzI4LDYgKzg3MzQsNyBAQAog
CQkJCTdDRDVFQkJGMTc0NkIwNEMwMDBDMUM0NSAvKiBXS1R5cGVSZWZXcmFwcGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUQ4NzkwQTE4QjZDMzhBMDA2Q0FGRDcgLyogV0tVSURlbGVnYXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzNzQzOTI1ODE4QkM0QzYwMDAxQzg2NzUgLyogV0tVSURlbGVn
YXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkRENDVBREUxRTVGODk3MjAwNkMzNTVG
IC8qIElucHV0Vmlld1VwZGF0ZURlZmVycmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQwNzYw
QTEyNEZGMDI3MDA2OEYyMEEgLyogV0tVUkwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDA3NjFD
MTI0RkYwMzcwMDY4RjIwQSAvKiBXS1VSTENGLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQwNzYw
QzEyNEZGMDI3MDA2OEYyMEEgLyogV0tVUkxSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTk1
OTMsNiArOTYwMCw3IEBACiAJCQkJQzAyQkZGMUUxMjUxNTAyRTAwOUNDQkVBIC8qIE5hdGl2ZVdl
YktleWJvYXJkRXZlbnRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMUVBMjVEMjEzNEY3OEMw
MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTJEQTk0NDlGMTg4NEU0RjAwMEVEODZEQiAvKiBOYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJMkRENDVBREYxRTVGODk3MjAwNkMzNTVGIC8qIElucHV0Vmlld1Vw
ZGF0ZURlZmVycmVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJREY1OEM2MzYxMzcxQUNBMDAwRjlB
MzdDIC8qIE5hdGl2ZVdlYldoZWVsRXZlbnRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQURD
Qjg2QTE4OTgzMUIzMDAyMkVFNUEgLyogTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUFCQzNERjUxODk5RTQzNzAwNEYwNjI2IC8qIE5hdmlnYXRpb25TdGF0ZS5t
bSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGU3Njk1MDIyYzYzYWJlMmRhZmRiNjA4YmE0ZjE1
MTgxMzg3MTcwZjkuLjkzZGM2MjFiNWFiYmQ0ZDM2NTUxOTIwMmIxM2M0MmY0ZDA4ZGUxZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW0KQEAgLTYwMyw2ICs2MDMsOCBAQCB2b2lkIFdlYlBhZ2U6OmNvbXBsZXRlU3ludGhldGlj
Q2xpY2soTm9kZSogbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJDb3JlOgogCiAgICAg
aWYgKCF0YXBXYXNIYW5kbGVkIHx8ICFub2RlUmVzcG9uZGluZ1RvQ2xpY2sgfHwgIW5vZGVSZXNw
b25kaW5nVG9DbGljay0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRsZVRhcEFzQ2xpY2socm91bmRlZEludFBvaW50KGxvY2F0
aW9uKSkpOworICAgIAorICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ29tcGxl
dGVTeW50aGV0aWNDbGljaygpKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpoYW5kbGVUYXAoY29uc3Qg
SW50UG9pbnQmIHBvaW50LCB1aW50NjRfdCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkK
</data>
<flag name="review"
          id="324561"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302872</attachid>
            <date>2017-02-27 14:09:02 -0800</date>
            <delta_ts>2017-02-27 14:09:02 -0800</delta_ts>
            <desc>test-in-progress</desc>
            <filename>bounce-test.diff</filename>
            <type>text/plain</type>
            <size>29244</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9y
LmggYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL0hJREV2ZW50R2VuZXJhdG9yL0hJREV2ZW50R2Vu
ZXJhdG9yLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLmgKcmVuYW1lIHRvIFRvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvSElERXZlbnRHZW5lcmF0b3IvSElERXZlbnRHZW5lcmF0b3IuaApkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0gYi9Ub29s
cy9UZXN0UnVubmVyU2hhcmVkL0hJREV2ZW50R2VuZXJhdG9yL0hJREV2ZW50R2VuZXJhdG9yLm1t
CnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL0hJREV2ZW50R2VuZXJhdG9yLm1tCnJlbmFtZSB0byBUb29scy9UZXN0UnVubmVyU2hhcmVk
L0hJREV2ZW50R2VuZXJhdG9yL0hJREV2ZW50R2VuZXJhdG9yLm1tCmluZGV4IDFkZTcyOWNjYWFm
Li5mNGJmN2JhYWZkYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElE
RXZlbnRHZW5lcmF0b3IubW0KKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9ISURFdmVudEdl
bmVyYXRvci9ISURFdmVudEdlbmVyYXRvci5tbQpAQCAtNDQ5LDYgKzQ0OSw3IEBAIHN0YXRpYyBJ
bnRlcnBvbGF0aW9uVHlwZSBpbnRlcnBvbGF0aW9uRnJvbVN0cmluZyhOU1N0cmluZyAqc3RyaW5n
KQogCiAtIChCT09MKV9zZW5kSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnRSZWYKIHsKKyAg
ICBXVEZMb2dBbHdheXMoIl9zZW5kSElERXZlbnQgJUAgJUAiLCAoaWQpZXZlbnRSZWYsIFtVSUFw
cGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSk7CiAgICAgaWYgKCFfaW9TeXN0ZW1DbGllbnQp
CiAgICAgICAgIF9pb1N5c3RlbUNsaWVudCA9IElPSElERXZlbnRTeXN0ZW1DbGllbnRDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCk7CiAKQEAgLTQ4MCw5ICs0ODEsMTIgQEAgc3RhdGljIEludGVy
cG9sYXRpb25UeXBlIGludGVycG9sYXRpb25Gcm9tU3RyaW5nKE5TU3RyaW5nICpzdHJpbmcpCiAg
ICAgICAgIHNpemVvZih1bnNpZ25lZCksCiAgICAgICAgIGtJT0hJREV2ZW50T3B0aW9uTm9uZSkp
OwogICAgIAorICAgIFdURkxvZ0Fsd2F5cygiX3NlbmRNYXJrZXJFdmVudCBPVVRFUiAlQCIsIChp
ZCltYXJrZXJFdmVudC5nZXQoKSk7CisgICAgCiAgICAgaWYgKG1hcmtlckV2ZW50KSB7CiAgICAg
ICAgIG1hcmtlckV2ZW50LmdldCgpOwogICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9n
ZXRfbWFpbl9xdWV1ZSgpLCBeeworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJfc2VuZE1hcmtl
ckV2ZW50IElOTkVSICVAIiwgKGlkKW1hcmtlckV2ZW50LmdldCgpKTsKICAgICAgICAgICAgIHVp
bnQzMl90IGNvbnRleHRJRCA9IFtVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5rZXlX
aW5kb3cuX2NvbnRleHRJZDsKICAgICAgICAgICAgIEFTU0VSVChjb250ZXh0SUQpOwogICAgICAg
ICAgICAgQktTSElERXZlbnRTZXREaWdpdGl6ZXJJbmZvKG1hcmtlckV2ZW50LmdldCgpLCBjb250
ZXh0SUQsIGZhbHNlLCBmYWxzZSwgTlVMTCwgMCwgMCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9JT0tpdFNQSS5oIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9ISURF
dmVudEdlbmVyYXRvci9JT0tpdFNQSS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJv
bSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9JT0tpdFNQSS5oCnJlbmFtZSB0byBUb29scy9U
ZXN0UnVubmVyU2hhcmVkL0hJREV2ZW50R2VuZXJhdG9yL0lPS2l0U1BJLmgKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmggYi9Ub29scy9UZXN0UnVubmVy
U2hhcmVkL0hJREV2ZW50R2VuZXJhdG9yL1VJS2l0U1BJLmgKc2ltaWxhcml0eSBpbmRleCAxMDAl
CnJlbmFtZSBmcm9tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKcmVuYW1l
IHRvIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvSElERXZlbnRHZW5lcmF0b3IvVUlLaXRTUEkuaApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmlu
ZGV4IDdhMDg5ZDI5NTNiLi4zNTQyZmM2ZmI5YiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtOTEsNiArOTEsOCBAQCBXRUJDT1JF
X1BSSVZBVEVfSEVBREVSU19ESVIgPSAkKFdFQktJVF9VTUJSRUxMQV9GUkFNRVdPUktTX0RJUikv
V2ViQ29yZS5mcmFtZXdvcgogRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNbc2RrPW1hY29zeCpd
ID0gKklPUy5oICpJT1MuY3BwICpJT1MubW07CiBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tz
ZGs9aXBob25lKl0gPSAqTWFjLmggKk1hYy5jcHAgKk1hYy5tbSAqL21hYy8qOwogCitGUkFNRVdP
UktfU0VBUkNIX1BBVEhTID0gJChpbmhlcml0ZWQpICQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2
YXRlRnJhbWV3b3JrczsKKwogT1RIRVJfQ0ZMQUdTID0gJChBU0FOX09USEVSX0NGTEFHUyk7CiBP
VEhFUl9DRkxBR1Nbc2RrPW1hY29zeCpdID0gJChpbmhlcml0ZWQpIC1pZnJhbWV3b3JrICQoU0RL
Uk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2Vz
LmZyYW1ld29yay9GcmFtZXdvcmtzIC1pZnJhbWV3b3JrICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJS
QVJZX0RJUikvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL0ZyYW1ld29ya3MgLWlmcmFtZXdv
cmsgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL1F1YXJ0ei5mcmFt
ZXdvcmsvRnJhbWV3b3JrcyAtaWZyYW1ld29yayAkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9E
SVIpL0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzIC1pZnJhbWV3
b3JrICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJUikvUHJpdmF0ZUZyYW1ld29ya3M7CiBP
VEhFUl9DUExVU1BMVVNGTEFHUyA9ICQoQVNBTl9PVEhFUl9DUExVU1BMVVNGTEFHUyk7CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL1Rlc3RXZWJLaXRBUEku
eGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL1Rlc3RXZWJLaXRB
UEkueGNjb25maWcKaW5kZXggZDJkMzk3MDAwMDcuLjlhNDRhODQ4Zjk1IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL1Rlc3RXZWJLaXRBUEkueGNjb25maWcK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJLnhj
Y29uZmlnCkBAIC0zMiw2ICszMiw2IEBAIE9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChV
TkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTKSAtbGd0ZXN0IC1mb3JjZV9sb2FkICQoCiBPVEhFUl9M
REZMQUdTX1BMQVRGT1JNW3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQ29jb2EgLWZyYW1ld29y
ayBDYXJib247CiAKIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgYmUgYnVpbHQgb24gaU9TLiBJ
bnN0ZWFkIHdlIHNob3VsZCBjcmVhdGUgYW5kIHVzZSBhIFRlc3RXZWJLaXRBUEkgYXBwbGljYXRp
b24uCi1PVEhFUl9MREZMQUdTX1BMQVRGT1JNW3Nkaz1pcGhvbmUqXSA9IC1mcmFtZXdvcmsgV2Vi
Q29yZSAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsg
TW9iaWxlQ29yZVNlcnZpY2VzOworT1RIRVJfTERGTEFHU19QTEFURk9STVtzZGs9aXBob25lKl0g
PSAtZnJhbWV3b3JrIFdlYkNvcmUgLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBH
cmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBNb2JpbGVDb3JlU2Vy
dmljZXMgLWZyYW1ld29yayBVSUtpdDsKIAogTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAiQGxv
YWRlcl9wYXRoIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDAzOTc1NThjY2YuLjJhN2Rl
ZjE5ODI3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjEsOCArNjEsMTEgQEAKIAkJMkQx
QzA0QTcxRDc2Mjk4QjAwMEE2ODE2IC8qIFRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDFDMDRBNjFENzYyOThC
MDAwQTY4MTYgLyogVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5tbSAqLzsgfTsKIAkJMkQ0Q0Y4QkQx
RDgzNjBDQzAwMDFDRThEIC8qIFdLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENENGOEJDMUQ4MzYwQ0MwMDAxQ0U4RCAvKiBX
S1RodW1ibmFpbFZpZXcubW0gKi87IH07CiAJCTJENTFBMEM3MUM4QkYwMEMwMDc2NUM0NSAvKiBE
T01IVE1MVmlkZW9FbGVtZW50V3JhcHBlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJENTFBMEM1MUM4QkYwMDQwMDc2NUM0NSAvKiBET01IVE1MVmlk
ZW9FbGVtZW50V3JhcHBlci5tbSAqLzsgfTsKKwkJMkQ1M0E3MTgxRTYwRTQ4MjAwREU1NDgwIC8q
IEhJREV2ZW50R2VuZXJhdG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ1M0E3MEQxRTYwRTQ4MjAwREU1NDgwIC8qIEhJREV2ZW50R2VuZXJhdG9y
Lm1tICovOyB9OwogCQkyREIwMjMyRjFFNEU4NzE4MDA3MDcxMjMgLyogSW50ZXJhY3Rpb25EZWFk
bG9ja0FmdGVyQ3Jhc2gubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyREIwMjMyRTFFNEU4NzE4MDA3MDcxMjMgLyogSW50ZXJhY3Rpb25EZWFkbG9ja0Fm
dGVyQ3Jhc2gubW0gKi87IH07CiAJCTJEQzRDRjc3MUQyRDlERDgwMEVDQ0M5NCAvKiBEYXRhRGV0
ZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkRDNENGNzYxRDJEOUREODAwRUNDQzk0IC8qIERhdGFEZXRlY3Rpb24ubW0gKi87IH07CisJCTJE
RDQ1QUUwMUU1RjkxRkIwMDZDMzU1RiAvKiBsaWJpY3Vjb3JlLmR5bGliIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4M0UwMzMxRDBBNUYyNzAwRkVC
Q0YzIC8qIGxpYmljdWNvcmUuZHlsaWIgKi87IH07CisJCTJERDQ1QUUyMUU1Rjk0NkIwMDZDMzU1
RiAvKiBLZXlib2FyZEJvdW5jZVdoZW5Gb2N1c2luZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERDQ1QUUxMUU1Rjk0NkIwMDZDMzU1RiAvKiBLZXli
b2FyZEJvdW5jZVdoZW5Gb2N1c2luZy5tbSAqLzsgfTsKIAkJMkREN0QzQUYxNzgyMjdCMzAwMjZF
MUUzIC8qIGxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERDdEM0FFMTc4MjI3QUMwMDI2RTFF
MyAvKiBsb3RzLW9mLXRleHQtdmVydGljYWwtbHIuaHRtbCAqLzsgfTsKIAkJMkRFNzFBRkUxRDQ5
QzBCRDAwOTA0MDk0IC8qIEFuaW1hdGVkUmVzaXplLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRFNzFBRkQxRDQ5QzBCRDAwOTA0MDk0IC8qIEFuaW1h
dGVkUmVzaXplLm1tICovOyB9OwogCQkyREU3MUIwMDFENDlDM0VEMDA5MDQwOTQgLyogYmxpbmtp
bmctZGl2Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkRFNzFBRkYxRDQ5QzJGMDAwOTA0MDk0IC8qIGJsaW5raW5nLWRpdi5odG1sICov
OyB9OwpAQCAtODk1LDEyICs4OTgsMTcgQEAKIAkJMkQxRkUwQUYxQUQ0NjVDMTAwNkNEOUU2IC8q
IEZpeGVkTGF5b3V0U2l6ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEZpeGVkTGF5b3V0U2l6ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ0
Q0Y4QkMxRDgzNjBDQzAwMDFDRThEIC8qIFdLVGh1bWJuYWlsVmlldy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLVGh1bWJuYWlsVmlldy5tbTsgcGF0aCA9IFdl
YktpdDIvV0tUaHVtYm5haWxWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RDUxQTBDNTFDOEJGMDA0MDA3NjVDNDUgLyogRE9NSFRNTFZpZGVvRWxlbWVudFdyYXBwZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MVmlkZW9FbGVt
ZW50V3JhcHBlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ1M0E3MEMxRTYw
RTQ4MjAwREU1NDgwIC8qIEhJREV2ZW50R2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhJREV2ZW50R2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJENTNBNzBEMUU2MEU0ODIwMERFNTQ4MCAvKiBISURFdmVudEdlbmVyYXRvci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEhJREV2ZW50R2VuZXJhdG9y
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDUzQTcwRTFFNjBFNDgyMDBERTU0
ODAgLyogSU9LaXRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ1M0E3MEYxRTYwRTQ4MjAwREU1
NDgwIC8qIFVJS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJS2l0
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENjQwQjU0MTc4NzVERkYwMEJG
QUY5OSAvKiBTY3JvbGxQaW5uaW5nQmVoYXZpb3JzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNjcm9sbFBpbm5pbmdCZWhhdmlvcnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDgxMDRDQjFCRUMxM0U3MDAyMERBNDYgLyogRmluZEluUGFnZS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZpbmRJblBhZ2UubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOUE1M0FFMUIzMUZBOEQwMDc0RDVBQSAv
KiBTaHJpbmtUb0ZpdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFNocmlua1RvRml0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyREIwMjMyRTFF
NEU4NzE4MDA3MDcxMjMgLyogSW50ZXJhY3Rpb25EZWFkbG9ja0FmdGVyQ3Jhc2gubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBJbnRlcmFjdGlvbkRlYWRsb2NrQWZ0
ZXJDcmFzaC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRDNENGNzYxRDJEOURE
ODAwRUNDQzk0IC8qIERhdGFEZXRlY3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBEYXRhRGV0ZWN0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyREQzNTUzNTFCRDA4Mzc4MDA1REY0QTcgLyogQXV0b0xheW91dEludGVncmF0aW9uLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXV0b0xheW91dEludGVn
cmF0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyREQ0NUFFMTFFNUY5NDZC
MDA2QzM1NUYgLyogS2V5Ym9hcmRCb3VuY2VXaGVuRm9jdXNpbmcubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBLZXlib2FyZEJvdW5jZVdoZW5Gb2N1c2luZy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkREN0QzQTkxNzgyMDVEMDAwMjZFMUUzIC8q
IFJlc2l6ZVJldmVyc2VQYWdpbmF0ZWRXZWJWaWV3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlc2l6ZVJldmVyc2VQYWdpbmF0ZWRXZWJWaWV3LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkREN0QzQUUxNzgyMjdBQzAwMjZFMUUzIC8qIGxvdHMt
b2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxvdHMtb2YtdGV4dC12ZXJ0aWNh
bC1sci5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRFNzFBRkQxRDQ5QzBC
RDAwOTA0MDk0IC8qIEFuaW1hdGVkUmVzaXplLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gQW5pbWF0ZWRSZXNpemUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xNDIwLDcgKzE0MjgsNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhh
c2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0JCQkJ
N0M4M0UwM0YxRDBBNjFBMDAwRkVCQ0YzIC8qIGxpYmljdWNvcmUuZHlsaWIgaW4gRnJhbWV3b3Jr
cyAqLywKKwkJCQkyREQ0NUFFMDFFNUY5MUZCMDA2QzM1NUYgLyogbGliaWN1Y29yZS5keWxpYiBp
biBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpAQCAtMTQ1NCw2ICsxNDYyLDcgQEAKIAkJMDhGQjc3OTRGRTg0MTU1
REMwMkFBQzA3IC8qIFRlc3RXZWJLaXRBUEkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTJENTNBNzA2MUU2MEU0ODIwMERFNTQ4MCAvKiBUZXN0UnVubmVy
U2hhcmVkICovLAogCQkJCTA4RkI3Nzk1RkU4NDE1NURDMDJBQUMwNyAvKiBTb3VyY2UgKi8sCiAJ
CQkJQkNCOUVCNjYxMTIzNjZEODAwQTEzN0UwIC8qIFRlc3RzICovLAogCQkJCUJDOTA5NTdEMTI1
NTRDRUEwMDA4Mzc1NiAvKiBDb25maWd1cmF0aW9ucyAqLywKQEAgLTE1ODAsNiArMTU4OSw3IEBA
CiAJCQkJNTFCQ0VFNDkxQzg0RjRBRjAwNDJDODJFIC8qIEluZGV4ZWREQk11bHRpUHJvY2Vzcy5t
bSAqLywKIAkJCQk1MUIxRUU4RDFDODBGNTg4MDA2NEZCOTggLyogSW5kZXhlZERCUGVyc2lzdGVu
Y2UubW0gKi8sCiAJCQkJMkRCMDIzMkUxRTRFODcxODAwNzA3MTIzIC8qIEludGVyYWN0aW9uRGVh
ZGxvY2tBZnRlckNyYXNoLm1tICovLAorCQkJCTJERDQ1QUUxMUU1Rjk0NkIwMDZDMzU1RiAvKiBL
ZXlib2FyZEJvdW5jZVdoZW5Gb2N1c2luZy5tbSAqLywKIAkJCQkzN0QzNkVENjFBRjQyRUNEMDBC
QUY1RDkgLyogTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcubW0gKi8sCiAJCQkJQTEyNTQ3OEQxREIx
OEI5NDAwMzU4NTY0IC8qIExvYWREYXRhV2l0aE5pbE1JTUVUeXBlLm1tICovLAogCQkJCTU3OTAx
RkFDMUNBRjEyQzIwMEVENjRGOSAvKiBMb2FkSW52YWxpZFVSTFJlcXVlc3QubW0gKi8sCkBAIC0x
NjI3LDYgKzE2MzcsMjYgQEAKIAkJCXBhdGggPSBXZWJLaXQyQ29jb2E7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwogCQl9OworCQkyRDUzQTcwNjFFNjBFNDgyMDBERTU0ODAgLyogVGVzdFJ1
bm5lclNoYXJlZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJMkQ1M0E3MEIxRTYwRTQ4MjAwREU1NDgwIC8qIEhJREV2ZW50R2VuZXJhdG9yICovLAorCQkJ
KTsKKwkJCW5hbWUgPSBUZXN0UnVubmVyU2hhcmVkOworCQkJcGF0aCA9IC4uL1Rlc3RSdW5uZXJT
aGFyZWQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQkyRDUzQTcwQjFFNjBF
NDgyMDBERTU0ODAgLyogSElERXZlbnRHZW5lcmF0b3IgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91
cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTJENTNBNzBDMUU2MEU0ODIwMERFNTQ4MCAvKiBISURF
dmVudEdlbmVyYXRvci5oICovLAorCQkJCTJENTNBNzBEMUU2MEU0ODIwMERFNTQ4MCAvKiBISURF
dmVudEdlbmVyYXRvci5tbSAqLywKKwkJCQkyRDUzQTcwRTFFNjBFNDgyMDBERTU0ODAgLyogSU9L
aXRTUEkuaCAqLywKKwkJCQkyRDUzQTcwRjFFNjBFNDgyMDBERTU0ODAgLyogVUlLaXRTUEkuaCAq
LywKKwkJCSk7CisJCQlwYXRoID0gSElERXZlbnRHZW5lcmF0b3I7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQkyRTk2NjBEQzE2QzA3RDdCMDAzNzFCNDIgLyogaW9zICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIzOTEsNyArMjQyMSw3
IEBACiAJCQkJOERENzZGOUIwNDg2QUE3NjAwRDk2QjVFIC8qIEZyYW1ld29ya3MgKi8sCiAJCQkJ
OERENzZGOUUwNDg2QUE3NjAwRDk2QjVFIC8qIENvcHlGaWxlcyAqLywKIAkJCQlCQ0I5RjRGQjEx
MjM4NEMwMDBBMTM3RTAgLyogQ29weSBSZXNvdXJjZXMgKi8sCi0JCQkJRjQ3MUNCOEIxRTU2NUMw
RjAwMjgwNTVDIC8qIFNoZWxsU2NyaXB0ICovLAorCQkJCUY0NzFDQjhCMUU1NjVDMEYwMDI4MDU1
QyAvKiBDb3B5IGFkZGl0aW9uYWwgcmVzb3VyY2VzICovLAogCQkJKTsKIAkJCWJ1aWxkUnVsZXMg
PSAoCiAJCQkpOwpAQCAtMjUwMywxNiArMjUzMywxNiBAQAogLyogRW5kIFBCWFJlc291cmNlc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ug
c2VjdGlvbiAqLwotCQlGNDcxQ0I4QjFFNTY1QzBGMDAyODA1NUMgLyogU2hlbGxTY3JpcHQgKi8g
PSB7CisJCUY0NzFDQjhCMUU1NjVDMEYwMDI4MDU1QyAvKiBDb3B5IGFkZGl0aW9uYWwgcmVzb3Vy
Y2VzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRB
Y3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAogCQkJKTsKIAkJCWlucHV0UGF0
aHMgPSAoCiAJCQkpOworCQkJbmFtZSA9ICJDb3B5IGFkZGl0aW9uYWwgcmVzb3VyY2VzIjsKIAkJ
CW91dHB1dFBhdGhzID0gKAogCQkJKTsKLQkJCW5hbWUgPSAiQ29weSBhZGRpdGlvbmFsIHJlc291
cmNlcyI7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNo
ZWxsUGF0aCA9IC9iaW4vc2g7CiAJCQlzaGVsbFNjcmlwdCA9ICJBRERJVElPTkFMX1JFU09VUkNF
U19QQVRIPVwidXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25zL1Jlc291cmNlcy9UZXN0
V2ViS2l0QVBJXCJcbkRFU1RJTkFUSU9OX1BBVEg9XCIkVEFSR0VUX0JVSUxEX0RJUi9UZXN0V2Vi
S2l0QVBJLnJlc291cmNlc1wiXG5pZiBbIC1kICRUQVJHRVRfQlVJTERfRElSLyRBRERJVElPTkFM
X1JFU09VUkNFU19QQVRIIF07IHRoZW5cbiAgICBjcCAkVEFSR0VUX0JVSUxEX0RJUi8kQURESVRJ
T05BTF9SRVNPVVJDRVNfUEFUSC8qICRERVNUSU5BVElPTl9QQVRIXG5lbGlmIFsgLWQgJFNES1JP
T1QvJEFERElUSU9OQUxfUkVTT1VSQ0VTX1BBVEggXTsgdGhlblxuICAgIGNwICRTREtST09ULyRB
RERJVElPTkFMX1JFU09VUkNFU19QQVRILyogJERFU1RJTkFUSU9OX1BBVEhcbmZpIjsKQEAgLTI2
MDcsNiArMjYzNyw3IEBACiAJCQkJQTEzRUJCQjExQjg3NDM4MDAwMDk3MTEwIC8qIEJ1bmRsZVBh
cmFtZXRlcnMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VEQzFBNDExQTkyMDA0NDdDNEMg
LyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQzJCODE4MDFDODkx
RTdDMDBBNTUyOUYgLyogQ2FuY2VsRm9udFN1YnJlc291cmNlLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkRENDVBRTIxRTVGOTQ2QjAwNkMzNTVGIC8qIEtleWJvYXJkQm91bmNlV2hlbkZvY3VzaW5n
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjYxQTQxMUE3RTAwNDQ3QzRDIC8qIENhbmNl
bExvYWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Qzgz
RTA0MTFEMEE2M0YyMDBGRUJDRjMgLyogQ2FuZGlkYXRlVGVzdHMubW0gaW4gU291cmNlcyAqLywK
IAkJCQk1QzgzOEY3RjFEQjA0RjkwMDA4Mjg1OEYgLyogTG9hZEludmFsaWRVUkxSZXF1ZXN0Lm1t
IGluIFNvdXJjZXMgKi8sCkBAIC0yODU3LDYgKzI4ODgsNyBAQAogCQkJCTVFNEIxRDJFMUQ0MDRD
NjEwMDA1MzYyMSAvKiBXS1Njcm9sbFZpZXdEZWxlZ2F0ZUNyYXNoLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJN0NDRTdGMjIxQTQxMUFFNjAwNDQ3QzRDIC8qIFdLU3RyaW5nLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTdDQ0U3RjFFMUE0MTFBRTYwMDQ0N0M0QyAvKiBXS1N0cmluZ0pTU3RyaW5nLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTJENTNBNzE4MUU2MEU0ODIwMERFNTQ4MCAvKiBISURFdmVu
dEdlbmVyYXRvci5tbSBpbiBTb3VyY2VzICovLAogCQkJCUExNEZDNTg1MUI4OTczOTEwMEQxMDdF
QiAvKiBXS1dlYlZpZXdDb25maWd1cmF0aW9uRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0M0MTdGMzMxRDE5RTE0ODAwQjhFRjUzIC8qIFdLV2ViVmlld0RlZmF1bHROYXZpZ2F0aW9uRGVs
ZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRjNCOTRBNzFBNzcyNjc0MDBERTMyNzIgLyog
V0tXZWJWaWV3RXZhbHVhdGVKYXZhU2NyaXB0Lm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9LZXlib2FyZEJvdW5jZVdo
ZW5Gb2N1c2luZy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0tl
eWJvYXJkQm91bmNlV2hlbkZvY3VzaW5nLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwLi5jNjY3NDliNWU2MQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0tleWJvYXJkQm91bmNlV2hlbkZvY3VzaW5nLm1tCkBA
IC0wLDAgKzEsMTU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBX
S19BUElfRU5BQkxFRCAmJiBQTEFURk9STShJT1MpCisKKyNpbXBvcnQgIkhJREV2ZW50R2VuZXJh
dG9yLmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdC5oIgor
I2ltcG9ydCAiVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmll
dy5oIgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0lucHV0
RGVsZWdhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CisjaW1wb3J0
IDx3dGYvUmV0YWluUHRyLmg+CisKK0BpbnRlcmZhY2UgS2V5Ym9hcmRPYnNlcnZlciA6IE5TT2Jq
ZWN0IDxfV0tJbnB1dERlbGVnYXRlPgorCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBn
ZXR0ZXI9aXNTaG93aW5nS2V5Ym9hcmQpIEJPT0wgc2hvd2luZ0tleWJvYXJkOworCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgdm9pZCAoXmRpZFNob3dLZXlib2FyZENhbGxiYWNrKSh2b2lk
KTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkIChed2lsbEhpZGVLZXlib2FyZENh
bGxiYWNrKSh2b2lkKTsKKworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIHZvaWQgKF5kaWRT
dGFydElucHV0U2Vzc2lvbkNhbGxiYWNrKSh2b2lkKTsKKworQGVuZAorCitAaW1wbGVtZW50YXRp
b24gS2V5Ym9hcmRPYnNlcnZlcgorCistIChpbnN0YW5jZXR5cGUpaW5pdAoreworICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07CisgICAgaWYgKCFzZWxmKQorICAgICAgICByZXR1cm4gbmlsOworICAg
IAorICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3RvcihrZXlib2FyZERpZFNob3c6KSBuYW1lOlVJS2V5Ym9hcmREaWRTaG93Tm90aWZp
Y2F0aW9uIG9iamVjdDpuaWxdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3Ioa2V5Ym9hcmRXaWxsSGlkZTopIG5hbWU6VUlLZXlib2FyZFdpbGxIaWRlTm90
aWZpY2F0aW9uIG9iamVjdDpuaWxdOworICAgIAorICAgIHJldHVybiBzZWxmOworfQorCistICh2
b2lkKWtleWJvYXJkRGlkU2hvdzooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KK3sKKyAg
ICBpZiAoc2VsZi5pc1Nob3dpbmdLZXlib2FyZCkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAg
IHNlbGYuc2hvd2luZ0tleWJvYXJkID0gWUVTOworICAgIGlmIChzZWxmLmRpZFNob3dLZXlib2Fy
ZENhbGxiYWNrKQorICAgICAgICBzZWxmLmRpZFNob3dLZXlib2FyZENhbGxiYWNrKCk7Cit9CisK
Ky0gKHZvaWQpa2V5Ym9hcmRXaWxsSGlkZTooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24K
K3sKKyAgICBpZiAoIXNlbGYuaXNTaG93aW5nS2V5Ym9hcmQpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBzZWxmLnNob3dpbmdLZXlib2FyZCA9IE5POworICAgIGlmIChzZWxmLndpbGxIaWRl
S2V5Ym9hcmRDYWxsYmFjaykKKyAgICAgICAgc2VsZi53aWxsSGlkZUtleWJvYXJkQ2FsbGJhY2so
KTsKK30KKworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRTdGFydElu
cHV0U2Vzc2lvbjooaWQgPF9XS0Zvcm1JbnB1dFNlc3Npb24+KWlucHV0U2Vzc2lvbgoreworICAg
IGlmIChzZWxmLmRpZFN0YXJ0SW5wdXRTZXNzaW9uQ2FsbGJhY2spCisgICAgICAgIHNlbGYuZGlk
U3RhcnRJbnB1dFNlc3Npb25DYWxsYmFjaygpOworfQorCitAZW5kCisKK3N0YXRpYyB2b2lkIHJ1
bnNwZWNpYWwoYm9vbCogZG9uZSkKK3sKKyAgICB3aGlsZSAoISpkb25lKQorICAgICAgICBbW05T
UnVuTG9vcCBjdXJyZW50UnVuTG9vcF0gcnVuTW9kZTpOU1J1bkxvb3BDb21tb25Nb2RlcyBiZWZv
cmVEYXRlOltOU0RhdGUgZGlzdGFudFBhc3RdXTsKK30KKworVEVTVChXZWJLaXQyLCBLZXlib2Fy
ZEJvdW5jZVdoZW5Gb2N1c2luZykKK3sKKyAgICBXVEZMb2dBbHdheXMoIlVJQVBQICVAIiwgW1VJ
QXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dKTsKKyAgICBSZXRhaW5QdHI8VGVzdFdLV2Vi
Vmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMTAwLCA4MDAsIDUwMCldKTsKKyAgICAKKyAgICBSZXRhaW5QdHI8
VUlUZXh0RmllbGQ+IHRleHRGaWVsZCA9IGFkb3B0TlMoW1tVSVRleHRGaWVsZCBhbGxvY10gaW5p
dFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgMTAwKV0pOworICAgIAorICAgIFtbd2Vi
VmlldyB3aW5kb3ddIGFkZFN1YnZpZXc6dGV4dEZpZWxkLmdldCgpXTsKKyAgICBbW3dlYlZpZXcg
d2luZG93XSBtYWtlS2V5QW5kVmlzaWJsZV07CisgICAgCisgICAgUmV0YWluUHRyPEtleWJvYXJk
T2JzZXJ2ZXI+IG9ic2VydmVyID0gYWRvcHROUyhbW0tleWJvYXJkT2JzZXJ2ZXIgYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlldyBfc2V0SW5wdXREZWxlZ2F0ZTpvYnNlcnZlci5nZXQoKV07Cisg
ICAgCisgICAgW3RleHRGaWVsZCBiZWNvbWVGaXJzdFJlc3BvbmRlcl07CisgICAgCisgICAgV1RG
TG9nQWx3YXlzKCJCRUZPUkUgRk9DVVNJTkcgVEVYVCBGSUVMRCIpOworICAgIAorICAgIF9fYmxv
Y2sgQk9PTCBkaWRTaG93S2V5Ym9hcmQgPSBOTzsKKyAgICBbb2JzZXJ2ZXIgc2V0RGlkU2hvd0tl
eWJvYXJkQ2FsbGJhY2s6XnsKKyAgICAgICAgZGlkU2hvd0tleWJvYXJkID0gWUVTOworICAgIH1d
OworICAgIFtvYnNlcnZlciBzZXRXaWxsSGlkZUtleWJvYXJkQ2FsbGJhY2s6XnsKKyAgICAgICAg
RkFJTCgpOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkU2hvd0tl
eWJvYXJkKTsKKyAgICAKKyAgICBXVEZMb2dBbHdheXMoIkRJRCBTSE9XIEtFWUJPQVJEIik7Cisg
ICAgCisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCJ0ZXN0IiBiYXNlVVJMOm5pbF07Cisg
ICAgW3dlYlZpZXcgX3NldEVkaXRhYmxlOllFU107CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOworICAgIAorICAgIFdURkxvZ0Fsd2F5cygiTkFWSUdBVEVE
Iik7CisgICAgCisgICAgX19ibG9jayBCT09MIGRpZFRhcCA9IE5POworICAgIFtbSElERXZlbnRH
ZW5lcmF0b3Igc2hhcmVkSElERXZlbnRHZW5lcmF0b3JdIHRhcDpDR1BvaW50TWFrZSgxMCwgMjAw
KSBjb21wbGV0aW9uQmxvY2s6XnsKKyAgICAgICAgZGlkVGFwID0gWUVTOworICAgIH1dOworICAg
IHJ1bnNwZWNpYWwoJmRpZFRhcCk7CisgICAgCisgICAgV1RGTG9nQWx3YXlzKCJUQVBQRUQiKTsK
KyAgICAKKyAgICBfX2Jsb2NrIEJPT0wgZGlkU3RhcnRJbnB1dFNlc3Npb24gPSBOTzsKKyAgICBb
b2JzZXJ2ZXIgc2V0RGlkU3RhcnRJbnB1dFNlc3Npb25DYWxsYmFjazpeeworICAgICAgICBkaWRT
dGFydElucHV0U2Vzc2lvbiA9IFlFUzsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRpZFN0YXJ0SW5wdXRTZXNzaW9uKTsKKyAgICAKKyAgICBXVEZMb2dBbHdheXMoIkRJ
RFNUQVJUSU5QVVRTRVNTSU9OIik7CisgICAgCisgICAgX19ibG9jayBCT09MIGRpZFJ1blNjcmlw
dCA9IE5POworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIjIrMiIgY29tcGxldGlv
bkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIGRpZFJ1blNj
cmlwdCA9IFlFUzsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFJ1
blNjcmlwdCk7CisgICAgCisgICAgV1RGTG9nQWx3YXlzKCJESURSVU5TQ1JJUFQiKTsKK30KKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5u
ZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2Vi
S2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgwNDY5M2QxZTA2
Li4zMmU5OTlkNGJhOCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRU
ZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ3
LDcgKzQ3LDYgQEAKIAkJMEY4N0I2MTcxQkFDQzRDMDAwNEVDNTcyIC8qIFRlc3RSdW5uZXJXS1dl
YlZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
Rjg3QjYxNTFCQUNDNEI5MDA0RUM1NzIgLyogVGVzdFJ1bm5lcldLV2ViVmlldy5tbSAqLzsgfTsK
IAkJMEZFQjkwQTAxOTA1QTgzNDAwMEZEQkYzIC8qIEluamVjdGVkQnVuZGxlUGFnZUNvY29hLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQjkwOUUx
OTA1QTc3NjAwMEZEQkYzIC8qIEluamVjdGVkQnVuZGxlUGFnZUNvY29hLm1tICovOyB9OwogCQkw
RkVCOTBBNTE5MDVDMDE2MDAwRkRCRjMgLyogQ3Jhc2hSZXBvcnRlckluZm8ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVCOTBBMzE5MDVCQzZBMDAw
RkRCRjMgLyogQ3Jhc2hSZXBvcnRlckluZm8ubW0gKi87IH07Ci0JCTBGRUJGODVBMUJCNjFERjIw
MDI4NzIyRCAvKiBISURFdmVudEdlbmVyYXRvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUJGODU5MUJCNjFERjIwMDI4NzIyRCAvKiBISURFdmVu
dEdlbmVyYXRvci5tbSAqLzsgfTsKIAkJMUNBMjExQzkxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRX
aXRoRmVhdHVyZXMub3RmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQ0EyMTFDNzFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhGZWF0dXJlcy5vdGYg
Ki87IH07CiAJCTFDQTIxMUNBMUJDQTEwNzMwMEIyMTAxRiAvKiBGb250V2l0aEZlYXR1cmVzLnR0
ZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBMjEx
QzgxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVyZXMudHRmICovOyB9OwogCQkyOTIx
MEVBRTE0NENBQ0I3MDA4MzVCQjUgLyogQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTIxMEVBOTE0NENBQ0Iy
MDA4MzVCQjUgLyogQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAgKi87IH07CkBAIC02Miw2ICs2
MSwxMCBAQAogCQkyOUE4RkNERDE0NUYwMzM3MDA5MDQ1QTYgLyogSlNBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlclJhbmdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI5QThGQ0UxMzQ1RTcwMjEwMDZBQTVBNiAvKiBKU0FjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyUmFuZ2UuY3BwICovOyB9OwogCQkyOUE4RkNFMjE0NUYwMzdCMDA5MDQ1QTYgLyogQWNjZXNz
aWJpbGl0eVRleHRNYXJrZXJSYW5nZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOUE4RkNFMTE0NUYwMzdCMDA5MDQ1QTYgLyogQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXJSYW5nZS5jcHAgKi87IH07CiAJCTI5QThGQ0U1MTQ1RjA0NjQwMDkwNDVBNiAv
KiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBOEZDRTQxNDVGMDQ2NDAwOTA0NUE2IC8qIEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2VNYWMubW0gKi87IH07CisJCTJENTNBNzAyMUU2MEU0
MjEwMERFNTQ4MCAvKiBISURFdmVudEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ1M0E2RkUxRTYwRTQyMTAwREU1NDgwIC8qIEhJREV2
ZW50R2VuZXJhdG9yLmggKi87IH07CisJCTJENTNBNzAzMUU2MEU0MjEwMERFNTQ4MCAvKiBISURF
dmVudEdlbmVyYXRvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJENTNBNkZGMUU2MEU0MjEwMERFNTQ4MCAvKiBISURFdmVudEdlbmVyYXRvci5tbSAq
LzsgfTsKKwkJMkQ1M0E3MDQxRTYwRTQyMTAwREU1NDgwIC8qIElPS2l0U1BJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDUzQTcwMDFFNjBFNDIxMDBE
RTU0ODAgLyogSU9LaXRTUEkuaCAqLzsgfTsKKwkJMkQ1M0E3MDUxRTYwRTQyMTAwREU1NDgwIC8q
IFVJS2l0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDUzQTcwMTFFNjBFNDIxMDBERTU0ODAgLyogVUlLaXRTUEkuaCAqLzsgfTsKIAkJMkUzNEM5
MDAxOEI2ODgwODAwMDA2N0JCIC8qIFdlYktpdFRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5idW5k
bGUgaW4gQ29weSBQbHVnLUlucyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
QzI1MTg2MjExRDE1RDU0MDAyRUJDMDEgLyogV2ViS2l0VGVzdFJ1bm5lckluamVjdGVkQnVuZGxl
LmJ1bmRsZSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChDb2RlU2lnbk9uQ29weSwgUmVt
b3ZlSGVhZGVyc09uQ29weSwgKTsgfTsgfTsKIAkJMkU2M0VEOEExODkxQUQ3RTAwMkE3QUZDIC8q
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVySU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkU2M0VENzUxODkxQUNFOTAwMkE3QUZDIC8qIEFjY2Vzc2li
aWxpdHlDb250cm9sbGVySU9TLm1tICovOyB9OwogCQkyRTYzRUQ4QjE4OTFBRDdFMDAyQTdBRkMg
LyogQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTYzRUQ3NzE4OTFBQ0U5MDAyQTdBRkMgLyogQWNjZXNz
aWJpbGl0eVRleHRNYXJrZXJJT1MubW0gKi87IH07CkBAIC0yMDUsMTAgKzIwOCw2IEBACiAJCTBG
RUI5MDlFMTkwNUE3NzYwMDBGREJGMyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VDb2NvYS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUNv
Y29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkVCOTBBMjE5MDVCQzZBMDAw
RkRCRjMgLyogQ3Jhc2hSZXBvcnRlckluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gQ3Jhc2hSZXBvcnRlckluZm8uaDsgcGF0aCA9IGNvY29hL0NyYXNoUmVwb3J0ZXJJbmZv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUI5MEEzMTkwNUJDNkEwMDBGREJG
MyAvKiBDcmFzaFJlcG9ydGVySW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IENyYXNoUmVwb3J0ZXJJbmZvLm1tOyBwYXRoID0gY29jb2EvQ3Jhc2hSZXBvcnRl
ckluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGRUJGODU4MUJCNjFERjIw
MDI4NzIyRCAvKiBISURFdmVudEdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBISURFdmVudEdlbmVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkwRkVCRjg1OTFCQjYxREYyMDAyODcyMkQgLyogSElERXZlbnRHZW5lcmF0b3IubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBISURFdmVudEdlbmVyYXRvci5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEZFQkY4NUIxQkI2MkEzNzAwMjg3MjJEIC8q
IElPS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTBGRUJGODVDMUJCNjJENDYwMDI4NzIyRCAvKiBVSUtpdFNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBVSUtpdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTMz
MjYwNTFCNzUzOTY1MDBGODlGNjIgLyogVGVzdE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVz
dE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMjExQzcxQkNBMTA3
MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVyZXMub3RmICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IEZvbnRXaXRoRmVhdHVyZXMu
b3RmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0EyMTFDODFCQ0ExMDczMDBCMjEw
MUYgLyogRm9udFdpdGhGZWF0dXJlcy50dGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gRm9udFdpdGhGZWF0dXJlcy50dGY7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzcsNiArMjM2LDEwIEBACiAJCTI5QThGQ0Ux
MzQ1RTcwMjEwMDZBQTVBNiAvKiBKU0FjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlclJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBOEZDRTEzNDVF
NzAyMTAwNkFBNUE3IC8qIEpTQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBOEZDRTQxNDVGMDQ2NDAwOTA0NUE2
IC8qIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2VNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDUzQTZGRTFFNjBFNDIxMDBERTU0ODAg
LyogSElERXZlbnRHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SElERXZlbnRHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ1M0E2
RkYxRTYwRTQyMTAwREU1NDgwIC8qIEhJREV2ZW50R2VuZXJhdG9yLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSElERXZlbnRHZW5lcmF0b3IubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENTNBNzAwMUU2MEU0MjEwMERFNTQ4MCAvKiBJT0tpdFNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tpdFNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyRDUzQTcwMTFFNjBFNDIxMDBERTU0ODAgLyogVUlLaXRT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlLaXRTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRDRTJDRDExQjg0NTI0NTAwQzdGODMyIC8qIFRlc3RD
b250cm9sbGVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUg
PSBUZXN0Q29udHJvbGxlckNvY29hLm1tOyBwYXRoID0gY29jb2EvVGVzdENvbnRyb2xsZXJDb2Nv
YS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkU2M0VENzUxODkxQUNFOTAwMkE3
QUZDIC8qIEFjY2Vzc2liaWxpdHlDb250cm9sbGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJJT1MubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFNjNFRDc2MTg5MUFDRTkwMDJBN0FGQyAvKiBBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNDUxLDYgKzQ1NCw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCTBGMThFNzFCMUQ2QkM0RTYwMDI3RTU0NyAvKiBCaW5kaW5ncyAq
LywKKwkJCQkyRDUzQTZGRDFFNjBFNDIxMDBERTU0ODAgLyogSElERXZlbnRHZW5lcmF0b3IgKi8s
CiAJCQkJMEY3M0I1NDcxQkE3ODJGRTAwNEIzRUY0IC8qIFVJU2NyaXB0Q29udGV4dCAqLywKIAkJ
CSk7CiAJCQluYW1lID0gVGVzdFJ1bm5lclNoYXJlZDsKQEAgLTU0Nyw2ICs1NTEsMTggQEAKIAkJ
CW5hbWUgPSBBY2Nlc3NpYmlsaXR5OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsK
KwkJMkQ1M0E2RkQxRTYwRTQyMTAwREU1NDgwIC8qIEhJREV2ZW50R2VuZXJhdG9yICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkyRDUzQTZGRTFFNjBFNDIx
MDBERTU0ODAgLyogSElERXZlbnRHZW5lcmF0b3IuaCAqLywKKwkJCQkyRDUzQTZGRjFFNjBFNDIx
MDBERTU0ODAgLyogSElERXZlbnRHZW5lcmF0b3IubW0gKi8sCisJCQkJMkQ1M0E3MDAxRTYwRTQy
MTAwREU1NDgwIC8qIElPS2l0U1BJLmggKi8sCisJCQkJMkQ1M0E3MDExRTYwRTQyMTAwREU1NDgw
IC8qIFVJS2l0U1BJLmggKi8sCisJCQkpOworCQkJbmFtZSA9IEhJREV2ZW50R2VuZXJhdG9yOwor
CQkJcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvSElERXZlbnRHZW5lcmF0b3I7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkyRTYzRUQ3NDE4OTFBQ0U5MDAyQTdBRkMgLyog
aW9zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTU4Miwx
MiArNTk4LDggQEAKIAkJMkVFNTJEMTIxODkwQTlGQjAwMTBFRDIxIC8qIGlvcyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJMEZFQkY4NTgxQkI2MURGMjAw
Mjg3MjJEIC8qIEhJREV2ZW50R2VuZXJhdG9yLmggKi8sCi0JCQkJMEZFQkY4NTkxQkI2MURGMjAw
Mjg3MjJEIC8qIEhJREV2ZW50R2VuZXJhdG9yLm1tICovLAotCQkJCTBGRUJGODVCMUJCNjJBMzcw
MDI4NzIyRCAvKiBJT0tpdFNQSS5oICovLAogCQkJCTJFRTUyRDEzMTg5MEE5RkIwMDEwRUQyMSAv
KiBQbGF0Zm9ybVdlYlZpZXdJT1MubW0gKi8sCiAJCQkJMkVFNTJEMTQxODkwQTlGQjAwMTBFRDIx
IC8qIFRlc3RDb250cm9sbGVySU9TLm1tICovLAotCQkJCTBGRUJGODVDMUJCNjJENDYwMDI4NzIy
RCAvKiBVSUtpdFNQSS5oICovLAogCQkJCTBGNzNCNTVCMUJBODkwNDIwMDRCM0VGNCAvKiBVSVNj
cmlwdENvbnRyb2xsZXJJT1MubW0gKi8sCiAJCQkpOwogCQkJcGF0aCA9IGlvczsKQEAgLTc2MSw2
ICs3NzMsOSBAQAogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0g
KAogCQkJCTBGNzNCNTUyMUJBNzg5NjgwMDRCM0VGNCAvKiBKU1VJU2NyaXB0Q29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMkQ1M0E3MDIxRTYwRTQyMTAwREU1NDgwIC8qIEhJREV2ZW50
R2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDUzQTcwNTFFNjBFNDIxMDBERTU0ODAg
LyogVUlLaXRTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTJENTNBNzA0MUU2MEU0MjEwMERFNTQ4
MCAvKiBJT0tpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC05MzQsNyArOTQ5LDYgQEAKIAkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCQkyRTc0OUJGMjE4
OTFFQkZBMDA3RkMxNzUgLyogRXZlbnRTZW5kZXJQcm94eUlPUy5tbSBpbiBTb3VyY2VzICovLAot
CQkJCTBGRUJGODVBMUJCNjFERjIwMDI4NzIyRCAvKiBISURFdmVudEdlbmVyYXRvci5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJFNjNFRDk0MTg5MUFEQUQwMDJBN0FGQyAvKiBtYWluSU9TLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkU2M0VEOTExODkxQURBRDAwMkE3QUZDIC8qIFBsYXRmb3JtV2Vi
Vmlld0lPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJFNjNFRDkyMTg5MUFEQUQwMDJBN0FGQyAv
KiBUZXN0Q29udHJvbGxlcklPUy5tbSBpbiBTb3VyY2VzICovLApAQCAtOTc5LDYgKzk5Myw3IEBA
CiAJCQkJMEY3M0I1NUMxQkE4OTA0MjAwNEIzRUY0IC8qIFVJU2NyaXB0Q29udHJvbGxlcklPUy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUExODUxMDQzMUI5QUUxNDUwMDc0NEFFQiAvKiBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTg1MTA0NDFCOUFFMTRB
MDA3NDRBRUIgLyogV29ya1F1ZXVlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDUz
QTcwMzFFNjBFNDIxMDBERTU0ODAgLyogSElERXZlbnRHZW5lcmF0b3IubW0gaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>