class_docstr: Helper object that allows to configure `characters` strategy with
  various unicode categories and characters. Also allows negation of
  configured set.
  
  :param negate: If True, configure :func:`hypothesis.strategies.characters`
      to match anything other than configured character set
  :param flags: Regex flags. They affect how and which characters are matched
docstr: Returns resulting strategy that generates configured char set.
docstr_tok: ["Returns","resulting","strategy","that","generates","configured","char","set","."]
code: def strategy(self):
      """Returns resulting strategy that generates configured char set."""
      max_codepoint = None if self._unicode else 127
      if self._negate:
          black_chars = self._blacklist_chars - self._whitelist_chars
          return st.characters(
              blacklist_categories=self._categories | {"Cc", "Cs"},
              blacklist_characters=self._whitelist_chars,
              whitelist_characters=black_chars,
              max_codepoint=max_codepoint,
          )
      white_chars = self._whitelist_chars - self._blacklist_chars
      return st.characters(
          whitelist_categories=self._categories,
          blacklist_characters=self._blacklist_chars,
          whitelist_characters=white_chars,
          max_codepoint=max_codepoint,
      )
  
imports: from __future__ import absolute_import, division, print_function
  import operator
  import re
  import sre_constants
  import sre_parse
  import sys
  import hypothesis.strategies
  from hypothesis import reject
  from hypothesis.internal.charmap import as_general_categories, categories
  from hypothesis.internal.compat import PY3, hrange, hunichr, int_to_byte, text_type
label_desc: Use image node_id 2 for calling the CharactersBuilder obj's underlying member method code with example usage: obj.strategy() and returns: st, st