class_docstr: The sandboxed environment.  It works like the regular environment but
  tells the compiler to generate sandboxed code.  Additionally subclasses of
  this environment may override the methods that tell the runtime what
  attributes or functions are safe to access.
  
  If the template tries to access insecure code a :exc:`SecurityError` is
  raised.  However also other exceptions may occur during the rendering so
  the caller has to ensure that all exceptions are caught.
class_docstr_tok: ["The","sandboxed","environment",".","It","works","like","the","regular","environment","but","tells","the","compiler","to","generate","sandboxed","code",".","Additionally","subclasses","of","this","environment","may","override","the","methods","that","tell","the","runtime","what","attributes","or","functions","are","safe","to","access",".","If","the","template","tries","to","access","insecure","code","a",":","exc",":","`","SecurityError","`","is","raised",".","However","also","other","exceptions","may","occur","during","the","rendering","so","the","caller","has","to","ensure","that","all","exceptions","are","caught","."]
code: def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
      super().__init__(*args, **kwargs)
      self.globals["range"] = safe_range
      self.binop_table = self.default_binop_table.copy()
      self.unop_table = self.default_unop_table.copy()
  
imports: import operator
  import types
  import typing
  from _string import formatter_field_name_split
  from collections import abc
  from collections import deque
  from string import Formatter
  from markupsafe import EscapeFormatter
  from markupsafe import Markup
  from .environment import Environment
  from .exceptions import SecurityError
  from .runtime import Context
  from .runtime import Undefined
label_desc: Use image node_id 1 to create a new SandboxedEnvironment object from inherited base classes: Environment with example: obj = SandboxedEnvironment()