# Path: native_tags/decorators.py
# def tag(bucket, doc):
#     def wrapped(inner, **options):


import operator
from native_tags.decorators import comparison, function
def pos(a):
    return operator.pos(a)
pos = function(comparison(pos), doc=operator.pos.__doc__)
    
def pow(a, b):
    return operator.pow(a, b)
pow = function(comparison(pow), doc=operator.pow.__doc__)
    
def rshift(a, b):
    return operator.rshift(a, b)
rshift = function(comparison(rshift), doc=operator.rshift.__doc__)
    
def sub(a, b):
    return operator.sub(a, b)
sub = function(comparison(sub), doc=operator.sub.__doc__)
    
def truediv(a, b):
    return operator.truediv(a, b)
truediv = function(comparison(truediv), doc=operator.truediv.__doc__)
    
def xor(a, b):
    return operator.xor(a, b)
xor = function(comparison(xor), doc=operator.xor.__doc__)
    
# Sequence operators
    
def concat(a, b):
    return operator.concat(a, b)
concat = function(concat, doc=operator.concat.__doc__)


# Path: native_tags/decorators.py
# def tag(bucket, doc):
#     def wrapped(inner, **options):


# Path: native_tags/contrib/op.py
import operator
from native_tags.decorators import comparison, function

def pos(a):
    return operator.pos(a)
pos = function(comparison(pos), doc=operator.pos.__doc__)
    
def pow(a, b):
    return operator.pow(a, b)
pow = function(comparison(pow), doc=operator.pow.__doc__)
    
def rshift(a, b):
    return operator.rshift(a, b)
rshift = function(comparison(rshift), doc=operator.rshift.__doc__)
    
def sub(a, b):
    return operator.sub(a, b)
sub = function(comparison(sub), doc=operator.sub.__doc__)
    
def truediv(a, b):
    return operator.truediv(a, b)
truediv = function(comparison(truediv), doc=operator.truediv.__doc__)
    
def xor(a, b):
    return operator.xor(a, b)
xor = function(comparison(xor), doc=operator.xor.__doc__)
    
# Sequence operators
    
def concat(a, b):
    return operator.concat(a, b)
concat = function(concat, doc=operator.concat.__doc__)


def contains(a, b):