<?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>189898</bug_id>
          
          <creation_ts>2018-09-23 15:01:38 -0700</creation_ts>
          <short_desc>Separate Mac and iOS implementation of windowsKeyCodeForCharCode()</short_desc>
          <delta_ts>2018-10-14 22:02:16 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 11</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>190571</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1462572</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-09-23 15:01:38 -0700</bug_when>
    <thetext>Currently Mac and iOS share the same base implementation of windowsKeyCodeForCharCode() that is modified at compile-time depending on whether we are building for Mac and iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462575</commentid>
    <comment_count>1</comment_count>
      <attachid>350591</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-09-23 15:21:04 -0700</bug_when>
    <thetext>Created attachment 350591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462801</commentid>
    <comment_count>2</comment_count>
      <attachid>350662</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-09-24 12:20:25 -0700</bug_when>
    <thetext>Created attachment 350662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462802</commentid>
    <comment_count>3</comment_count>
      <attachid>350662</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-09-24 12:21:27 -0700</bug_when>
    <thetext>Comment on attachment 350662
Patch

Rebased patch following the landing of the patch for bug #189604.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462808</commentid>
    <comment_count>4</comment_count>
      <attachid>350662</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-24 12:29:51 -0700</bug_when>
    <thetext>Comment on attachment 350662
Patch

This is kind of weirdly the opposite direction I would usually go but it seems ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462811</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-09-24 12:31:37 -0700</bug_when>
    <thetext>The motivation of this patch is to clean up the Mac and iOS char code to Windows virtual key code. This is a step towards teaching the keyboard code how to map various special non-visible keys on iOS [1].

[1] &lt;https://developer.apple.com/documentation/uikit/uikeycommand/input_strings_for_special_keys?changes=_2&amp;language=objc&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462860</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-09-24 13:47:47 -0700</bug_when>
    <thetext>Committed r236427: &lt;https://trac.webkit.org/changeset/236427&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462861</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-24 13:48:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/44738357&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463176</commentid>
    <comment_count>8</comment_count>
      <attachid>350662</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-09-25 10:20:55 -0700</bug_when>
    <thetext>Comment on attachment 350662
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        Mac and iOS have significant differences in how they represent function keys. It is not worthwhile
&gt; +        to share windowsKeyCodeForCharCode() between them given these differences. On Mac function keys

