class_docstr: Implementation of ZAP authentication for zmq connections.
  
  Note:
  
  - libzmq provides four levels of security: default NULL (which the Authenticator does
    not see), and authenticated NULL, PLAIN, CURVE, and GSSAPI, which the Authenticator can see.
  - until you add policies, all incoming NULL connections are allowed.
    (classic ZeroMQ behavior), and all PLAIN and CURVE connections are denied.
  - GSSAPI requires no configuration.
docstr: Configure PLAIN authentication for a given domain.
  
  PLAIN authentication uses a plain-text password file.
  To cover all domains, use "*".
  You can modify the password file at any time; it is reloaded automatically.
docstr_tok: ["Configure","PLAIN","authentication","for","a","given","domain",".","PLAIN","authentication","uses","a","plain-text","password","file",".","To","cover","all","domains",",","use","``","*","''",".","You","can","modify","the","password","file","at","any","time",";","it","is","reloaded","automatically","."]
code: def configure_plain(self, domain="*", passwords=None):
      """Configure PLAIN authentication for a given domain.
  
      PLAIN authentication uses a plain-text password file.
      To cover all domains, use "*".
      You can modify the password file at any time; it is reloaded automatically.
      """
      if passwords:
          self.passwords[domain] = passwords
      self.log.debug("Configure plain: %s", domain)
  
imports: import logging
  import zmq
  from zmq.utils import z85
  from zmq.utils.strtypes import bytes, unicode, b, u
  from zmq.error import _check_version
  from .certs import load_certificates
label_desc: Use image node_id 6 for calling the Authenticator obj's underlying member method code with example usage: obj.configure_plain(domain, passwords) without return types