          return breadcrumbs_recursive(url[:url.rfind('/') + 1], breadcrumbs_list, prefix)
  
      prefix = get_script_prefix().rstrip('/')
      url = url[len(prefix):]
      return breadcrumbs_recursive(url, [], prefix)
 
</s> remove         return breadcrumbs_recursive(url[:url.rfind('/') + 1], breadcrumbs_list, prefix)
 </s> add         return breadcrumbs_recursive(url[:url.rfind('/') + 1], breadcrumbs_list, prefix, seen) </s> remove             return breadcrumbs_recursive(url.rstrip('/'), breadcrumbs_list, prefix)
 </s> add             return breadcrumbs_recursive(url.rstrip('/'), breadcrumbs_list, prefix, seen) </s> remove     def breadcrumbs_recursive(url, breadcrumbs_list, prefix):
 </s> add     def breadcrumbs_recursive(url, breadcrumbs_list, prefix, seen): </s> remove                 breadcrumbs_list.insert(0, (view.cls_instance.get_name(), prefix + url))
 </s> add                 # Don't list the same view twice in a row.
                # Probably an optional trailing slash.
                if not seen or seen[-1] != view:
                    breadcrumbs_list.insert(0, (view.cls_instance.get_name(), prefix + url))
                    seen.append(view)
    return breadcrumbs_recursive(url, [], prefix, [])
          return breadcrumbs_recursive(url[:url.rfind('/') + 1], breadcrumbs_list, prefix)
  
      prefix = get_script_prefix().rstrip('/')
      url = url[len(prefix):]
    return breadcrumbs_recursive(url, [], prefix, [])
keep keep keep keep replace
 Fix repeated breadcrumbs when optional trailing slash is used 
rest_framework/utils/breadcrumbs.py