The primary reason windowsKeyCodeForCharCode() was shared was to support testing using window.eventSender in iOS DRT of special keys (e.g. F1) as we also shared much of the window.eventSender machinery for Mac and iOS. We have not been running DRT for iOS on build.webkit.org or EWS for at least a year now :( The lack of iOS DRT bots to catch regressions is another reason why it is not worthwhile to continue sharing windowsKeyCodeForCharCode(). We may want to consider removing the iOS DRT code as it is currently bit rotting.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350591</attachid>
            <date>2018-09-23 15:21:04 -0700</date>
            <delta_ts>2018-09-24 12:20:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189898-20180923152103.patch</filename>
            <type>text/plain</type>
            <size>12719</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM2ODFjZjUzYWYzM2Jm
NjQ2MDE4NTAxNGM3ZjEwYzY3NTkzYWY4ZS4uZDhlNGQ3MWU4MzBmOTYwZDNhNzNhODUzY2RkZGMy
ZjZhZWQ0YzljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE4LTA5LTIzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBNYWMgYW5k
IGlPUyBpbXBsZW1lbnRhdGlvbiBvZiB3aW5kb3dzS2V5Q29kZUZvckNoYXJDb2RlKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTg5OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4dHJhY3QgdGhlIE1h
YyBhbmQgaU9TIGltcGxlbWVudGF0aW9ucyBpbnRvIGEgd2luZG93c0tleUNvZGVGb3JDaGFyQ29k
ZSgpIGRlZmluZWQgaW4gZmlsZQorICAgICAgICBLZXlFdmVudE1hYy5tbSBhbmQgZmlsZSBLZXlF
dmVudElPUywgcmVzcGVjdGl2ZWx5LgorCisgICAgICAgIE1hYyBhbmQgaU9TIGhhdmUgc2lnbmlm
aWNhbnQgZGlmZmVyZW5jZXMgaW4gaG93IHRoZXkgcmVwcmVzZW50IGZ1bmN0aW9uIGtleXMuIEl0
IGlzIG5vdCB3b3J0aHdoaWxlCisgICAgICAgIHRvIHNoYXJlIHdpbmRvd3NLZXlDb2RlRm9yQ2hh
ckNvZGUoKSBiZXR3ZWVuIHRoZW0gZ2l2ZW4gdGhlc2UgZGlmZmVyZW5jZXMuIE9uIE1hYyBmdW5j
dGlvbiBrZXlzCisgICAgICAgIGFyZSByZXByZXNlbnRlZCBieSBhIGNoYXIgY29kZSBpbiB0aGUg
cmFuZ2UgMHhGNzAwLTB4RjhGRi4gT24gaU9TIHRoZXNlIGtleXMgbWF5IG5vdCBoYXZlIGEgdW5p
cXVlCisgICAgICAgIGNoYXIgY29kZSAoZS5nLiBGMSA9IDB4MTAgPSBGMTApIGFuZCBtdXN0IGJl
IGlkZW50aWZpZWQgZWl0aGVyIGJ5IHNwZWNpYWwgc3RyaW5nIChlLmcuIFVJS2V5SW5wdXRVcEFy
cm93KQorICAgICAgICBvciBrZXkgY29kZS4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0tl
eUV2ZW50Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjp3aW5kb3dzS2V5Q29kZUZvckNoYXJD
b2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvS2V5RXZlbnRJT1MubW06Cisg
ICAgICAgIChXZWJDb3JlOjp3aW5kb3dzS2V5Q29kZUZvckNoYXJDb2RlKTogQWRkZWQuIFJlbW92
ZSB0aGUgaGFuZGxpbmcgb2YgTlMqRnVuY3Rpb25LZXkgY2hhciBjb2RlcworICAgICAgICBhcyBm
dW5jdGlvbiBrZXlzIGFyZSBub3QgcmVwcmVzZW50ZWQgdXNpbmcgdGhlbSBhcyBvZiBpT1MgMTIu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL0tleUV2ZW50TWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6d2luZG93c0tleUNvZGVGb3JDaGFyQ29kZSk6IEFkZGVkLgorCiAyMDE4LTA5LTIwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBLZXkgY29kZSBp
cyAwIGZvciBtYW55IGhhcmR3YXJlIGtleWJvYXJkIGtleXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL0tleUV2ZW50Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9LZXlFdmVudENvY29hLm1tCmluZGV4IDM1NDExOWM5M2M4YzFiMTY4OThm
NTU3MTlmZDU0NWZmMjQ0YmViNmMuLjllMWNmYWU0ZGE1OWE3NzdmYTI3MGE3MGVmMmVjYTE5NTU4
NTc1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0tleUV2ZW50
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2Nv
YS5tbQpAQCAtNDg0LDExOCArNDg0LDQgQEAgU3RyaW5nIGtleUlkZW50aWZpZXJGb3JDaGFyQ29k
ZSh1bmljaGFyIGNoYXJDb2RlKQogICAgIH0KIH0KIAotaW50IHdpbmRvd3NLZXlDb2RlRm9yQ2hh
ckNvZGUodW5pY2hhciBjaGFyQ29kZSkKLXsKLSAgICBzd2l0Y2ggKGNoYXJDb2RlKSB7Ci0jaWYg
UExBVEZPUk0oSU9TKQotICAgICAgICBjYXNlIDg6IGNhc2UgMHg3RjogcmV0dXJuIFZLX0JBQ0s7
Ci0gICAgICAgIGNhc2UgOTogcmV0dXJuIFZLX1RBQjsKLSAgICAgICAgY2FzZSAweEQ6IGNhc2Ug
MzogcmV0dXJuIFZLX1JFVFVSTjsKLSAgICAgICAgY2FzZSAweDFCOiByZXR1cm4gVktfRVNDQVBF
OwotICAgICAgICBjYXNlICcgJzogcmV0dXJuIFZLX1NQQUNFOwotICAgICAgICBjYXNlIE5TSG9t
ZUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfSE9NRTsKLSAgICAgICAgY2FzZSBOU0VuZEZ1bmN0aW9u
S2V5OiByZXR1cm4gVktfRU5EOwotICAgICAgICBjYXNlIE5TUGFnZVVwRnVuY3Rpb25LZXk6IHJl
dHVybiBWS19QUklPUjsKLSAgICAgICAgY2FzZSBOU1BhZ2VEb3duRnVuY3Rpb25LZXk6IHJldHVy
biBWS19ORVhUOwotICAgICAgICBjYXNlIE5TVXBBcnJvd0Z1bmN0aW9uS2V5OiByZXR1cm4gVktf
VVA7Ci0gICAgICAgIGNhc2UgTlNEb3duQXJyb3dGdW5jdGlvbktleTogcmV0dXJuIFZLX0RPV047
Ci0gICAgICAgIGNhc2UgTlNMZWZ0QXJyb3dGdW5jdGlvbktleTogcmV0dXJuIFZLX0xFRlQ7Ci0g
ICAgICAgIGNhc2UgTlNSaWdodEFycm93RnVuY3Rpb25LZXk6IHJldHVybiBWS19SSUdIVDsKLSAg
ICAgICAgY2FzZSBOU0RlbGV0ZUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfREVMRVRFOwotCi0gICAg
ICAgIGNhc2UgJzAnOiBjYXNlICcpJzogcmV0dXJuIFZLXzA7Ci0gICAgICAgIGNhc2UgJzEnOiBj
YXNlICchJzogcmV0dXJuIFZLXzE7Ci0gICAgICAgIGNhc2UgJzInOiBjYXNlICdAJzogcmV0dXJu
IFZLXzI7Ci0gICAgICAgIGNhc2UgJzMnOiBjYXNlICcjJzogcmV0dXJuIFZLXzM7Ci0gICAgICAg
IGNhc2UgJzQnOiBjYXNlICckJzogcmV0dXJuIFZLXzQ7Ci0gICAgICAgIGNhc2UgJzUnOiBjYXNl
ICclJzogcmV0dXJuIFZLXzU7Ci0gICAgICAgIGNhc2UgJzYnOiBjYXNlICdeJzogcmV0dXJuIFZL
XzY7Ci0gICAgICAgIGNhc2UgJzcnOiBjYXNlICcmJzogcmV0dXJuIFZLXzc7Ci0gICAgICAgIGNh
c2UgJzgnOiBjYXNlICcqJzogcmV0dXJuIFZLXzg7Ci0gICAgICAgIGNhc2UgJzknOiBjYXNlICco
JzogcmV0dXJuIFZLXzk7Ci0jZW5kaWYKLSAgICAgICAgY2FzZSAnYSc6IGNhc2UgJ0EnOiByZXR1
cm4gVktfQTsgCi0gICAgICAgIGNhc2UgJ2InOiBjYXNlICdCJzogcmV0dXJuIFZLX0I7IAotICAg
ICAgICBjYXNlICdjJzogY2FzZSAnQyc6IHJldHVybiBWS19DOyAKLSAgICAgICAgY2FzZSAnZCc6
IGNhc2UgJ0QnOiByZXR1cm4gVktfRDsgCi0gICAgICAgIGNhc2UgJ2UnOiBjYXNlICdFJzogcmV0
dXJuIFZLX0U7IAotICAgICAgICBjYXNlICdmJzogY2FzZSAnRic6IHJldHVybiBWS19GOyAKLSAg
ICAgICAgY2FzZSAnZyc6IGNhc2UgJ0cnOiByZXR1cm4gVktfRzsgCi0gICAgICAgIGNhc2UgJ2gn
OiBjYXNlICdIJzogcmV0dXJuIFZLX0g7IAotICAgICAgICBjYXNlICdpJzogY2FzZSAnSSc6IHJl
dHVybiBWS19JOyAKLSAgICAgICAgY2FzZSAnaic6IGNhc2UgJ0onOiByZXR1cm4gVktfSjsgCi0g
ICAgICAgIGNhc2UgJ2snOiBjYXNlICdLJzogcmV0dXJuIFZLX0s7IAotICAgICAgICBjYXNlICds
JzogY2FzZSAnTCc6IHJldHVybiBWS19MOyAKLSAgICAgICAgY2FzZSAnbSc6IGNhc2UgJ00nOiBy
ZXR1cm4gVktfTTsgCi0gICAgICAgIGNhc2UgJ24nOiBjYXNlICdOJzogcmV0dXJuIFZLX047IAot
ICAgICAgICBjYXNlICdvJzogY2FzZSAnTyc6IHJldHVybiBWS19POyAKLSAgICAgICAgY2FzZSAn
cCc6IGNhc2UgJ1AnOiByZXR1cm4gVktfUDsgCi0gICAgICAgIGNhc2UgJ3EnOiBjYXNlICdRJzog
cmV0dXJuIFZLX1E7IAotICAgICAgICBjYXNlICdyJzogY2FzZSAnUic6IHJldHVybiBWS19SOyAK
LSAgICAgICAgY2FzZSAncyc6IGNhc2UgJ1MnOiByZXR1cm4gVktfUzsgCi0gICAgICAgIGNhc2Ug
J3QnOiBjYXNlICdUJzogcmV0dXJuIFZLX1Q7IAotICAgICAgICBjYXNlICd1JzogY2FzZSAnVSc6
IHJldHVybiBWS19VOyAKLSAgICAgICAgY2FzZSAndic6IGNhc2UgJ1YnOiByZXR1cm4gVktfVjsg
Ci0gICAgICAgIGNhc2UgJ3cnOiBjYXNlICdXJzogcmV0dXJuIFZLX1c7IAotICAgICAgICBjYXNl
ICd4JzogY2FzZSAnWCc6IHJldHVybiBWS19YOyAKLSAgICAgICAgY2FzZSAneSc6IGNhc2UgJ1kn
OiByZXR1cm4gVktfWTsgCi0gICAgICAgIGNhc2UgJ3onOiBjYXNlICdaJzogcmV0dXJuIFZLX1o7
IAotCi0gICAgICAgIC8vIEFwcEtpdCBnZW5lcmF0ZXMgVW5pY29kZSBQVUEgY2hhcmFjdGVyIGNv
ZGVzIGZvciBzb21lIGZ1bmN0aW9uIGtleXM7IHVzaW5nIHRoZXNlIHdoZW4ga2V5IGNvZGUgaXMg
bm90IGtub3duLgotICAgICAgICBjYXNlIE5TUGF1c2VGdW5jdGlvbktleTogcmV0dXJuIFZLX1BB
VVNFOwotICAgICAgICBjYXNlIE5TU2VsZWN0RnVuY3Rpb25LZXk6IHJldHVybiBWS19TRUxFQ1Q7
Ci0gICAgICAgIGNhc2UgTlNQcmludEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfUFJJTlQ7Ci0gICAg
ICAgIGNhc2UgTlNFeGVjdXRlRnVuY3Rpb25LZXk6IHJldHVybiBWS19FWEVDVVRFOwotICAgICAg
ICBjYXNlIE5TUHJpbnRTY3JlZW5GdW5jdGlvbktleTogcmV0dXJuIFZLX1NOQVBTSE9UOwotI2lm
IFBMQVRGT1JNKElPUykKLSAgICAgICAgY2FzZSBOU0luc2VydEZ1bmN0aW9uS2V5OiBjYXNlIE5T
SGVscEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfSU5TRVJUOwotCi0gICAgICAgIGNhc2UgTlNGMUZ1
bmN0aW9uS2V5OiByZXR1cm4gVktfRjE7Ci0gICAgICAgIGNhc2UgTlNGMkZ1bmN0aW9uS2V5OiBy
ZXR1cm4gVktfRjI7Ci0gICAgICAgIGNhc2UgTlNGM0Z1bmN0aW9uS2V5OiByZXR1cm4gVktfRjM7
Ci0gICAgICAgIGNhc2UgTlNGNEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjQ7Ci0gICAgICAgIGNh
c2UgTlNGNUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjU7Ci0gICAgICAgIGNhc2UgTlNGNkZ1bmN0
aW9uS2V5OiByZXR1cm4gVktfRjY7Ci0gICAgICAgIGNhc2UgTlNGN0Z1bmN0aW9uS2V5OiByZXR1
cm4gVktfRjc7Ci0gICAgICAgIGNhc2UgTlNGOEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjg7Ci0g
ICAgICAgIGNhc2UgTlNGOUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjk7Ci0gICAgICAgIGNhc2Ug
TlNGMTBGdW5jdGlvbktleTogcmV0dXJuIFZLX0YxMDsKLSAgICAgICAgY2FzZSBOU0YxMUZ1bmN0
aW9uS2V5OiByZXR1cm4gVktfRjExOwotICAgICAgICBjYXNlIE5TRjEyRnVuY3Rpb25LZXk6IHJl
dHVybiBWS19GMTI7Ci0gICAgICAgIGNhc2UgTlNGMTNGdW5jdGlvbktleTogcmV0dXJuIFZLX0Yx
MzsKLSAgICAgICAgY2FzZSBOU0YxNEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjE0OwotICAgICAg
ICBjYXNlIE5TRjE1RnVuY3Rpb25LZXk6IHJldHVybiBWS19GMTU7Ci0gICAgICAgIGNhc2UgTlNG
MTZGdW5jdGlvbktleTogcmV0dXJuIFZLX0YxNjsKLSAgICAgICAgY2FzZSBOU0YxN0Z1bmN0aW9u
S2V5OiByZXR1cm4gVktfRjE3OwotICAgICAgICBjYXNlIE5TRjE4RnVuY3Rpb25LZXk6IHJldHVy
biBWS19GMTg7Ci0gICAgICAgIGNhc2UgTlNGMTlGdW5jdGlvbktleTogcmV0dXJuIFZLX0YxOTsK
LSAgICAgICAgY2FzZSBOU0YyMEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjIwOwotI2Vsc2UKLSAg
ICAgICAgY2FzZSBOU0luc2VydEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfSU5TRVJUOwotI2VuZGlm
Ci0gICAgICAgIGNhc2UgTlNGMjFGdW5jdGlvbktleTogcmV0dXJuIFZLX0YyMTsKLSAgICAgICAg
Y2FzZSBOU0YyMkZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjIyOwotICAgICAgICBjYXNlIE5TRjIz
RnVuY3Rpb25LZXk6IHJldHVybiBWS19GMjM7Ci0gICAgICAgIGNhc2UgTlNGMjRGdW5jdGlvbktl
eTogcmV0dXJuIFZLX0YyNDsKLSAgICAgICAgY2FzZSBOU1Njcm9sbExvY2tGdW5jdGlvbktleTog
cmV0dXJuIFZLX1NDUk9MTDsKLQotICAgICAgICAvLyBUaGlzIGlzIGZvciBVLlMuIGtleWJvYXJk
IG1hcHBpbmcsIGFuZCBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1ha2Ugc2Vuc2UgZm9yIGRpZmZlcmVu
dCBrZXlib2FyZCBsYXlvdXRzLgotICAgICAgICAvLyBGb3IgZXhhbXBsZSwgJyInIG9uIFdpbmRv
d3MgUnVzc2lhbiBsYXlvdXQgaXMgVktfMiwgbm90IFZLX09FTV83LgotICAgICAgICBjYXNlICc7
JzogY2FzZSAnOic6IHJldHVybiBWS19PRU1fMTsgCi0gICAgICAgIGNhc2UgJz0nOiBjYXNlICcr
JzogcmV0dXJuIFZLX09FTV9QTFVTOyAKLSAgICAgICAgY2FzZSAnLCc6IGNhc2UgJzwnOiByZXR1
cm4gVktfT0VNX0NPTU1BOyAKLSAgICAgICAgY2FzZSAnLSc6IGNhc2UgJ18nOiByZXR1cm4gVktf
T0VNX01JTlVTOyAKLSAgICAgICAgY2FzZSAnLic6IGNhc2UgJz4nOiByZXR1cm4gVktfT0VNX1BF
UklPRDsgCi0gICAgICAgIGNhc2UgJy8nOiBjYXNlICc/JzogcmV0dXJuIFZLX09FTV8yOyAKLSAg
ICAgICAgY2FzZSAnYCc6IGNhc2UgJ34nOiByZXR1cm4gVktfT0VNXzM7IAotICAgICAgICBjYXNl
ICdbJzogY2FzZSAneyc6IHJldHVybiBWS19PRU1fNDsgCi0gICAgICAgIGNhc2UgJ1xcJzogY2Fz
ZSAnfCc6IHJldHVybiBWS19PRU1fNTsgCi0gICAgICAgIGNhc2UgJ10nOiBjYXNlICd9JzogcmV0
dXJuIFZLX09FTV82OyAKLSAgICAgICAgY2FzZSAnXCcnOiBjYXNlICciJzogcmV0dXJuIFZLX09F
TV83OyAKLQotICAgIH0KLQotICAgIHJldHVybiAwOwotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvS2V5RXZlbnRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvS2V5RXZlbnRJT1MubW0KaW5kZXggMmFlZDhjOTYxN2VkMTQ1Yjc4YjM0ZDhi
Mjc5MWI3YTBlZjRhYTVmNC4uYWM3NzRmOGVkNzkzYjhiZTQzNzNkMzhmZjM4MzRhODgwM2Y4NWM1
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0tleUV2ZW50SU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9LZXlFdmVudElPUy5tbQpAQCAtMTk3
LDYgKzE5Nyw2OSBAQCBpbnQgd2luZG93c0tleUNvZGVGb3JLZXlDb2RlKHVpbnQxNl90IGtleUNv
ZGUpCiAgICAgfQogfQogCitpbnQgd2luZG93c0tleUNvZGVGb3JDaGFyQ29kZSh1bmljaGFyIGNo
YXJDb2RlKQoreworICAgIHN3aXRjaCAoY2hhckNvZGUpIHsKKyAgICBjYXNlIDg6IGNhc2UgMHg3
RjogcmV0dXJuIFZLX0JBQ0s7CisgICAgY2FzZSA5OiByZXR1cm4gVktfVEFCOworICAgIGNhc2Ug
MHhEOiBjYXNlIDM6IHJldHVybiBWS19SRVRVUk47CisgICAgY2FzZSAweDFCOiByZXR1cm4gVktf
RVNDQVBFOworICAgIGNhc2UgJyAnOiByZXR1cm4gVktfU1BBQ0U7CisKKyAgICBjYXNlICcwJzog
Y2FzZSAnKSc6IHJldHVybiBWS18wOworICAgIGNhc2UgJzEnOiBjYXNlICchJzogcmV0dXJuIFZL
XzE7CisgICAgY2FzZSAnMic6IGNhc2UgJ0AnOiByZXR1cm4gVktfMjsKKyAgICBjYXNlICczJzog
Y2FzZSAnIyc6IHJldHVybiBWS18zOworICAgIGNhc2UgJzQnOiBjYXNlICckJzogcmV0dXJuIFZL
XzQ7CisgICAgY2FzZSAnNSc6IGNhc2UgJyUnOiByZXR1cm4gVktfNTsKKyAgICBjYXNlICc2Jzog
Y2FzZSAnXic6IHJldHVybiBWS182OworICAgIGNhc2UgJzcnOiBjYXNlICcmJzogcmV0dXJuIFZL
Xzc7CisgICAgY2FzZSAnOCc6IGNhc2UgJyonOiByZXR1cm4gVktfODsKKyAgICBjYXNlICc5Jzog
Y2FzZSAnKCc6IHJldHVybiBWS185OworICAgIGNhc2UgJ2EnOiBjYXNlICdBJzogcmV0dXJuIFZL
X0E7CisgICAgY2FzZSAnYic6IGNhc2UgJ0InOiByZXR1cm4gVktfQjsKKyAgICBjYXNlICdjJzog
Y2FzZSAnQyc6IHJldHVybiBWS19DOworICAgIGNhc2UgJ2QnOiBjYXNlICdEJzogcmV0dXJuIFZL
X0Q7CisgICAgY2FzZSAnZSc6IGNhc2UgJ0UnOiByZXR1cm4gVktfRTsKKyAgICBjYXNlICdmJzog
Y2FzZSAnRic6IHJldHVybiBWS19GOworICAgIGNhc2UgJ2cnOiBjYXNlICdHJzogcmV0dXJuIFZL
X0c7CisgICAgY2FzZSAnaCc6IGNhc2UgJ0gnOiByZXR1cm4gVktfSDsKKyAgICBjYXNlICdpJzog
Y2FzZSAnSSc6IHJldHVybiBWS19JOworICAgIGNhc2UgJ2onOiBjYXNlICdKJzogcmV0dXJuIFZL
X0o7CisgICAgY2FzZSAnayc6IGNhc2UgJ0snOiByZXR1cm4gVktfSzsKKyAgICBjYXNlICdsJzog
Y2FzZSAnTCc6IHJldHVybiBWS19MOworICAgIGNhc2UgJ20nOiBjYXNlICdNJzogcmV0dXJuIFZL
X007CisgICAgY2FzZSAnbic6IGNhc2UgJ04nOiByZXR1cm4gVktfTjsKKyAgICBjYXNlICdvJzog
Y2FzZSAnTyc6IHJldHVybiBWS19POworICAgIGNhc2UgJ3AnOiBjYXNlICdQJzogcmV0dXJuIFZL
X1A7CisgICAgY2FzZSAncSc6IGNhc2UgJ1EnOiByZXR1cm4gVktfUTsKKyAgICBjYXNlICdyJzog
Y2FzZSAnUic6IHJldHVybiBWS19SOworICAgIGNhc2UgJ3MnOiBjYXNlICdTJzogcmV0dXJuIFZL
X1M7CisgICAgY2FzZSAndCc6IGNhc2UgJ1QnOiByZXR1cm4gVktfVDsKKyAgICBjYXNlICd1Jzog
Y2FzZSAnVSc6IHJldHVybiBWS19VOworICAgIGNhc2UgJ3YnOiBjYXNlICdWJzogcmV0dXJuIFZL
X1Y7CisgICAgY2FzZSAndyc6IGNhc2UgJ1cnOiByZXR1cm4gVktfVzsKKyAgICBjYXNlICd4Jzog
Y2FzZSAnWCc6IHJldHVybiBWS19YOworICAgIGNhc2UgJ3knOiBjYXNlICdZJzogcmV0dXJuIFZL
X1k7CisgICAgY2FzZSAneic6IGNhc2UgJ1onOiByZXR1cm4gVktfWjsKKworICAgIC8vIFRoaXMg
aXMgZm9yIFUuUy4ga2V5Ym9hcmQgbWFwcGluZywgYW5kIGRvZXNuJ3QgbmVjZXNzYXJpbHkgbWFr
ZSBzZW5zZSBmb3IgZGlmZmVyZW50IGtleWJvYXJkIGxheW91dHMuCisgICAgLy8gRm9yIGV4YW1w
bGUsICciJyBvbiBXaW5kb3dzIFJ1c3NpYW4gbGF5b3V0IGlzIFZLXzIsIG5vdCBWS19PRU1fNy4K
KyAgICBjYXNlICc7JzogY2FzZSAnOic6IHJldHVybiBWS19PRU1fMTsKKyAgICBjYXNlICc9Jzog
Y2FzZSAnKyc6IHJldHVybiBWS19PRU1fUExVUzsKKyAgICBjYXNlICcsJzogY2FzZSAnPCc6IHJl
dHVybiBWS19PRU1fQ09NTUE7CisgICAgY2FzZSAnLSc6IGNhc2UgJ18nOiByZXR1cm4gVktfT0VN
X01JTlVTOworICAgIGNhc2UgJy4nOiBjYXNlICc+JzogcmV0dXJuIFZLX09FTV9QRVJJT0Q7Cisg
ICAgY2FzZSAnLyc6IGNhc2UgJz8nOiByZXR1cm4gVktfT0VNXzI7CisgICAgY2FzZSAnYCc6IGNh
c2UgJ34nOiByZXR1cm4gVktfT0VNXzM7CisgICAgY2FzZSAnWyc6IGNhc2UgJ3snOiByZXR1cm4g
VktfT0VNXzQ7CisgICAgY2FzZSAnXFwnOiBjYXNlICd8JzogcmV0dXJuIFZLX09FTV81OworICAg
IGNhc2UgJ10nOiBjYXNlICd9JzogcmV0dXJuIFZLX09FTV82OworICAgIGNhc2UgJ1wnJzogY2Fz
ZSAnIic6IHJldHVybiBWS19PRU1fNzsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQg
UGxhdGZvcm1LZXlib2FyZEV2ZW50OjpkaXNhbWJpZ3VhdGVLZXlEb3duRXZlbnQoVHlwZSB0eXBl
LCBib29sIGJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUpCiB7CiAgICAgLy8gQ2FuIG9ubHkgY2hh
bmdlIHR5cGUgZnJvbSBLZXlEb3duIHRvIFJhd0tleURvd24gb3IgQ2hhciwgYXMgd2UgbGFjayBp
bmZvcm1hdGlvbiBmb3Igb3RoZXIgY29udmVyc2lvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvS2V5RXZlbnRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvS2V5RXZlbnRNYWMubW0KaW5kZXggYzQyODJmZDM0MzkwNGY4MjA4ZDQ5MGU2ZDVkMzU5
Zjc1ODEyMTJhZC4uNzQwNTg3NDZmZWZjZjJhYzBmZDAxMzI4OWI2ZjM3YjM4YjEzN2RkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0tleUV2ZW50TWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9LZXlFdmVudE1hYy5tbQpAQCAtMTcyLDYgKzE3
Miw2NiBAQCBpbnQgd2luZG93c0tleUNvZGVGb3JLZXlDb2RlKHVpbnQxNl90IGtleUNvZGUpCiAg
ICAgcmV0dXJuIDA7CiB9CiAKK2ludCB3aW5kb3dzS2V5Q29kZUZvckNoYXJDb2RlKHVuaWNoYXIg
Y2hhckNvZGUpCit7CisgICAgc3dpdGNoIChjaGFyQ29kZSkgeworICAgIGNhc2UgJ2EnOiBjYXNl
ICdBJzogcmV0dXJuIFZLX0E7CisgICAgY2FzZSAnYic6IGNhc2UgJ0InOiByZXR1cm4gVktfQjsK
KyAgICBjYXNlICdjJzogY2FzZSAnQyc6IHJldHVybiBWS19DOworICAgIGNhc2UgJ2QnOiBjYXNl
ICdEJzogcmV0dXJuIFZLX0Q7CisgICAgY2FzZSAnZSc6IGNhc2UgJ0UnOiByZXR1cm4gVktfRTsK
KyAgICBjYXNlICdmJzogY2FzZSAnRic6IHJldHVybiBWS19GOworICAgIGNhc2UgJ2cnOiBjYXNl
ICdHJzogcmV0dXJuIFZLX0c7CisgICAgY2FzZSAnaCc6IGNhc2UgJ0gnOiByZXR1cm4gVktfSDsK
KyAgICBjYXNlICdpJzogY2FzZSAnSSc6IHJldHVybiBWS19JOworICAgIGNhc2UgJ2onOiBjYXNl
ICdKJzogcmV0dXJuIFZLX0o7CisgICAgY2FzZSAnayc6IGNhc2UgJ0snOiByZXR1cm4gVktfSzsK
KyAgICBjYXNlICdsJzogY2FzZSAnTCc6IHJldHVybiBWS19MOworICAgIGNhc2UgJ20nOiBjYXNl
ICdNJzogcmV0dXJuIFZLX007CisgICAgY2FzZSAnbic6IGNhc2UgJ04nOiByZXR1cm4gVktfTjsK
KyAgICBjYXNlICdvJzogY2FzZSAnTyc6IHJldHVybiBWS19POworICAgIGNhc2UgJ3AnOiBjYXNl
ICdQJzogcmV0dXJuIFZLX1A7CisgICAgY2FzZSAncSc6IGNhc2UgJ1EnOiByZXR1cm4gVktfUTsK
KyAgICBjYXNlICdyJzogY2FzZSAnUic6IHJldHVybiBWS19SOworICAgIGNhc2UgJ3MnOiBjYXNl
ICdTJzogcmV0dXJuIFZLX1M7CisgICAgY2FzZSAndCc6IGNhc2UgJ1QnOiByZXR1cm4gVktfVDsK
KyAgICBjYXNlICd1JzogY2FzZSAnVSc6IHJldHVybiBWS19VOworICAgIGNhc2UgJ3YnOiBjYXNl
ICdWJzogcmV0dXJuIFZLX1Y7CisgICAgY2FzZSAndyc6IGNhc2UgJ1cnOiByZXR1cm4gVktfVzsK
KyAgICBjYXNlICd4JzogY2FzZSAnWCc6IHJldHVybiBWS19YOworICAgIGNhc2UgJ3knOiBjYXNl
ICdZJzogcmV0dXJuIFZLX1k7CisgICAgY2FzZSAneic6IGNhc2UgJ1onOiByZXR1cm4gVktfWjsK
KworICAgIC8vIEFwcEtpdCBnZW5lcmF0ZXMgVW5pY29kZSBQVUEgY2hhcmFjdGVyIGNvZGVzIGZv
ciBzb21lIGZ1bmN0aW9uIGtleXM7IHVzaW5nIHRoZXNlIHdoZW4ga2V5IGNvZGUgaXMgbm90IGtu
b3duLgorICAgIGNhc2UgTlNQYXVzZUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfUEFVU0U7CisgICAg
Y2FzZSBOU1NlbGVjdEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfU0VMRUNUOworICAgIGNhc2UgTlNQ
cmludEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfUFJJTlQ7CisgICAgY2FzZSBOU0V4ZWN1dGVGdW5j
dGlvbktleTogcmV0dXJuIFZLX0VYRUNVVEU7CisgICAgY2FzZSBOU1ByaW50U2NyZWVuRnVuY3Rp
b25LZXk6IHJldHVybiBWS19TTkFQU0hPVDsKKyAgICBjYXNlIE5TSW5zZXJ0RnVuY3Rpb25LZXk6
IHJldHVybiBWS19JTlNFUlQ7CisgICAgY2FzZSBOU0YyMUZ1bmN0aW9uS2V5OiByZXR1cm4gVktf
RjIxOworICAgIGNhc2UgTlNGMjJGdW5jdGlvbktleTogcmV0dXJuIFZLX0YyMjsKKyAgICBjYXNl
IE5TRjIzRnVuY3Rpb25LZXk6IHJldHVybiBWS19GMjM7CisgICAgY2FzZSBOU0YyNEZ1bmN0aW9u
S2V5OiByZXR1cm4gVktfRjI0OworICAgIGNhc2UgTlNTY3JvbGxMb2NrRnVuY3Rpb25LZXk6IHJl
dHVybiBWS19TQ1JPTEw7CisKKyAgICAvLyBUaGlzIGlzIGZvciBVLlMuIGtleWJvYXJkIG1hcHBp
bmcsIGFuZCBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1ha2Ugc2Vuc2UgZm9yIGRpZmZlcmVudCBrZXli
b2FyZCBsYXlvdXRzLgorICAgIC8vIEZvciBleGFtcGxlLCAnIicgb24gV2luZG93cyBSdXNzaWFu
IGxheW91dCBpcyBWS18yLCBub3QgVktfT0VNXzcuCisgICAgY2FzZSAnOyc6IGNhc2UgJzonOiBy
ZXR1cm4gVktfT0VNXzE7CisgICAgY2FzZSAnPSc6IGNhc2UgJysnOiByZXR1cm4gVktfT0VNX1BM
VVM7CisgICAgY2FzZSAnLCc6IGNhc2UgJzwnOiByZXR1cm4gVktfT0VNX0NPTU1BOworICAgIGNh
c2UgJy0nOiBjYXNlICdfJzogcmV0dXJuIFZLX09FTV9NSU5VUzsKKyAgICBjYXNlICcuJzogY2Fz
ZSAnPic6IHJldHVybiBWS19PRU1fUEVSSU9EOworICAgIGNhc2UgJy8nOiBjYXNlICc/JzogcmV0
dXJuIFZLX09FTV8yOworICAgIGNhc2UgJ2AnOiBjYXNlICd+JzogcmV0dXJuIFZLX09FTV8zOwor
ICAgIGNhc2UgJ1snOiBjYXNlICd7JzogcmV0dXJuIFZLX09FTV80OworICAgIGNhc2UgJ1xcJzog
Y2FzZSAnfCc6IHJldHVybiBWS19PRU1fNTsKKyAgICBjYXNlICddJzogY2FzZSAnfSc6IHJldHVy
biBWS19PRU1fNjsKKyAgICBjYXNlICdcJyc6IGNhc2UgJyInOiByZXR1cm4gVktfT0VNXzc7Cisg
ICAgfQorICAgIHJldHVybiAwOworfQorCiB2b2lkIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6ZGlz
YW1iaWd1YXRlS2V5RG93bkV2ZW50KFR5cGUgdHlwZSwgYm9vbCBiYWNrd2FyZENvbXBhdGliaWxp
dHlNb2RlKQogewogICAgIC8vIENhbiBvbmx5IGNoYW5nZSB0eXBlIGZyb20gS2V5RG93biB0byBS
YXdLZXlEb3duIG9yIENoYXIsIGFzIHdlIGxhY2sgaW5mb3JtYXRpb24gZm9yIG90aGVyIGNvbnZl
cnNpb25zLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350662</attachid>
            <date>2018-09-24 12:20:25 -0700</date>
            <delta_ts>2018-09-24 12:29:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189898-20180924122024.patch</filename>
            <type>text/plain</type>
            <size>12742</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzYyNGRmMjRiYjYyNDMw
YjE0ZTQ3NjNlNDdhOGZmZTE3ZDUyNGI4Ny4uNzUxYTBlMzcxMjI4ZDAwYTkyNThiNTMzNjZjM2Q2
NGQwYzU2NGJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE4LTA5LTI0ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBNYWMgYW5k
IGlPUyBpbXBsZW1lbnRhdGlvbiBvZiB3aW5kb3dzS2V5Q29kZUZvckNoYXJDb2RlKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTg5OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4dHJhY3QgdGhlIE1h
YyBhbmQgaU9TIGltcGxlbWVudGF0aW9ucyBpbnRvIGEgd2luZG93c0tleUNvZGVGb3JDaGFyQ29k
ZSgpIGRlZmluZWQgaW4gZmlsZQorICAgICAgICBLZXlFdmVudE1hYy5tbSBhbmQgZmlsZSBLZXlF
dmVudElPUywgcmVzcGVjdGl2ZWx5LgorCisgICAgICAgIE1hYyBhbmQgaU9TIGhhdmUgc2lnbmlm
aWNhbnQgZGlmZmVyZW5jZXMgaW4gaG93IHRoZXkgcmVwcmVzZW50IGZ1bmN0aW9uIGtleXMuIEl0
IGlzIG5vdCB3b3J0aHdoaWxlCisgICAgICAgIHRvIHNoYXJlIHdpbmRvd3NLZXlDb2RlRm9yQ2hh
ckNvZGUoKSBiZXR3ZWVuIHRoZW0gZ2l2ZW4gdGhlc2UgZGlmZmVyZW5jZXMuIE9uIE1hYyBmdW5j
dGlvbiBrZXlzCisgICAgICAgIGFyZSByZXByZXNlbnRlZCBieSBhIGNoYXIgY29kZSBpbiB0aGUg
cmFuZ2UgMHhGNzAwLTB4RjhGRi4gT24gaU9TIHRoZXNlIGtleXMgbWF5IG5vdCBoYXZlIGEgdW5p
cXVlCisgICAgICAgIGNoYXIgY29kZSAoZS5nLiBGMSA9IDB4MTAgPSBGMTApIGFuZCBtdXN0IGJl
IGlkZW50aWZpZWQgZWl0aGVyIGJ5IHNwZWNpYWwgc3RyaW5nIChlLmcuIFVJS2V5SW5wdXRVcEFy
cm93KQorICAgICAgICBvciBrZXkgY29kZS4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0tl
eUV2ZW50Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjp3aW5kb3dzS2V5Q29kZUZvckNoYXJD
b2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvS2V5RXZlbnRJT1MubW06Cisg
ICAgICAgIChXZWJDb3JlOjp3aW5kb3dzS2V5Q29kZUZvckNoYXJDb2RlKTogQWRkZWQuIFJlbW92
ZSB0aGUgaGFuZGxpbmcgb2YgTlMqRnVuY3Rpb25LZXkgY2hhciBjb2RlcworICAgICAgICBhcyBm
dW5jdGlvbiBrZXlzIGFyZSBub3QgcmVwcmVzZW50ZWQgdXNpbmcgdGhlbSBhcyBvZiBpT1MgMTIu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL0tleUV2ZW50TWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6d2luZG93c0tleUNvZGVGb3JDaGFyQ29kZSk6IEFkZGVkLgorCiAyMDE4LTA5LTI0ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBLZXkgY29kZSBp
cyAwIGZvciBtYW55IGhhcmR3YXJlIGtleWJvYXJkIGtleXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL0tleUV2ZW50Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9LZXlFdmVudENvY29hLm1tCmluZGV4IDM1NDExOWM5M2M4YzFiMTY4OThm
NTU3MTlmZDU0NWZmMjQ0YmViNmMuLjllMWNmYWU0ZGE1OWE3NzdmYTI3MGE3MGVmMmVjYTE5NTU4
NTc1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0tleUV2ZW50
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2Nv
YS5tbQpAQCAtNDg0LDExOCArNDg0LDQgQEAgU3RyaW5nIGtleUlkZW50aWZpZXJGb3JDaGFyQ29k
ZSh1bmljaGFyIGNoYXJDb2RlKQogICAgIH0KIH0KIAotaW50IHdpbmRvd3NLZXlDb2RlRm9yQ2hh
ckNvZGUodW5pY2hhciBjaGFyQ29kZSkKLXsKLSAgICBzd2l0Y2ggKGNoYXJDb2RlKSB7Ci0jaWYg
UExBVEZPUk0oSU9TKQotICAgICAgICBjYXNlIDg6IGNhc2UgMHg3RjogcmV0dXJuIFZLX0JBQ0s7
Ci0gICAgICAgIGNhc2UgOTogcmV0dXJuIFZLX1RBQjsKLSAgICAgICAgY2FzZSAweEQ6IGNhc2Ug
MzogcmV0dXJuIFZLX1JFVFVSTjsKLSAgICAgICAgY2FzZSAweDFCOiByZXR1cm4gVktfRVNDQVBF
OwotICAgICAgICBjYXNlICcgJzogcmV0dXJuIFZLX1NQQUNFOwotICAgICAgICBjYXNlIE5TSG9t
ZUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfSE9NRTsKLSAgICAgICAgY2FzZSBOU0VuZEZ1bmN0aW9u
S2V5OiByZXR1cm4gVktfRU5EOwotICAgICAgICBjYXNlIE5TUGFnZVVwRnVuY3Rpb25LZXk6IHJl
dHVybiBWS19QUklPUjsKLSAgICAgICAgY2FzZSBOU1BhZ2VEb3duRnVuY3Rpb25LZXk6IHJldHVy
biBWS19ORVhUOwotICAgICAgICBjYXNlIE5TVXBBcnJvd0Z1bmN0aW9uS2V5OiByZXR1cm4gVktf
VVA7Ci0gICAgICAgIGNhc2UgTlNEb3duQXJyb3dGdW5jdGlvbktleTogcmV0dXJuIFZLX0RPV047
Ci0gICAgICAgIGNhc2UgTlNMZWZ0QXJyb3dGdW5jdGlvbktleTogcmV0dXJuIFZLX0xFRlQ7Ci0g
ICAgICAgIGNhc2UgTlNSaWdodEFycm93RnVuY3Rpb25LZXk6IHJldHVybiBWS19SSUdIVDsKLSAg
ICAgICAgY2FzZSBOU0RlbGV0ZUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfREVMRVRFOwotCi0gICAg
ICAgIGNhc2UgJzAnOiBjYXNlICcpJzogcmV0dXJuIFZLXzA7Ci0gICAgICAgIGNhc2UgJzEnOiBj
YXNlICchJzogcmV0dXJuIFZLXzE7Ci0gICAgICAgIGNhc2UgJzInOiBjYXNlICdAJzogcmV0dXJu
IFZLXzI7Ci0gICAgICAgIGNhc2UgJzMnOiBjYXNlICcjJzogcmV0dXJuIFZLXzM7Ci0gICAgICAg
IGNhc2UgJzQnOiBjYXNlICckJzogcmV0dXJuIFZLXzQ7Ci0gICAgICAgIGNhc2UgJzUnOiBjYXNl
ICclJzogcmV0dXJuIFZLXzU7Ci0gICAgICAgIGNhc2UgJzYnOiBjYXNlICdeJzogcmV0dXJuIFZL
XzY7Ci0gICAgICAgIGNhc2UgJzcnOiBjYXNlICcmJzogcmV0dXJuIFZLXzc7Ci0gICAgICAgIGNh
c2UgJzgnOiBjYXNlICcqJzogcmV0dXJuIFZLXzg7Ci0gICAgICAgIGNhc2UgJzknOiBjYXNlICco
JzogcmV0dXJuIFZLXzk7Ci0jZW5kaWYKLSAgICAgICAgY2FzZSAnYSc6IGNhc2UgJ0EnOiByZXR1
cm4gVktfQTsgCi0gICAgICAgIGNhc2UgJ2InOiBjYXNlICdCJzogcmV0dXJuIFZLX0I7IAotICAg
ICAgICBjYXNlICdjJzogY2FzZSAnQyc6IHJldHVybiBWS19DOyAKLSAgICAgICAgY2FzZSAnZCc6
IGNhc2UgJ0QnOiByZXR1cm4gVktfRDsgCi0gICAgICAgIGNhc2UgJ2UnOiBjYXNlICdFJzogcmV0
dXJuIFZLX0U7IAotICAgICAgICBjYXNlICdmJzogY2FzZSAnRic6IHJldHVybiBWS19GOyAKLSAg
ICAgICAgY2FzZSAnZyc6IGNhc2UgJ0cnOiByZXR1cm4gVktfRzsgCi0gICAgICAgIGNhc2UgJ2gn
OiBjYXNlICdIJzogcmV0dXJuIFZLX0g7IAotICAgICAgICBjYXNlICdpJzogY2FzZSAnSSc6IHJl
dHVybiBWS19JOyAKLSAgICAgICAgY2FzZSAnaic6IGNhc2UgJ0onOiByZXR1cm4gVktfSjsgCi0g
ICAgICAgIGNhc2UgJ2snOiBjYXNlICdLJzogcmV0dXJuIFZLX0s7IAotICAgICAgICBjYXNlICds
JzogY2FzZSAnTCc6IHJldHVybiBWS19MOyAKLSAgICAgICAgY2FzZSAnbSc6IGNhc2UgJ00nOiBy
ZXR1cm4gVktfTTsgCi0gICAgICAgIGNhc2UgJ24nOiBjYXNlICdOJzogcmV0dXJuIFZLX047IAot
ICAgICAgICBjYXNlICdvJzogY2FzZSAnTyc6IHJldHVybiBWS19POyAKLSAgICAgICAgY2FzZSAn
cCc6IGNhc2UgJ1AnOiByZXR1cm4gVktfUDsgCi0gICAgICAgIGNhc2UgJ3EnOiBjYXNlICdRJzog
cmV0dXJuIFZLX1E7IAotICAgICAgICBjYXNlICdyJzogY2FzZSAnUic6IHJldHVybiBWS19SOyAK
LSAgICAgICAgY2FzZSAncyc6IGNhc2UgJ1MnOiByZXR1cm4gVktfUzsgCi0gICAgICAgIGNhc2Ug
J3QnOiBjYXNlICdUJzogcmV0dXJuIFZLX1Q7IAotICAgICAgICBjYXNlICd1JzogY2FzZSAnVSc6
IHJldHVybiBWS19VOyAKLSAgICAgICAgY2FzZSAndic6IGNhc2UgJ1YnOiByZXR1cm4gVktfVjsg
Ci0gICAgICAgIGNhc2UgJ3cnOiBjYXNlICdXJzogcmV0dXJuIFZLX1c7IAotICAgICAgICBjYXNl
ICd4JzogY2FzZSAnWCc6IHJldHVybiBWS19YOyAKLSAgICAgICAgY2FzZSAneSc6IGNhc2UgJ1kn
OiByZXR1cm4gVktfWTsgCi0gICAgICAgIGNhc2UgJ3onOiBjYXNlICdaJzogcmV0dXJuIFZLX1o7
IAotCi0gICAgICAgIC8vIEFwcEtpdCBnZW5lcmF0ZXMgVW5pY29kZSBQVUEgY2hhcmFjdGVyIGNv
ZGVzIGZvciBzb21lIGZ1bmN0aW9uIGtleXM7IHVzaW5nIHRoZXNlIHdoZW4ga2V5IGNvZGUgaXMg
bm90IGtub3duLgotICAgICAgICBjYXNlIE5TUGF1c2VGdW5jdGlvbktleTogcmV0dXJuIFZLX1BB
VVNFOwotICAgICAgICBjYXNlIE5TU2VsZWN0RnVuY3Rpb25LZXk6IHJldHVybiBWS19TRUxFQ1Q7
Ci0gICAgICAgIGNhc2UgTlNQcmludEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfUFJJTlQ7Ci0gICAg
ICAgIGNhc2UgTlNFeGVjdXRlRnVuY3Rpb25LZXk6IHJldHVybiBWS19FWEVDVVRFOwotICAgICAg
ICBjYXNlIE5TUHJpbnRTY3JlZW5GdW5jdGlvbktleTogcmV0dXJuIFZLX1NOQVBTSE9UOwotI2lm
IFBMQVRGT1JNKElPUykKLSAgICAgICAgY2FzZSBOU0luc2VydEZ1bmN0aW9uS2V5OiBjYXNlIE5T
SGVscEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfSU5TRVJUOwotCi0gICAgICAgIGNhc2UgTlNGMUZ1
bmN0aW9uS2V5OiByZXR1cm4gVktfRjE7Ci0gICAgICAgIGNhc2UgTlNGMkZ1bmN0aW9uS2V5OiBy
ZXR1cm4gVktfRjI7Ci0gICAgICAgIGNhc2UgTlNGM0Z1bmN0aW9uS2V5OiByZXR1cm4gVktfRjM7
Ci0gICAgICAgIGNhc2UgTlNGNEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjQ7Ci0gICAgICAgIGNh
c2UgTlNGNUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjU7Ci0gICAgICAgIGNhc2UgTlNGNkZ1bmN0
aW9uS2V5OiByZXR1cm4gVktfRjY7Ci0gICAgICAgIGNhc2UgTlNGN0Z1bmN0aW9uS2V5OiByZXR1
cm4gVktfRjc7Ci0gICAgICAgIGNhc2UgTlNGOEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjg7Ci0g
ICAgICAgIGNhc2UgTlNGOUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjk7Ci0gICAgICAgIGNhc2Ug
TlNGMTBGdW5jdGlvbktleTogcmV0dXJuIFZLX0YxMDsKLSAgICAgICAgY2FzZSBOU0YxMUZ1bmN0
aW9uS2V5OiByZXR1cm4gVktfRjExOwotICAgICAgICBjYXNlIE5TRjEyRnVuY3Rpb25LZXk6IHJl
dHVybiBWS19GMTI7Ci0gICAgICAgIGNhc2UgTlNGMTNGdW5jdGlvbktleTogcmV0dXJuIFZLX0Yx
MzsKLSAgICAgICAgY2FzZSBOU0YxNEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjE0OwotICAgICAg
ICBjYXNlIE5TRjE1RnVuY3Rpb25LZXk6IHJldHVybiBWS19GMTU7Ci0gICAgICAgIGNhc2UgTlNG
MTZGdW5jdGlvbktleTogcmV0dXJuIFZLX0YxNjsKLSAgICAgICAgY2FzZSBOU0YxN0Z1bmN0aW9u
S2V5OiByZXR1cm4gVktfRjE3OwotICAgICAgICBjYXNlIE5TRjE4RnVuY3Rpb25LZXk6IHJldHVy
biBWS19GMTg7Ci0gICAgICAgIGNhc2UgTlNGMTlGdW5jdGlvbktleTogcmV0dXJuIFZLX0YxOTsK
LSAgICAgICAgY2FzZSBOU0YyMEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjIwOwotI2Vsc2UKLSAg
ICAgICAgY2FzZSBOU0luc2VydEZ1bmN0aW9uS2V5OiByZXR1cm4gVktfSU5TRVJUOwotI2VuZGlm
Ci0gICAgICAgIGNhc2UgTlNGMjFGdW5jdGlvbktleTogcmV0dXJuIFZLX0YyMTsKLSAgICAgICAg
Y2FzZSBOU0YyMkZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRjIyOwotICAgICAgICBjYXNlIE5TRjIz
RnVuY3Rpb25LZXk6IHJldHVybiBWS19GMjM7Ci0gICAgICAgIGNhc2UgTlNGMjRGdW5jdGlvbktl
eTogcmV0dXJuIFZLX0YyNDsKLSAgICAgICAgY2FzZSBOU1Njcm9sbExvY2tGdW5jdGlvbktleTog
cmV0dXJuIFZLX1NDUk9MTDsKLQotICAgICAgICAvLyBUaGlzIGlzIGZvciBVLlMuIGtleWJvYXJk
IG1hcHBpbmcsIGFuZCBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1ha2Ugc2Vuc2UgZm9yIGRpZmZlcmVu
dCBrZXlib2FyZCBsYXlvdXRzLgotICAgICAgICAvLyBGb3IgZXhhbXBsZSwgJyInIG9uIFdpbmRv
d3MgUnVzc2lhbiBsYXlvdXQgaXMgVktfMiwgbm90IFZLX09FTV83LgotICAgICAgICBjYXNlICc7
JzogY2FzZSAnOic6IHJldHVybiBWS19PRU1fMTsgCi0gICAgICAgIGNhc2UgJz0nOiBjYXNlICcr
JzogcmV0dXJuIFZLX09FTV9QTFVTOyAKLSAgICAgICAgY2FzZSAnLCc6IGNhc2UgJzwnOiByZXR1
cm4gVktfT0VNX0NPTU1BOyAKLSAgICAgICAgY2FzZSAnLSc6IGNhc2UgJ18nOiByZXR1cm4gVktf
T0VNX01JTlVTOyAKLSAgICAgICAgY2FzZSAnLic6IGNhc2UgJz4nOiByZXR1cm4gVktfT0VNX1BF
UklPRDsgCi0gICAgICAgIGNhc2UgJy8nOiBjYXNlICc/JzogcmV0dXJuIFZLX09FTV8yOyAKLSAg
ICAgICAgY2FzZSAnYCc6IGNhc2UgJ34nOiByZXR1cm4gVktfT0VNXzM7IAotICAgICAgICBjYXNl
ICdbJzogY2FzZSAneyc6IHJldHVybiBWS19PRU1fNDsgCi0gICAgICAgIGNhc2UgJ1xcJzogY2Fz
ZSAnfCc6IHJldHVybiBWS19PRU1fNTsgCi0gICAgICAgIGNhc2UgJ10nOiBjYXNlICd9JzogcmV0
dXJuIFZLX09FTV82OyAKLSAgICAgICAgY2FzZSAnXCcnOiBjYXNlICciJzogcmV0dXJuIFZLX09F
TV83OyAKLQotICAgIH0KLQotICAgIHJldHVybiAwOwotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvS2V5RXZlbnRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvS2V5RXZlbnRJT1MubW0KaW5kZXggMzA0ZTlmN2Y3ODY1NDU2ODE0MGZhZjIw
YzY2NGY5MjBiZWM3N2ZlMi4uYWNiOGJhMWZiNzg3NTk5OTY3ZDZhNmNhY2UzOTk2MDllMzgwMzQ0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0tleUV2ZW50SU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9LZXlFdmVudElPUy5tbQpAQCAtMTk2
LDYgKzE5Niw2OSBAQCBpbnQgd2luZG93c0tleUNvZGVGb3JLZXlDb2RlKHVpbnQxNl90IGtleUNv
ZGUpCiAgICAgcmV0dXJuIDA7IC8vIFVua25vd24ga2V5CiB9CiAKK2ludCB3aW5kb3dzS2V5Q29k
ZUZvckNoYXJDb2RlKHVuaWNoYXIgY2hhckNvZGUpCit7CisgICAgc3dpdGNoIChjaGFyQ29kZSkg
eworICAgIGNhc2UgODogY2FzZSAweDdGOiByZXR1cm4gVktfQkFDSzsKKyAgICBjYXNlIDk6IHJl
dHVybiBWS19UQUI7CisgICAgY2FzZSAweEQ6IGNhc2UgMzogcmV0dXJuIFZLX1JFVFVSTjsKKyAg
ICBjYXNlIDB4MUI6IHJldHVybiBWS19FU0NBUEU7CisgICAgY2FzZSAnICc6IHJldHVybiBWS19T
UEFDRTsKKworICAgIGNhc2UgJzAnOiBjYXNlICcpJzogcmV0dXJuIFZLXzA7CisgICAgY2FzZSAn
MSc6IGNhc2UgJyEnOiByZXR1cm4gVktfMTsKKyAgICBjYXNlICcyJzogY2FzZSAnQCc6IHJldHVy
biBWS18yOworICAgIGNhc2UgJzMnOiBjYXNlICcjJzogcmV0dXJuIFZLXzM7CisgICAgY2FzZSAn
NCc6IGNhc2UgJyQnOiByZXR1cm4gVktfNDsKKyAgICBjYXNlICc1JzogY2FzZSAnJSc6IHJldHVy
biBWS181OworICAgIGNhc2UgJzYnOiBjYXNlICdeJzogcmV0dXJuIFZLXzY7CisgICAgY2FzZSAn
Nyc6IGNhc2UgJyYnOiByZXR1cm4gVktfNzsKKyAgICBjYXNlICc4JzogY2FzZSAnKic6IHJldHVy
biBWS184OworICAgIGNhc2UgJzknOiBjYXNlICcoJzogcmV0dXJuIFZLXzk7CisgICAgY2FzZSAn
YSc6IGNhc2UgJ0EnOiByZXR1cm4gVktfQTsKKyAgICBjYXNlICdiJzogY2FzZSAnQic6IHJldHVy
biBWS19COworICAgIGNhc2UgJ2MnOiBjYXNlICdDJzogcmV0dXJuIFZLX0M7CisgICAgY2FzZSAn
ZCc6IGNhc2UgJ0QnOiByZXR1cm4gVktfRDsKKyAgICBjYXNlICdlJzogY2FzZSAnRSc6IHJldHVy
biBWS19FOworICAgIGNhc2UgJ2YnOiBjYXNlICdGJzogcmV0dXJuIFZLX0Y7CisgICAgY2FzZSAn
Zyc6IGNhc2UgJ0cnOiByZXR1cm4gVktfRzsKKyAgICBjYXNlICdoJzogY2FzZSAnSCc6IHJldHVy
biBWS19IOworICAgIGNhc2UgJ2knOiBjYXNlICdJJzogcmV0dXJuIFZLX0k7CisgICAgY2FzZSAn
aic6IGNhc2UgJ0onOiByZXR1cm4gVktfSjsKKyAgICBjYXNlICdrJzogY2FzZSAnSyc6IHJldHVy
biBWS19LOworICAgIGNhc2UgJ2wnOiBjYXNlICdMJzogcmV0dXJuIFZLX0w7CisgICAgY2FzZSAn
bSc6IGNhc2UgJ00nOiByZXR1cm4gVktfTTsKKyAgICBjYXNlICduJzogY2FzZSAnTic6IHJldHVy
biBWS19OOworICAgIGNhc2UgJ28nOiBjYXNlICdPJzogcmV0dXJuIFZLX087CisgICAgY2FzZSAn
cCc6IGNhc2UgJ1AnOiByZXR1cm4gVktfUDsKKyAgICBjYXNlICdxJzogY2FzZSAnUSc6IHJldHVy
biBWS19ROworICAgIGNhc2UgJ3InOiBjYXNlICdSJzogcmV0dXJuIFZLX1I7CisgICAgY2FzZSAn
cyc6IGNhc2UgJ1MnOiByZXR1cm4gVktfUzsKKyAgICBjYXNlICd0JzogY2FzZSAnVCc6IHJldHVy
biBWS19UOworICAgIGNhc2UgJ3UnOiBjYXNlICdVJzogcmV0dXJuIFZLX1U7CisgICAgY2FzZSAn
dic6IGNhc2UgJ1YnOiByZXR1cm4gVktfVjsKKyAgICBjYXNlICd3JzogY2FzZSAnVyc6IHJldHVy
biBWS19XOworICAgIGNhc2UgJ3gnOiBjYXNlICdYJzogcmV0dXJuIFZLX1g7CisgICAgY2FzZSAn
eSc6IGNhc2UgJ1knOiByZXR1cm4gVktfWTsKKyAgICBjYXNlICd6JzogY2FzZSAnWic6IHJldHVy
biBWS19aOworCisgICAgLy8gVGhpcyBpcyBmb3IgVS5TLiBrZXlib2FyZCBtYXBwaW5nLCBhbmQg
ZG9lc24ndCBuZWNlc3NhcmlseSBtYWtlIHNlbnNlIGZvciBkaWZmZXJlbnQga2V5Ym9hcmQgbGF5
b3V0cy4KKyAgICAvLyBGb3IgZXhhbXBsZSwgJyInIG9uIFdpbmRvd3MgUnVzc2lhbiBsYXlvdXQg
aXMgVktfMiwgbm90IFZLX09FTV83LgorICAgIGNhc2UgJzsnOiBjYXNlICc6JzogcmV0dXJuIFZL
X09FTV8xOworICAgIGNhc2UgJz0nOiBjYXNlICcrJzogcmV0dXJuIFZLX09FTV9QTFVTOworICAg
IGNhc2UgJywnOiBjYXNlICc8JzogcmV0dXJuIFZLX09FTV9DT01NQTsKKyAgICBjYXNlICctJzog
Y2FzZSAnXyc6IHJldHVybiBWS19PRU1fTUlOVVM7CisgICAgY2FzZSAnLic6IGNhc2UgJz4nOiBy
ZXR1cm4gVktfT0VNX1BFUklPRDsKKyAgICBjYXNlICcvJzogY2FzZSAnPyc6IHJldHVybiBWS19P
RU1fMjsKKyAgICBjYXNlICdgJzogY2FzZSAnfic6IHJldHVybiBWS19PRU1fMzsKKyAgICBjYXNl
ICdbJzogY2FzZSAneyc6IHJldHVybiBWS19PRU1fNDsKKyAgICBjYXNlICdcXCc6IGNhc2UgJ3wn
OiByZXR1cm4gVktfT0VNXzU7CisgICAgY2FzZSAnXSc6IGNhc2UgJ30nOiByZXR1cm4gVktfT0VN
XzY7CisgICAgY2FzZSAnXCcnOiBjYXNlICciJzogcmV0dXJuIFZLX09FTV83OworICAgIH0KKyAg
ICByZXR1cm4gMDsKK30KKwogdm9pZCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OmRpc2FtYmlndWF0
ZUtleURvd25FdmVudChUeXBlIHR5cGUsIGJvb2wgYmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSkK
IHsKICAgICAvLyBDYW4gb25seSBjaGFuZ2UgdHlwZSBmcm9tIEtleURvd24gdG8gUmF3S2V5RG93
biBvciBDaGFyLCBhcyB3ZSBsYWNrIGluZm9ybWF0aW9uIGZvciBvdGhlciBjb252ZXJzaW9ucy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9LZXlFdmVudE1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9LZXlFdmVudE1hYy5tbQppbmRleCBjNDI4MmZk
MzQzOTA0ZjgyMDhkNDkwZTZkNWQzNTlmNzU4MTIxMmFkLi43NDA1ODc0NmZlZmNmMmFjMGZkMDEz
Mjg5YjZmMzdiMzhiMTM3ZGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvS2V5RXZlbnRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0tleUV2
ZW50TWFjLm1tCkBAIC0xNzIsNiArMTcyLDY2IEBAIGludCB3aW5kb3dzS2V5Q29kZUZvcktleUNv
ZGUodWludDE2X3Qga2V5Q29kZSkKICAgICByZXR1cm4gMDsKIH0KIAoraW50IHdpbmRvd3NLZXlD
b2RlRm9yQ2hhckNvZGUodW5pY2hhciBjaGFyQ29kZSkKK3sKKyAgICBzd2l0Y2ggKGNoYXJDb2Rl
KSB7CisgICAgY2FzZSAnYSc6IGNhc2UgJ0EnOiByZXR1cm4gVktfQTsKKyAgICBjYXNlICdiJzog
Y2FzZSAnQic6IHJldHVybiBWS19COworICAgIGNhc2UgJ2MnOiBjYXNlICdDJzogcmV0dXJuIFZL
X0M7CisgICAgY2FzZSAnZCc6IGNhc2UgJ0QnOiByZXR1cm4gVktfRDsKKyAgICBjYXNlICdlJzog
Y2FzZSAnRSc6IHJldHVybiBWS19FOworICAgIGNhc2UgJ2YnOiBjYXNlICdGJzogcmV0dXJuIFZL
X0Y7CisgICAgY2FzZSAnZyc6IGNhc2UgJ0cnOiByZXR1cm4gVktfRzsKKyAgICBjYXNlICdoJzog
Y2FzZSAnSCc6IHJldHVybiBWS19IOworICAgIGNhc2UgJ2knOiBjYXNlICdJJzogcmV0dXJuIFZL
X0k7CisgICAgY2FzZSAnaic6IGNhc2UgJ0onOiByZXR1cm4gVktfSjsKKyAgICBjYXNlICdrJzog
Y2FzZSAnSyc6IHJldHVybiBWS19LOworICAgIGNhc2UgJ2wnOiBjYXNlICdMJzogcmV0dXJuIFZL
X0w7CisgICAgY2FzZSAnbSc6IGNhc2UgJ00nOiByZXR1cm4gVktfTTsKKyAgICBjYXNlICduJzog
Y2FzZSAnTic6IHJldHVybiBWS19OOworICAgIGNhc2UgJ28nOiBjYXNlICdPJzogcmV0dXJuIFZL
X087CisgICAgY2FzZSAncCc6IGNhc2UgJ1AnOiByZXR1cm4gVktfUDsKKyAgICBjYXNlICdxJzog
Y2FzZSAnUSc6IHJldHVybiBWS19ROworICAgIGNhc2UgJ3InOiBjYXNlICdSJzogcmV0dXJuIFZL
X1I7CisgICAgY2FzZSAncyc6IGNhc2UgJ1MnOiByZXR1cm4gVktfUzsKKyAgICBjYXNlICd0Jzog
Y2FzZSAnVCc6IHJldHVybiBWS19UOworICAgIGNhc2UgJ3UnOiBjYXNlICdVJzogcmV0dXJuIFZL
X1U7CisgICAgY2FzZSAndic6IGNhc2UgJ1YnOiByZXR1cm4gVktfVjsKKyAgICBjYXNlICd3Jzog
Y2FzZSAnVyc6IHJldHVybiBWS19XOworICAgIGNhc2UgJ3gnOiBjYXNlICdYJzogcmV0dXJuIFZL
X1g7CisgICAgY2FzZSAneSc6IGNhc2UgJ1knOiByZXR1cm4gVktfWTsKKyAgICBjYXNlICd6Jzog
Y2FzZSAnWic6IHJldHVybiBWS19aOworCisgICAgLy8gQXBwS2l0IGdlbmVyYXRlcyBVbmljb2Rl
IFBVQSBjaGFyYWN0ZXIgY29kZXMgZm9yIHNvbWUgZnVuY3Rpb24ga2V5czsgdXNpbmcgdGhlc2Ug
d2hlbiBrZXkgY29kZSBpcyBub3Qga25vd24uCisgICAgY2FzZSBOU1BhdXNlRnVuY3Rpb25LZXk6
IHJldHVybiBWS19QQVVTRTsKKyAgICBjYXNlIE5TU2VsZWN0RnVuY3Rpb25LZXk6IHJldHVybiBW
S19TRUxFQ1Q7CisgICAgY2FzZSBOU1ByaW50RnVuY3Rpb25LZXk6IHJldHVybiBWS19QUklOVDsK
KyAgICBjYXNlIE5TRXhlY3V0ZUZ1bmN0aW9uS2V5OiByZXR1cm4gVktfRVhFQ1VURTsKKyAgICBj
YXNlIE5TUHJpbnRTY3JlZW5GdW5jdGlvbktleTogcmV0dXJuIFZLX1NOQVBTSE9UOworICAgIGNh
c2UgTlNJbnNlcnRGdW5jdGlvbktleTogcmV0dXJuIFZLX0lOU0VSVDsKKyAgICBjYXNlIE5TRjIx
RnVuY3Rpb25LZXk6IHJldHVybiBWS19GMjE7CisgICAgY2FzZSBOU0YyMkZ1bmN0aW9uS2V5OiBy
ZXR1cm4gVktfRjIyOworICAgIGNhc2UgTlNGMjNGdW5jdGlvbktleTogcmV0dXJuIFZLX0YyMzsK
KyAgICBjYXNlIE5TRjI0RnVuY3Rpb25LZXk6IHJldHVybiBWS19GMjQ7CisgICAgY2FzZSBOU1Nj
cm9sbExvY2tGdW5jdGlvbktleTogcmV0dXJuIFZLX1NDUk9MTDsKKworICAgIC8vIFRoaXMgaXMg
Zm9yIFUuUy4ga2V5Ym9hcmQgbWFwcGluZywgYW5kIGRvZXNuJ3QgbmVjZXNzYXJpbHkgbWFrZSBz
ZW5zZSBmb3IgZGlmZmVyZW50IGtleWJvYXJkIGxheW91dHMuCisgICAgLy8gRm9yIGV4YW1wbGUs
ICciJyBvbiBXaW5kb3dzIFJ1c3NpYW4gbGF5b3V0IGlzIFZLXzIsIG5vdCBWS19PRU1fNy4KKyAg
ICBjYXNlICc7JzogY2FzZSAnOic6IHJldHVybiBWS19PRU1fMTsKKyAgICBjYXNlICc9JzogY2Fz
ZSAnKyc6IHJldHVybiBWS19PRU1fUExVUzsKKyAgICBjYXNlICcsJzogY2FzZSAnPCc6IHJldHVy
biBWS19PRU1fQ09NTUE7CisgICAgY2FzZSAnLSc6IGNhc2UgJ18nOiByZXR1cm4gVktfT0VNX01J
TlVTOworICAgIGNhc2UgJy4nOiBjYXNlICc+JzogcmV0dXJuIFZLX09FTV9QRVJJT0Q7CisgICAg
Y2FzZSAnLyc6IGNhc2UgJz8nOiByZXR1cm4gVktfT0VNXzI7CisgICAgY2FzZSAnYCc6IGNhc2Ug
J34nOiByZXR1cm4gVktfT0VNXzM7CisgICAgY2FzZSAnWyc6IGNhc2UgJ3snOiByZXR1cm4gVktf
T0VNXzQ7CisgICAgY2FzZSAnXFwnOiBjYXNlICd8JzogcmV0dXJuIFZLX09FTV81OworICAgIGNh
c2UgJ10nOiBjYXNlICd9JzogcmV0dXJuIFZLX09FTV82OworICAgIGNhc2UgJ1wnJzogY2FzZSAn
Iic6IHJldHVybiBWS19PRU1fNzsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQgUGxh
dGZvcm1LZXlib2FyZEV2ZW50OjpkaXNhbWJpZ3VhdGVLZXlEb3duRXZlbnQoVHlwZSB0eXBlLCBi
b29sIGJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUpCiB7CiAgICAgLy8gQ2FuIG9ubHkgY2hhbmdl
IHR5cGUgZnJvbSBLZXlEb3duIHRvIFJhd0tleURvd24gb3IgQ2hhciwgYXMgd2UgbGFjayBpbmZv
cm1hdGlvbiBmb3Igb3RoZXIgY29udmVyc2lvbnMuCg==
</data>
<flag name="review"
          id="368063"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>