'A dictionary of the current query parameters.
Keys and values pulled from the original url are un-url-escaped.
Modifying this function\'s return value will result in changes to the
unparse()-d url, but it\'s recommended instead to make any changes via
`update_query()`.'

@property
def query_dict(self):

    if (self._query_dict is None):
        def _split(param):
            p = param.split('=')
            return (unquote_plus(p[0]), unquote_plus('='.join(p[1:])))
        self._query_dict = OrderedDict((_split(p) for p in self.query.split('&') if p))
    return self._query_dict
