# Path: elasticmagic/compat.py
# PY2 = sys.version_info[0] == 2
# def force_unicode(value):
# def with_metaclass(meta, *bases):
#         def __new__(cls, name, this_bases, d):
#     class metaclass(meta):


from functools import wraps
from itertools import chain
from .compat import Iterable, Mapping



def _with_clone(fn):
    @wraps(fn)
    def wrapper(self, *args, **kwargs):

# Path: elasticmagic/compat.py
# PY2 = sys.version_info[0] == 2
# def force_unicode(value):
# def with_metaclass(meta, *bases):
#         def __new__(cls, name, this_bases, d):
#     class metaclass(meta):


# Path: elasticmagic/util.py
from functools import wraps
from itertools import chain
from .compat import Iterable, Mapping




def _with_clone(fn):
    @wraps(fn)
    def wrapper(self, *args, **kwargs):

        clone = self.clone()