code: def getquerylist(self, sep='&', encoding='utf-8', errors='strict'):
          
          if not self.query:
              return []
          elif isinstance(sep, type(self.query)):
              qsl = self.query.split(sep)
          elif isinstance(sep, bytes):
              qsl = self.query.split(sep.decode('ascii'))
          else:
              qsl = self.query.split(sep.encode('ascii'))
          items = []
          for parts in [qs.partition(self.EQ) for qs in qsl if qs]:
              name = uridecode(parts[0], encoding, errors)
              if parts[1]:
                  value = uridecode(parts[2], encoding, errors)
              else:
                  value = None
              items.append((name, value))
          return items
docs: Split the query component into individual `name=value` pairs
          separated by `sep`, and return a list of `(name, value)`
          tuples.